• About Us
  • The Value Of Tourism
  • Why Tratok?
  • Tratok Features
  • Tokenomics
  • Explore Platform →

    Dernières Actualités

    Ce qui se passe chez Tratok

    Mises à jour de la plateforme, annonces de partenariats, étapes communautaires et perspectives du secteur — directement de l’équipe qui construit l’avenir du voyage.

    Chargement du dernier article…

    Articles Récents


    Restez Informé

    Mises à jour de la plateforme, nouvelles de partenariats et étapes communautaires — livrés dans votre boîte de réception. Pas de spam, juste l’essentiel.

    C
    Carol
    Responsable Communautaire, Tratok


    /* Chargeur d’actualités Tratok v2 (paginé). Remplace le chargeur du pied de page du thème, qui est inopérant car les identifiants des conteneurs ci-dessus portent le suffixe -v2. Encapsulé en Base64 pour que les filtres de contenu WP (wpautop, entités esperluette) ne puissent pas corrompre le code. */ new Function(atob(“KGZ1bmN0aW9uKCl7CiAgdmFyIENDID0gewogICAgInBsYXRmb3JtLXVwZGF0ZXMiOiB7Ymc6ICJyZ2JhKDU5LDE4MSwxNjgsMC44NSkiLCAgdGV4dDogIiMwYzEyMjAiLCBsYWJlbDogIlBsYXRmb3JtIFVwZGF0ZSJ9LAogICAgInBsYXRmb3JtIjogICAgICAgICB7Ymc6ICJyZ2JhKDU5LDE4MSwxNjgsMC44NSkiLCAgdGV4dDogIiMwYzEyMjAiLCBsYWJlbDogIlBsYXRmb3JtIn0sCiAgICAicGFydG5lcnNoaXBzIjogICAgIHtiZzogInJnYmEoMjEyLDE2OCw4MywwLjg1KSIsICB0ZXh0OiAiIzBjMTIyMCIsIGxhYmVsOiAiUGFydG5lcnNoaXAifSwKICAgICJwYXJ0bmVyc2hpcCI6ICAgICAge2JnOiAicmdiYSgyMTIsMTY4LDgzLDAuODUpIiwgIHRleHQ6ICIjMGMxMjIwIiwgbGFiZWw6ICJQYXJ0bmVyc2hpcCJ9LAogICAgImNvbW11bml0eSI6ICAgICAgICB7Ymc6ICJyZ2JhKDIzMiw5OSw3NCwwLjg1KSIsICAgdGV4dDogIiNmMGVkZTgiLCBsYWJlbDogIkNvbW11bml0eSJ9LAogICAgInRlY2hub2xvZ3kiOiAgICAgICB7Ymc6ICJyZ2JhKDEyMCw4MCwxNjAsMC44NSkiLCAgdGV4dDogIiNmMGVkZTgiLCBsYWJlbDogIlRlY2hub2xvZ3kifSwKICAgICJ0ZWNoIjogICAgICAgICAgICAge2JnOiAicmdiYSgxMjAsODAsMTYwLDAuODUpIiwgIHRleHQ6ICIjZjBlZGU4IiwgbGFiZWw6ICJUZWNobm9sb2d5In0sCiAgICAiaW5kdXN0cnkiOiAgICAgICAgIHtiZzogInJnYmEoNTUsMTAwLDE2MCwwLjg1KSIsICB0ZXh0OiAiI2YwZWRlOCIsIGxhYmVsOiAiSW5kdXN0cnkifSwKICAgICJob3ctdG8iOiAgICAgICAgICAge2JnOiAicmdiYSg1OSwxODEsMTY4LDAuODUpIiwgIHRleHQ6ICIjMGMxMjIwIiwgbGFiZWw6ICJIb3ctVG8ifSwKICAgICJ0dXRvcmlhbCI6ICAgICAgICAge2JnOiAicmdiYSg1OSwxODEsMTY4LDAuODUpIiwgIHRleHQ6ICIjMGMxMjIwIiwgbGFiZWw6ICJUdXRvcmlhbCJ9LAogICAgInRva2Vub21pY3MiOiAgICAgICB7Ymc6ICJyZ2JhKDIxMiwxNjgsODMsMC44NSkiLCAgdGV4dDogIiMwYzEyMjAiLCBsYWJlbDogIlRva2VuIEVjb25vbWljcyJ9LAogICAgImFubm91bmNlbWVudHMiOiAgICB7Ymc6ICJyZ2JhKDIxMiwxNjgsODMsMC44NSkiLCAgdGV4dDogIiMwYzEyMjAiLCBsYWJlbDogIkFubm91bmNlbWVudCJ9LAogICAgIm5ld3MiOiAgICAgICAgICAgICB7Ymc6ICJyZ2JhKDU1LDEwMCwxNjAsMC44NSkiLCAgdGV4dDogIiNmMGVkZTgiLCBsYWJlbDogIk5ld3MifSwKICAgICJkZWZhdWx0IjogICAgICAgICAge2JnOiAicmdiYSg1OSwxODEsMTY4LDAuODUpIiwgIHRleHQ6ICIjMGMxMjIwIiwgbGFiZWw6ICJBcnRpY2xlIn0KICB9OwogIAogIHZhciBQRyA9IFsKICAgICJsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCMxMzFiMmUsIzJhM2E1YykiLAogICAgImxpbmVhci1ncmFkaWVudCgxMzVkZWcsIzFhMjU0MCwjM2JiNWE4IDE4MCUpIiwKICAgICJsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCMxMzFiMmUsI2Q0YTg1MyAyMjAlKSIsCiAgICAibGluZWFyLWdyYWRpZW50KDEzNWRlZywjMWEyNTQwLCM3ODUwQTAgMjAwJSkiLAogICAgImxpbmVhci1ncmFkaWVudCgxMzVkZWcsIzEzMWIyZSwjZTg2MzRhIDIzMCUpIiwKICAgICJsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCMxYTI1NDAsIzM3NjRBMCAyMDAlKSIKICBdOwogIAogIGZ1bmN0aW9uIHN0cmlwSHRtbChodG1sKSB7CiAgICB2YXIgdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgdC5pbm5lckhUTUwgPSBodG1sIHx8ICIiOwogICAgcmV0dXJuICh0LnRleHRDb250ZW50IHx8IHQuaW5uZXJUZXh0IHx8ICIiKS50cmltKCk7CiAgfQogIAogIGZ1bmN0aW9uIHRydW5jYXRlKHMsIG0pIHsKICAgIHMgPSBzLnJlcGxhY2UoL1xzKy9nLCAiICIpLnRyaW0oKTsKICAgIGlmIChzLmxlbmd0aCA8PSBtKSByZXR1cm4gczsKICAgIHZhciBjdXQgPSBzLnN1YnN0cigwLCBtKTsKICAgIHZhciBsYXN0U3BhY2UgPSBjdXQubGFzdEluZGV4T2YoIiAiKTsKICAgIHJldHVybiBjdXQuc3Vic3RyKDAsIGxhc3RTcGFjZSA+IDAgPyBsYXN0U3BhY2UgOiBtKSArICJcdTIwMjYiOwogIH0KICAKICBmdW5jdGlvbiBmb3JtYXREYXRlKGlzbykgewogICAgdmFyIGQgPSBuZXcgRGF0ZShpc28pOwogICAgcmV0dXJuIGQudG9Mb2NhbGVEYXRlU3RyaW5nKCJlbi1VUyIsIHt5ZWFyOiAibnVtZXJpYyIsIG1vbnRoOiAibG9uZyIsIGRheTogIm51bWVyaWMifSk7CiAgfQogIAogIGZ1bmN0aW9uIHJlYWRUaW1lKGNvbnRlbnQpIHsKICAgIHZhciB3b3JkcyA9IHN0cmlwSHRtbChjb250ZW50KS5zcGxpdCgvXHMrLykubGVuZ3RoOwogICAgcmV0dXJuIE1hdGgubWF4KDEsIE1hdGgucm91bmQod29yZHMgLyAyMDApKSArICIgbWluIHJlYWQiOwogIH0KICAKICBmdW5jdGlvbiBnZXRDYXRlZ29yeShwb3N0KSB7CiAgICB0cnkgewogICAgICB2YXIgdGVybXMgPSBwb3N0Ll9lbWJlZGRlZCAmJiBwb3N0Ll9lbWJlZGRlZFsid3A6dGVybSJdOwogICAgICBpZiAoIXRlcm1zKSByZXR1cm4gQ0NbImRlZmF1bHQiXTsKICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0ZXJtcy5sZW5ndGg7IGkrKykgewogICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgdGVybXNbaV0ubGVuZ3RoOyBqKyspIHsKICAgICAgICAgIHZhciB0ZXJtID0gdGVybXNbaV1bal07CiAgICAgICAgICBpZiAodGVybS50YXhvbm9teSA9PT0gImNhdGVnb3J5IikgewogICAgICAgICAgICB2YXIgbWF0Y2ggPSBDQ1t0ZXJtLnNsdWddOwogICAgICAgICAgICBpZiAobWF0Y2gpIHJldHVybiB7Ymc6IG1hdGNoLmJnLCB0ZXh0OiBtYXRjaC50ZXh0LCBsYWJlbDogdGVybS5uYW1lfTsKICAgICAgICAgICAgcmV0dXJuIHtiZzogQ0NbImRlZmF1bHQiXS5iZywgdGV4dDogQ0NbImRlZmF1bHQiXS50ZXh0LCBsYWJlbDogdGVybS5uYW1lfTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0gY2F0Y2goZSkge30KICAgIHJldHVybiBDQ1siZGVmYXVsdCJdOwogIH0KICAKICBmdW5jdGlvbiBnZXRJbWFnZShwb3N0LCBpZHgpIHsKICAgIHRyeSB7CiAgICAgIHZhciBtZWRpYSA9IHBvc3QuX2VtYmVkZGVkICYmIHBvc3QuX2VtYmVkZGVkWyJ3cDpmZWF0dXJlZG1lZGlhIl07CiAgICAgIGlmIChtZWRpYSAmJiBtZWRpYVswXSAmJiBtZWRpYVswXS5zb3VyY2VfdXJsKSB7CiAgICAgICAgcmV0dXJuIHt0eXBlOiAiaW1hZ2UiLCB2YWx1ZTogbWVkaWFbMF0uc291cmNlX3VybH07CiAgICAgIH0KICAgIH0gY2F0Y2goZSkge30KICAgIHJldHVybiB7dHlwZTogImdyYWRpZW50IiwgdmFsdWU6IFBHW2lkeCAlIFBHLmxlbmd0aF19OwogIH0KICAKICBmdW5jdGlvbiBpbWdTdHlsZShnKSB7CiAgICBpZiAoZy50eXBlID09PSAiaW1hZ2UiKSB7CiAgICAgIC8vIFdyYXAgVVJMIGluIHNpbmdsZSBxdW90ZXMgc28gaXQgZG9lc24ndCBjb2xsaWRlIHdpdGggdGhlIG91dGVyIHN0eWxlPSIuLi4iIGRvdWJsZSBxdW90ZXMuCiAgICAgIC8vIFVSTC1lbmNvZGUgc2luZ2xlIHF1b3RlcyBhbmQgcGFyZW5zIGluIHRoZSBVUkwgc28gdGhlIENTUyBwYXJzZXIgY2FuJ3QgYnJlYWsgb3V0IG9mIHVybCgnLi4uJykuCiAgICAgIHZhciBzYWZlVXJsID0gU3RyaW5nKGcudmFsdWUpLnJlcGxhY2UoLycvZywgIiUyNyIpLnJlcGxhY2UoL1woL2csICIlMjgiKS5yZXBsYWNlKC9cKS9nLCAiJTI5Iik7CiAgICAgIHJldHVybiAiYmFja2dyb3VuZC1pbWFnZTp1cmwoJyIgKyBzYWZlVXJsICsgIicpOyI7CiAgICB9CiAgICByZXR1cm4gImJhY2tncm91bmQ6IiArIGcudmFsdWUgKyAiOyI7CiAgfQogIAogIGZ1bmN0aW9uIGVzY0h0bWwocykgewogICAgcmV0dXJuIFN0cmluZyhzIHx8ICIiKS5yZXBsYWNlKC8mL2csICJcdTAwMjZhbXA7IikucmVwbGFjZSgvPC9nLCAiXHUwMDI2bHQ7IikucmVwbGFjZSgvPi9nLCAiXHUwMDI2Z3Q7IikucmVwbGFjZSgvIi9nLCAiXHUwMDI2cXVvdDsiKTsKICB9CiAgCiAgZnVuY3Rpb24gZXNjQXR0cihzKSB7CiAgICByZXR1cm4gU3RyaW5nKHMgfHwgIiIpLnJlcGxhY2UoLyIvZywgIlx1MDAyNnF1b3Q7IikucmVwbGFjZSgvJy9nLCAiXHUwMDI2IzM5OyIpOwogIH0KICAKICBmdW5jdGlvbiByZW5kZXJGZWF0dXJlZChwb3N0KSB7CiAgICB2YXIgdGl0bGUgPSBzdHJpcEh0bWwocG9zdC50aXRsZS5yZW5kZXJlZCk7CiAgICB2YXIgZXhjZXJwdCA9IHRydW5jYXRlKHN0cmlwSHRtbChwb3N0LmV4Y2VycHQucmVuZGVyZWQpLCAxODApOwogICAgdmFyIGRhdGUgPSBmb3JtYXREYXRlKHBvc3QuZGF0ZSk7CiAgICB2YXIgcnQgPSByZWFkVGltZShwb3N0LmNvbnRlbnQgPyBwb3N0LmNvbnRlbnQucmVuZGVyZWQgOiBwb3N0LmV4Y2VycHQucmVuZGVyZWQpOwogICAgdmFyIGNhdCA9IGdldENhdGVnb3J5KHBvc3QpOwogICAgdmFyIGltZyA9IGdldEltYWdlKHBvc3QsIDApOwogICAgdmFyIGxpbmsgPSBlc2NBdHRyKHBvc3QubGluayk7CiAgICAKICAgIHZhciBodG1sID0gJyc7CiAgICBodG1sICs9ICc8ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiMxYTI1NDA7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDIxMiwxNjgsODMsMC4xMik7Ym9yZGVyLXJhZGl1czoxNnB4O292ZXJmbG93OmhpZGRlbjttYXJnaW4tYm90dG9tOjJyZW07cG9zaXRpb246cmVsYXRpdmU7Ij4nOwogICAgaHRtbCArPSAnPGRpdiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjNweDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjZDRhODUzLCMzYmI1YTgsI2U4NjM0YSk7ei1pbmRleDoyOyI+PC9kaXY+JzsKICAgIGh0bWwgKz0gJzxkaXYgY2xhc3M9InRrLWZlYXQtcm93Ij4nOwogICAgaHRtbCArPSAnPGRpdiBjbGFzcz0idGstZmVhdC1pbWciIHN0eWxlPSInICsgaW1nU3R5bGUoaW1nKSArICciPjwvZGl2Pic7CiAgICBodG1sICs9ICc8ZGl2IGNsYXNzPSJ0ay1mZWF0LWJvZHkiPic7CiAgICBodG1sICs9ICc8ZGl2IHN0eWxlPSJkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDowLjc1cmVtO21hcmdpbi1ib3R0b206MXJlbTtmbGV4LXdyYXA6d3JhcDsiPic7CiAgICBodG1sICs9ICc8c3BhbiBzdHlsZT0iZGlzcGxheTppbmxpbmUtYmxvY2s7YmFja2dyb3VuZDpyZ2JhKDIxMiwxNjgsODMsMC4xKTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjEyLDE2OCw4MywwLjIpO2JvcmRlci1yYWRpdXM6MTAwcHg7cGFkZGluZzowLjJyZW0gMC43NXJlbTtmb250LWZhbWlseTptb25vc3BhY2U7Zm9udC1zaXplOjAuNnJlbTtsZXR0ZXItc3BhY2luZzowLjA4ZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2NvbG9yOiNkNGE4NTM7Ij5GZWF0dXJlZDwvc3Bhbj4nOwogICAgaHRtbCArPSAnPHNwYW4gc3R5bGU9ImRpc3BsYXk6aW5saW5lLWJsb2NrO2JhY2tncm91bmQ6JyArIGNhdC5iZyArICc7Y29sb3I6JyArIGNhdC50ZXh0ICsgIjtmb250LWZhbWlseTonRE0gU2Fucycsc2Fucy1zZXJpZiIgKyAnO2ZvbnQtc2l6ZTowLjY1cmVtO2ZvbnQtd2VpZ2h0OjYwMDtwYWRkaW5nOjAuMnJlbSAwLjZyZW07Ym9yZGVyLXJhZGl1czo2cHg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2xldHRlci1zcGFjaW5nOjAuMDRlbTsiPicgKyBlc2NIdG1sKGNhdC5sYWJlbCkgKyAnPC9zcGFuPic7CiAgICBodG1sICs9ICc8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6JyArICInRE0gU2Fucycsc2Fucy1zZXJpZiIgKyAnO2ZvbnQtc2l6ZTowLjc1cmVtO2NvbG9yOiM4YTk2YjA7Ij4nICsgZGF0ZSArICc8L3NwYW4+JzsKICAgIGh0bWwgKz0gJzwvZGl2Pic7CiAgICBodG1sICs9ICc8aDIgc3R5bGU9ImZvbnQtZmFtaWx5OicgKyAiJ1BsYXlmYWlyIERpc3BsYXknLEdlb3JnaWEsc2VyaWYiICsgJztmb250LXNpemU6MS40cmVtO2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojZjBlZGU4O21hcmdpbjowIDAgMC43NXJlbSAwO2xpbmUtaGVpZ2h0OjEuMzsiPic7CiAgICBodG1sICs9ICc8YSBocmVmPSInICsgbGluayArICciIHN0eWxlPSJjb2xvcjojZjBlZGU4O3RleHQtZGVjb3JhdGlvbjpub25lOyI+JyArIGVzY0h0bWwodGl0bGUpICsgJzwvYT4nOwogICAgaHRtbCArPSAnPC9oMj4nOwogICAgaHRtbCArPSAnPHAgc3R5bGU9ImZvbnQtZmFtaWx5OicgKyAiJ0RNIFNhbnMnLHNhbnMtc2VyaWYiICsgJztmb250LXNpemU6MC45cmVtO2NvbG9yOiNiOGMwZDA7bGluZS1oZWlnaHQ6MS42NTttYXJnaW46MCAwIDEuMjVyZW0gMDsiPicgKyBlc2NIdG1sKGV4Y2VycHQpICsgJzwvcD4nOwogICAgaHRtbCArPSAnPGRpdiBzdHlsZT0iZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MXJlbTsiPic7CiAgICBodG1sICs9ICc8YSBocmVmPSInICsgbGluayArICciIHN0eWxlPSJkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MC40cmVtO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZywjZDRhODUzLCNlOGMzNmEpO2NvbG9yOiMwYzEyMjA7Zm9udC1mYW1pbHk6JyArICInRE0gU2Fucycsc2Fucy1zZXJpZiIgKyAnO2ZvbnQtc2l6ZTowLjhyZW07Zm9udC13ZWlnaHQ6NjAwO3BhZGRpbmc6MC41cmVtIDEuMjVyZW07Ym9yZGVyLXJhZGl1czo4cHg7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Ij5SZWFkIE1vcmUgXHUyMTkyPC9hPic7CiAgICBodG1sICs9ICc8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6JyArICInRE0gU2Fucycsc2Fucy1zZXJpZiIgKyAnO2ZvbnQtc2l6ZTowLjc1cmVtO2NvbG9yOiM4YTk2YjA7Ij4nICsgcnQgKyAnPC9zcGFuPic7CiAgICBodG1sICs9ICc8L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj4nOwogICAgcmV0dXJuIGh0bWw7CiAgfQogIAogIGZ1bmN0aW9uIHJlbmRlckNhcmQocG9zdCwgaWR4KSB7CiAgICB2YXIgdGl0bGUgPSBzdHJpcEh0bWwocG9zdC50aXRsZS5yZW5kZXJlZCk7CiAgICB2YXIgZXhjZXJwdCA9IHRydW5jYXRlKHN0cmlwSHRtbChwb3N0LmV4Y2VycHQucmVuZGVyZWQpLCAxMTEpOwogICAgdmFyIGRhdGUgPSBmb3JtYXREYXRlKHBvc3QuZGF0ZSk7CiAgICB2YXIgY2F0ID0gZ2V0Q2F0ZWdvcnkocG9zdCk7CiAgICB2YXIgaW1nID0gZ2V0SW1hZ2UocG9zdCwgaWR4ICsgMSk7CiAgICB2YXIgbGluayA9IGVzY0F0dHIocG9zdC5saW5rKTsKICAgIAogICAgdmFyIGh0bWwgPSAnJzsKICAgIGh0bWwgKz0gJzxkaXYgc3R5bGU9ImJhY2tncm91bmQ6IzFhMjU0MDtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjEyLDE2OCw4MywwLjA4KTtib3JkZXItcmFkaXVzOjE0cHg7b3ZlcmZsb3c6aGlkZGVuOyI+JzsKICAgIGh0bWwgKz0gJzxkaXYgY2xhc3M9InRrLWNhcmQtaW1nIiBzdHlsZT0iJyArIGltZ1N0eWxlKGltZykgKyAnIj4nOwogICAgaHRtbCArPSAnPGRpdiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7dG9wOjEycHg7bGVmdDoxMnB4OyI+JzsKICAgIGh0bWwgKz0gJzxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kOicgKyBjYXQuYmcgKyAnO2NvbG9yOicgKyBjYXQudGV4dCArICc7Zm9udC1mYW1pbHk6JyArICInRE0gU2Fucycsc2Fucy1zZXJpZiIgKyAnO2ZvbnQtc2l6ZTowLjY1cmVtO2ZvbnQtd2VpZ2h0OjYwMDtwYWRkaW5nOjAuMnJlbSAwLjZyZW07Ym9yZGVyLXJhZGl1czo2cHg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2xldHRlci1zcGFjaW5nOjAuMDRlbTsiPicgKyBlc2NIdG1sKGNhdC5sYWJlbCkgKyAnPC9zcGFuPic7CiAgICBodG1sICs9ICc8L2Rpdj48L2Rpdj4nOwogICAgaHRtbCArPSAnPGRpdiBzdHlsZT0icGFkZGluZzoxLjI1cmVtIDEuNXJlbSAxLjVyZW07Ij4nOwogICAgaHRtbCArPSAnPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OicgKyAiJ0RNIFNhbnMnLHNhbnMtc2VyaWYiICsgJztmb250LXNpemU6MC43cmVtO2NvbG9yOiM4YTk2YjA7ZGlzcGxheTpibG9jazttYXJnaW4tYm90dG9tOjAuNXJlbTsiPicgKyBkYXRlICsgJzwvc3Bhbj4nOwogICAgaHRtbCArPSAnPGgzIHN0eWxlPSJmb250LWZhbWlseTonICsgIidQbGF5ZmFpciBEaXNwbGF5JyxHZW9yZ2lhLHNlcmlmIiArICc7Zm9udC1zaXplOjEuMXJlbTtmb250LXdlaWdodDo3MDA7Y29sb3I6I2YwZWRlODttYXJnaW46MCAwIDAuNnJlbSAwO2xpbmUtaGVpZ2h0OjEuMzU7Ij4nOwogICAgaHRtbCArPSAnPGEgaHJlZj0iJyArIGxpbmsgKyAnIiBzdHlsZT0iY29sb3I6I2YwZWRlODt0ZXh0LWRlY29yYXRpb246bm9uZTsiPicgKyBlc2NIdG1sKHRpdGxlKSArICc8L2E+JzsKICAgIGh0bWwgKz0gJzwvaDM+JzsKICAgIGh0bWwgKz0gJzxwIHN0eWxlPSJmb250LWZhbWlseTonICsgIidETSBTYW5zJyxzYW5zLXNlcmlmIiArICc7Zm9udC1zaXplOjAuODJyZW07Y29sb3I6IzhhOTZiMDtsaW5lLWhlaWdodDoxLjY7bWFyZ2luOjAgMCAxcmVtIDA7Ij4nICsgZXNjSHRtbChleGNlcnB0KSArICc8L3A+JzsKICAgIGh0bWwgKz0gJzxhIGhyZWY9IicgKyBsaW5rICsgJyIgc3R5bGU9ImZvbnQtZmFtaWx5OicgKyAiJ0RNIFNhbnMnLHNhbnMtc2VyaWYiICsgJztmb250LXNpemU6MC43OHJlbTtjb2xvcjojZDRhODUzO3RleHQtZGVjb3JhdGlvbjpub25lO2ZvbnQtd2VpZ2h0OjUwMDsiPlJlYWQgbW9yZSBcdTIxOTI8L2E+JzsKICAgIGh0bWwgKz0gJzwvZGl2PjwvZGl2Pic7CiAgICByZXR1cm4gaHRtbDsKICB9CiAgCiAgZnVuY3Rpb24gcmVuZGVyRXJyb3IoKSB7CiAgICByZXR1cm4gJzxkaXYgc3R5bGU9ImJhY2tncm91bmQ6IzFhMjU0MDtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjMyLDk5LDc0LDAuMik7Ym9yZGVyLXJhZGl1czoxNHB4O3BhZGRpbmc6MnJlbTt0ZXh0LWFsaWduOmNlbnRlcjtncmlkLWNvbHVtbjoxLy0xOyI+PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6JyArICInRE0gU2Fucycsc2Fucy1zZXJpZiIgKyAnO2NvbG9yOiNlODYzNGE7Zm9udC1zaXplOjAuOXJlbTttYXJnaW4tYm90dG9tOjAuNXJlbTtmb250LXdlaWdodDo2MDA7Ij5Db3VsZCBub3QgbG9hZCBhcnRpY2xlczwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OicgKyAiJ0RNIFNhbnMnLHNhbnMtc2VyaWYiICsgJztjb2xvcjojOGE5NmIwO2ZvbnQtc2l6ZTowLjgycmVtOyI+VHJ5IHJlZnJlc2hpbmcgdGhlIHBhZ2UsIG9yIHZpc2l0IHRoZSA8YSBocmVmPSIvYmxvZy8iIHN0eWxlPSJjb2xvcjojZDRhODUzOyI+YmxvZyBhcmNoaXZlPC9hPi48L2Rpdj48L2Rpdj4nOwogIH0KICAKICBmdW5jdGlvbiBpbmplY3RTdHlsZXMoKSB7CiAgICBpZiAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRrLW5ld3MtY3NzIikpIHJldHVybjsKICAgIHZhciBzdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0eWxlIik7CiAgICBzdC5pZCA9ICJ0ay1uZXdzLWNzcyI7CiAgICBzdC50ZXh0Q29udGVudCA9ICIudGstZmVhdC1yb3d7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO30udGstZmVhdC1pbWd7ZmxleDowIDAgNDUlO21pbi13aWR0aDoyODBweDttaW4taGVpZ2h0OjI0MHB4O2JhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlcjt9LnRrLWZlYXQtYm9keXtmbGV4OjE7cGFkZGluZzoycmVtO21pbi13aWR0aDoyODBweDt9LnRrLWNhcmQtaW1ne2hlaWdodDoxODBweDtwb3NpdGlvbjpyZWxhdGl2ZTtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXI7fUBtZWRpYSAobWF4LXdpZHRoOjc4MXB4KXsudGstZmVhdC1pbWd7ZmxleDoxIDEgMTAwJTt3aWR0aDoxMDAlO21pbi13aWR0aDowO21pbi1oZWlnaHQ6MDthc3BlY3QtcmF0aW86MTIwMC82MzA7YmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtcG9zaXRpb246Y2VudGVyO30udGstZmVhdC1ib2R5e2ZsZXg6MSAxIDEwMCU7bWluLXdpZHRoOjA7cGFkZGluZzoxLjVyZW07fS50ay1jYXJkLWltZ3toZWlnaHQ6YXV0bzthc3BlY3QtcmF0aW86MTIwMC82MzA7YmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtcG9zaXRpb246Y2VudGVyO319IjsKICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc3QpOwogIH0KCiAgZnVuY3Rpb24gbG9hZFBvc3RzKCkgewogICAgaW5qZWN0U3R5bGVzKCk7CiAgICB2YXIgZmVhdHVyZWQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidHJhdG9rLWZlYXR1cmVkLXBvc3QtdjIiKTsKICAgIHZhciBncmlkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRyYXRvay1yZWNlbnQtcG9zdHMtdjIiKTsKCiAgICAvLyBJZiB0aGUgbmV3cyB3aWRnZXQgaXNuJ3Qgb24gdGhpcyBwYWdlLCBleGl0IHNpbGVudGx5CiAgICBpZiAoIWZlYXR1cmVkIHx8ICFncmlkKSByZXR1cm47CgogICAgdmFyIHBhZ2VOdW0gPSAxLCB0b3RhbFBhZ2VzID0gMSwgbW9yZUJ0biA9IG51bGwsIG1vcmVXcmFwID0gbnVsbDsKCiAgICBmdW5jdGlvbiBmZXRjaFBhZ2UobikgewogICAgICByZXR1cm4gZmV0Y2goIi93cC1qc29uL3dwL3YyL3Bvc3RzP3Blcl9wYWdlPTcmcGFnZT0iICsgbiArICImX2VtYmVkJnN0YXR1cz1wdWJsaXNoIikudGhlbihmdW5jdGlvbihyKSB7CiAgICAgICAgaWYgKCFyLm9rKSB0aHJvdyBuZXcgRXJyb3IoIkhUVFAgIiArIHIuc3RhdHVzKTsKICAgICAgICB0b3RhbFBhZ2VzID0gcGFyc2VJbnQoci5oZWFkZXJzLmdldCgiWC1XUC1Ub3RhbFBhZ2VzIikgfHwgIjEiLCAxMCkgfHwgMTsKICAgICAgICByZXR1cm4gci5qc29uKCk7CiAgICAgIH0pOwogICAgfQoKICAgIGZ1bmN0aW9uIGVuc3VyZU1vcmVCdG4oKSB7CiAgICAgIGlmIChtb3JlV3JhcCkgcmV0dXJuOwogICAgICBtb3JlV3JhcCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgICBtb3JlV3JhcC5zdHlsZS5jc3NUZXh0ID0gInRleHQtYWxpZ246Y2VudGVyO21hcmdpbjowIDAgMi41cmVtIDA7IjsKICAgICAgbW9yZUJ0biA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIpOwogICAgICBtb3JlQnRuLnR5cGUgPSAiYnV0dG9uIjsKICAgICAgbW9yZUJ0bi50ZXh0Q29udGVudCA9ICJMb2FkIG1vcmUgYXJ0aWNsZXMiOwogICAgICBtb3JlQnRuLnN0eWxlLmNzc1RleHQgPSAiZm9udC1mYW1pbHk6J0RNIFNhbnMnLHNhbnMtc2VyaWY7Zm9udC1zaXplOjAuODVyZW07Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOiNkNGE4NTM7YmFja2dyb3VuZDojMWEyNTQwO2JvcmRlcjoxcHggc29saWQgcmdiYSgyMTIsMTY4LDgzLDAuMzUpO2JvcmRlci1yYWRpdXM6MTAwcHg7cGFkZGluZzowLjhyZW0gMi4ycmVtO2N1cnNvcjpwb2ludGVyOyI7CiAgICAgIG1vcmVCdG4uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBsb2FkTW9yZSk7CiAgICAgIG1vcmVXcmFwLmFwcGVuZENoaWxkKG1vcmVCdG4pOwogICAgICBncmlkLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKG1vcmVXcmFwLCBncmlkLm5leHRTaWJsaW5nKTsKICAgIH0KCiAgICBmdW5jdGlvbiBzeW5jTW9yZUJ0bigpIHsKICAgICAgaWYgKG1vcmVXcmFwKSBtb3JlV3JhcC5zdHlsZS5kaXNwbGF5ID0gcGFnZU51bSA+PSB0b3RhbFBhZ2VzID8gIm5vbmUiIDogIiI7CiAgICB9CgogICAgZnVuY3Rpb24gYXBwZW5kQ2FyZHMocG9zdHMpIHsKICAgICAgdmFyIHN0YXJ0ID0gZ3JpZC5jaGlsZHJlbi5sZW5ndGggKyAxOwogICAgICB2YXIgaG9sZGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICAgIGhvbGRlci5pbm5lckhUTUwgPSAocG9zdHMgfHwgW10pLm1hcChmdW5jdGlvbihwLCBpKSB7IHJldHVybiByZW5kZXJDYXJkKHAsIHN0YXJ0ICsgaSk7IH0pLmpvaW4oIiIpOwogICAgICB3aGlsZSAoaG9sZGVyLmZpcnN0Q2hpbGQpIGdyaWQuYXBwZW5kQ2hpbGQoaG9sZGVyLmZpcnN0Q2hpbGQpOwogICAgfQoKICAgIGZ1bmN0aW9uIGxvYWRNb3JlKCkgewogICAgICBtb3JlQnRuLmRpc2FibGVkID0gdHJ1ZTsKICAgICAgdmFyIHdhcyA9IG1vcmVCdG4udGV4dENvbnRlbnQ7CiAgICAgIG1vcmVCdG4udGV4dENvbnRlbnQgPSAiTG9hZGluZ1x1MjAyNiI7CiAgICAgIGZldGNoUGFnZShwYWdlTnVtICsgMSkudGhlbihmdW5jdGlvbihwb3N0cykgewogICAgICAgIHBhZ2VOdW0gKz0gMTsKICAgICAgICBhcHBlbmRDYXJkcyhwb3N0cyk7CiAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKGVycikgewogICAgICAgIGNvbnNvbGUuZXJyb3IoIlRyYXRvayBuZXdzIGxvYWRlcjoiLCBlcnIpOwogICAgICB9KS50aGVuKGZ1bmN0aW9uKCkgewogICAgICAgIG1vcmVCdG4uZGlzYWJsZWQgPSBmYWxzZTsKICAgICAgICBtb3JlQnRuLnRleHRDb250ZW50ID0gd2FzOwogICAgICAgIHN5bmNNb3JlQnRuKCk7CiAgICAgIH0pOwogICAgfQoKICAgIGZldGNoUGFnZSgxKQogICAgICAudGhlbihmdW5jdGlvbihwb3N0cykgewogICAgICAgIGlmICghcG9zdHMgfHwgcG9zdHMubGVuZ3RoID09PSAwKSB7CiAgICAgICAgICBmZWF0dXJlZC5pbm5lckhUTUwgPSAiIjsKICAgICAgICAgIGdyaWQuaW5uZXJIVE1MID0gcmVuZGVyRXJyb3IoKTsKICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgZmVhdHVyZWQuaW5uZXJIVE1MID0gcmVuZGVyRmVhdHVyZWQocG9zdHNbMF0pOwogICAgICAgIGdyaWQuaW5uZXJIVE1MID0gcG9zdHMuc2xpY2UoMSkubWFwKGZ1bmN0aW9uKHAsIGkgewogICAgICAgICAgcmV0dXJuIHJlbmRlckNhcmQocCwgaSk7CiAgICAgICAgfSkpLmpvaW4oIiIpOwogICAgICAgIGVuc3VyZU1vcmVCdG4oKTsKICAgICAgICBzeW5jTW9yZUJ0bigpOwogICAgICB9KQogICAgICAuY2F0Y2goZnVuY3Rpb24oZXJyKSB7CiAgICAgICAgY29uc29sZS5lcnJvcigiVHJhdG9rIG5ld3MgbG9hZGVyOiIsIGVycik7CiAgICAgICAgZmVhdHVyZWQuaW5uZXJIVE1MID0gIiI7CiAgICAgICAgZ3JpZC5pbm5lckhUTUwgPSByZW5kZXJFcnJvcigpOwogICAgICB9KTsKICB9CgogIGlmIChkb2N1bWVudC5yZWFkeVN0YXRlID09PSAibG9hZGluZyIpIHsKICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLCBsb2FkUG9zdHMpOwogIH0gZWxzZSB7CiAgICBsb2FkUG9zdHMoKTsKICB9Cn0pKCk=”))();