{"id":3365,"date":"2025-10-30T13:26:50","date_gmt":"2025-10-30T13:26:50","guid":{"rendered":"https:\/\/frimastudio.com\/?p=3365"},"modified":"2025-10-30T13:26:52","modified_gmt":"2025-10-30T13:26:52","slug":"inspiring-journey-nathalie-jutras","status":"publish","type":"post","link":"https:\/\/frimastudio.com\/en\/inspiring-journey-nathalie-jutras\/","title":{"rendered":"Inspiring Journey: Nathalie Jutras"},"content":{"rendered":"<style>:root{--color-black: #0d0d1c;--color-white: #efeeeb;--color-white-pure: #ffffff;--color-gray: #d2d0c1;--color-gray-dark: #24272a;--color-blue: #2b79fc;--color-purple: #b25bee;--color-turquoise: #bef3df;--z-main: 1;--z-menu: 9;--z-loader: 10;--max-width: 1920px;--gutter: 24px;--scrollbar-width: 8px;--br-main: 16px}p{margin:0 0 3rem}p:last-child{margin-bottom:0}p.is-style-uppercase{text-transform:uppercase}p.is-style-preheading{color:#44bbd8;text-transform:uppercase}p.is-style-leadparagraph{font-weight:700}\n\/*# sourceMappingURL=data:application\/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9jc3MvX19zZXR0aW5ncy9fc3R5bGUtZ3VpZGUtdmFyaWFibGVzLnNjc3MiLCJwYXJ0cy9ndXRlbmJlcmcvY29yZS1wYXJhZ3JhcGgvc3R5bGUuc2NzcyIsImFzc2V0cy9jc3MvX19zZXR0aW5ncy9fdmFyaWFibGVzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFJRSx1QkFDQSx1QkFDQSw0QkFDQSxzQkFDQSwyQkFDQSxzQkFDQSx3QkFDQSwyQkFLQSxZQUNBLFlBQ0EsZUFLQSxvQkFDQSxlQUNBLHVCQUNBLGdCQ3ZCRixFQUNFLGdCQUVBLGFBQ0UsZ0JBR0YscUJBQ0UseUJBR0Ysc0JBQ0UsTUM0Q1EsUUQzQ1IseUJBR0YseUJBRUUiLCJmaWxlIjoicGFydHMvZ3V0ZW5iZXJnL2NvcmUtcGFyYWdyYXBoL3N0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIjpyb290IHtcbiAgLyoqXG5cdCogQ29sb3JzXG5cdCovXG4gIC0tY29sb3ItYmxhY2s6ICMwZDBkMWM7XG4gIC0tY29sb3Itd2hpdGU6ICNlZmVlZWI7XG4gIC0tY29sb3Itd2hpdGUtcHVyZTogI2ZmZmZmZjtcbiAgLS1jb2xvci1ncmF5OiAjZDJkMGMxO1xuICAtLWNvbG9yLWdyYXktZGFyazogIzI0MjcyYTtcbiAgLS1jb2xvci1ibHVlOiAjMmI3OWZjO1xuICAtLWNvbG9yLXB1cnBsZTogI2IyNWJlZTtcbiAgLS1jb2xvci10dXJxdW9pc2U6ICNiZWYzZGY7XG5cbiAgLyoqXG5cdCogWi1pbmRleFxuXHQqL1xuICAtLXotbWFpbjogMTtcbiAgLS16LW1lbnU6IDk7XG4gIC0tei1sb2FkZXI6IDEwO1xuXG4gIC8qKlxuICAgICogU2l6ZXNcbiAgICAqL1xuICAtLW1heC13aWR0aDogMTkyMHB4O1xuICAtLWd1dHRlcjogMjRweDtcbiAgLS1zY3JvbGxiYXItd2lkdGg6IDhweDtcbiAgLS1ici1tYWluOiAxNnB4O1xufVxuIiwiQGltcG9ydCBcIl9fc2V0dGluZ3MvaW5pdFwiO1xuXG4vKiBUZXh0IEVsZW1lbnRzICovXG5wIHtcbiAgbWFyZ2luOiAwIDAgcmVtKDMwKTtcblxuICAmOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAmLmlzLXN0eWxlLXVwcGVyY2FzZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gICYuaXMtc3R5bGUtcHJlaGVhZGluZyB7XG4gICAgY29sb3I6ICRzZWNvbmRhcnk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gICYuaXMtc3R5bGUtbGVhZHBhcmFncmFwaCB7XG4gICAgLy8gQGluY2x1ZGUgZm9udCgxNiwgMjYpO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bWRcIikge1xuICAgICAgLy8gQGluY2x1ZGUgZm9udCgxOCwgMjgpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gVkFSSUFCTEVTXG5cbi8vIENvbnRhaW5lciB3aWR0aCB2YXJpYWJsZXNcbiRjb250YWluZXItbW9iaWxlOiA3MjBweDtcbiRjb250YWluZXItbGc6IDk2MHB4O1xuJGNvbnRhaW5lci14bDogMTA4MHB4O1xuJGNvbnRhaW5lci14eGw6IDEyMDBweDtcbiRjb250YWluZXItbWF4OiAxNTAwcHg7XG4kY29udGFpbmVyLXBhZGRpbmc6IDM1OyAvL3B4XG5cbi8vIEJsb2NrIFNwYWNpbmdzXG4kc3BhY2luZy1tb2JpbGU6IDUwO1xuJHNwYWNpbmc6IDcwO1xuXG4kbWFyZ2luLW1vYmlsZTogNTA7XG4kbWFyZ2luOiA3MDtcblxuLy8gTWVkaWEgU3BhY2luZ1xuJG1lZGlhLW1hcmdpbjogMjA7IC8vcHhcblxuLy8gVHJhbnNpdGlvbnNcbiRkZWZhdWx0LXRyYW5zaXRpb24tc3BlZWQ6IDAuM3M7XG5cbi8vIE91dGxpbmVcbiRvdXRsaW5lOiAycHggc29saWQgYmx1ZTtcblxuLy9mb250c1xuJGZvbnQtYmFzZTogXCJGaWd0cmVlXCIsIHN5c3RlbS11aSwgc2Fucy1zZXJpZjtcbiRmb250LXNpemUtYmFzZTogMTY7XG4kbGluZS1oZWlnaHQtYmFzZTogMjg7XG5cbiRmb250LXNpemUtbW9iaWxlOiAxNDtcbiRsaW5lLWhlaWdodC1tb2JpbGU6IDI2O1xuXG4vLyBDT0xPUlNcbiRjb2xvci0tYmxhY2s6ICMwMDAwMDA7XG4kY29sb3ItLXdoaXRlOiAjZmZmZmZmO1xuXG4vLyBUZXh0XG4kdGV4dC1jb2xvci1iYXNlOiAjMDAwO1xuJHRleHQtbGlnaHQ6ICRjb2xvci0td2hpdGU7XG4kbGluay1jb2xvcjogI2MzMTMxMztcbiRsaW5rLWhvdmVyLWNvbG9yOiAjMjIyMjIyO1xuXG4vLyBUaGVtZSBDb2xvcnNcbiRjb2xvci0xOiAjNmM4ZTYzO1xuJGNvbG9yLTI6ICNlZDRmMzM7XG4kY29sb3ItMzogI2ZjYjUxNjtcbiRjb2xvci00OiAjMDBhNTk4O1xuJGNvbG9yLTU6ICNiOTljZDM7XG4kY29sb3ItNjogIzk5OTtcbiRjb2xvci03OiAjY2NjO1xuJGNvbG9yLTg6ICMxNzM2NWQ7XG4kY29sb3ItOTogI2NlMmQ0NTtcbiRjb2xvci0xMDogI2YyZjJmMjtcbiRjb2xvci0xMTogIzFhMWExYTtcblxuLy9cbiRwcmltYXJ5OiAjMDE0Mzg0O1xuJHNlY29uZGFyeTogIzQ0YmJkODtcblxuLy9cbiRjb2xvci1iZzogI2Y2ZjZmNjtcbiRib2R5LWJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cbi8vIEJSRUFLUE9JTlRTXG4kYnJlYWtwb2ludHM6IChcbiAgeHM6IDM1MHB4LFxuICBzbTogNTc2cHgsXG4gIG1kOiA3NjhweCxcbiAgbGc6IDk5MnB4LFxuICB4bDogMTI2MHB4LFxuICB4bC14eGw6IDE0MDBweCxcbiAgeHhsOiAxNTYwcHgsXG4gIG1heDogMTkyMHB4LFxuKTtcbiJdfQ== *\/\n<\/style>\n<p class=\"is-style-leadparagraph\">The inspiring journeys initiative aims to highlight members of our teams who stand out for their diverse backgrounds and unique experiences.<\/p>\n\n\n<style>:root{--color-black: #0d0d1c;--color-white: #efeeeb;--color-white-pure: #ffffff;--color-gray: #d2d0c1;--color-gray-dark: #24272a;--color-blue: #2b79fc;--color-purple: #b25bee;--color-turquoise: #bef3df;--z-main: 1;--z-menu: 9;--z-loader: 10;--max-width: 1920px;--gutter: 24px;--scrollbar-width: 8px;--br-main: 16px}h1,h2,h3,h4,h5,h6{margin:0 0 1.2em;color:#000}h1:only-child,h2:only-child,h3:only-child,h4:only-child,h5:only-child,h6:only-child{margin:0}h1.is-style-with-divider,h2.is-style-with-divider,h3.is-style-with-divider,h4.is-style-with-divider,h5.is-style-with-divider,h6.is-style-with-divider{position:relative;padding-bottom:5rem;margin-bottom:5.5rem}h1.is-style-with-divider:before,h2.is-style-with-divider:before,h3.is-style-with-divider:before,h4.is-style-with-divider:before,h5.is-style-with-divider:before,h6.is-style-with-divider:before{content:\"\";width:13.5rem;height:0.2rem;background-color:var(--color-black);left:0;bottom:0;position:absolute}@media(min-width: 992px){h1.is-style-with-divider,h2.is-style-with-divider,h3.is-style-with-divider,h4.is-style-with-divider,h5.is-style-with-divider,h6.is-style-with-divider{margin-bottom:8rem;padding-bottom:8rem}h1.is-style-with-divider:before,h2.is-style-with-divider:before,h3.is-style-with-divider:before,h4.is-style-with-divider:before,h5.is-style-with-divider:before,h6.is-style-with-divider:before{left:3.5rem}}h1{margin-bottom:1.2rem}h2{margin-bottom:1.4rem}h3{margin-bottom:1.9rem}h4{margin-bottom:2.2rem}h5{margin-bottom:2.4rem}h6{margin-bottom:2.3rem}\n\/*# sourceMappingURL=data:application\/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9jc3MvX19zZXR0aW5ncy9fc3R5bGUtZ3VpZGUtdmFyaWFibGVzLnNjc3MiLCJwYXJ0cy9ndXRlbmJlcmcvY29yZS1oZWFkaW5nL3N0eWxlLnNjc3MiLCJhc3NldHMvY3NzL19fc2V0dGluZ3MvX3ZhcmlhYmxlcy5zY3NzIiwiYXNzZXRzL2Nzcy9fX3NldHRpbmdzL19pbmNsdWRlLW1lZGlhLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFJRSx1QkFDQSx1QkFDQSw0QkFDQSxzQkFDQSwyQkFDQSxzQkFDQSx3QkFDQSwyQkFLQSxZQUNBLFlBQ0EsZUFLQSxvQkFDQSxlQUNBLHVCQUNBLGdCQ3ZCRixrQkFNRSxpQkFHQSxNQzJCZ0IsS0R6QmhCLG9GQUNFLFNBR0Ysc0pBQ0Usa0JBQ0Esb0JBQ0EscUJBRUEsZ01BQ0UsV0FDQSxjQUNBLGNBQ0Esb0NBQ0EsT0FDQSxTQUNBLGtCRWloQkYseUJGN2hCRixzSkFnQkksbUJBQ0Esb0JBRUEsZ01BQ0UsYUFNUixHQUNFLHFCQVVGLEdBQ0UscUJBV0YsR0FDRSxxQkFNRixHQUNFLHFCQU1GLEdBQ0UscUJBTUYsR0FDRSIsImZpbGUiOiJwYXJ0cy9ndXRlbmJlcmcvY29yZS1oZWFkaW5nL3N0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIjpyb290IHtcbiAgLyoqXG5cdCogQ29sb3JzXG5cdCovXG4gIC0tY29sb3ItYmxhY2s6ICMwZDBkMWM7XG4gIC0tY29sb3Itd2hpdGU6ICNlZmVlZWI7XG4gIC0tY29sb3Itd2hpdGUtcHVyZTogI2ZmZmZmZjtcbiAgLS1jb2xvci1ncmF5OiAjZDJkMGMxO1xuICAtLWNvbG9yLWdyYXktZGFyazogIzI0MjcyYTtcbiAgLS1jb2xvci1ibHVlOiAjMmI3OWZjO1xuICAtLWNvbG9yLXB1cnBsZTogI2IyNWJlZTtcbiAgLS1jb2xvci10dXJxdW9pc2U6ICNiZWYzZGY7XG5cbiAgLyoqXG5cdCogWi1pbmRleFxuXHQqL1xuICAtLXotbWFpbjogMTtcbiAgLS16LW1lbnU6IDk7XG4gIC0tei1sb2FkZXI6IDEwO1xuXG4gIC8qKlxuICAgICogU2l6ZXNcbiAgICAqL1xuICAtLW1heC13aWR0aDogMTkyMHB4O1xuICAtLWd1dHRlcjogMjRweDtcbiAgLS1zY3JvbGxiYXItd2lkdGg6IDhweDtcbiAgLS1ici1tYWluOiAxNnB4O1xufVxuIiwiQGltcG9ydCBcIl9fc2V0dGluZ3MvaW5pdFwiO1xuXG4vKiBIZWFkaW5ncyAqL1xuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgbWFyZ2luOiAwIDAgMS4yZW07XG4gIC8vIGZvbnQtZmFtaWx5OiAkZm9udC1iYXNlO1xuICAvLyBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogJHRleHQtY29sb3ItYmFzZTtcblxuICAmOm9ubHktY2hpbGQge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gICYuaXMtc3R5bGUtd2l0aC1kaXZpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbSg1MCk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtKDU1KTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB3aWR0aDogcmVtKDEzNSk7XG4gICAgICBoZWlnaHQ6IHJlbSgyKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxnXCIpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg4MCk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDgwKTtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiByZW0oMzUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5oMSB7XG4gIG1hcmdpbi1ib3R0b206IHJlbSgxMik7XG4gIC8vIGxldHRlci1zcGFjaW5nOiByZW0oMi40NCk7XG4gIC8vIEBpbmNsdWRlIGZvbnQoNDAsIDQ4KTtcbiAgLy8gQGluY2x1ZGUgaDQtc3R5bGU7XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI+PW1kXCIpIHtcbiAgICAvLyBAaW5jbHVkZSBmb250KDQ5LCA1OC41OSk7XG4gIH1cbn1cblxuaDIge1xuICBtYXJnaW4tYm90dG9tOiByZW0oMTQpO1xuICAvLyBsZXR0ZXItc3BhY2luZzogcmVtKDEuOTUpO1xuICAvLyBmb250LXdlaWdodDogNzAwO1xuICAvLyBAaW5jbHVkZSBoNS1zdHlsZTtcbiAgLy8gQGluY2x1ZGUgZm9udCgzNSwgNDIpO1xuXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1sZ1wiKSB7XG4gICAgLy8gQGluY2x1ZGUgZm9udCgzMiwgMzgpO1xuICB9XG59XG5cbmgzIHtcbiAgbWFyZ2luLWJvdHRvbTogcmVtKDE5KTtcbiAgLy8gbGV0dGVyLXNwYWNpbmc6IHJlbSgxLjU2KTtcbiAgLy8gQGluY2x1ZGUgZm9udCgzMSwgMzcuNSk7XG4gIC8vIEBpbmNsdWRlIGg1LXN0eWxlO1xufVxuXG5oNCB7XG4gIG1hcmdpbi1ib3R0b206IHJlbSgyMik7XG4gIC8vIGxldHRlci1zcGFjaW5nOiByZW0oMS4yNSk7XG4gIC8vIEBpbmNsdWRlIGZvbnQoMjUsIDMwKTtcbiAgLy8gQGluY2x1ZGUgaDYtc3R5bGU7XG59XG5cbmg1IHtcbiAgbWFyZ2luLWJvdHRvbTogcmVtKDI0KTtcbiAgLy8gbGV0dGVyLXNwYWNpbmc6IHJlbSgxKTtcbiAgLy8gQGluY2x1ZGUgZm9udCgyMCwgMjQpO1xuICAvLyBAaW5jbHVkZSBib2R5LWwtc3R5bGU7XG59XG5cbmg2IHtcbiAgbWFyZ2luLWJvdHRvbTogcmVtKDIzKTtcbiAgLy8gbGV0dGVyLXNwYWNpbmc6IHJlbSgwLjgpO1xuICAvLyBAaW5jbHVkZSBmb250KDE2LCAxOS4yKTtcbiAgLy8gQGluY2x1ZGUgYm9keS1tLXN0eWxlO1xufVxuIiwiLy8gVkFSSUFCTEVTXG5cbi8vIENvbnRhaW5lciB3aWR0aCB2YXJpYWJsZXNcbiRjb250YWluZXItbW9iaWxlOiA3MjBweDtcbiRjb250YWluZXItbGc6IDk2MHB4O1xuJGNvbnRhaW5lci14bDogMTA4MHB4O1xuJGNvbnRhaW5lci14eGw6IDEyMDBweDtcbiRjb250YWluZXItbWF4OiAxNTAwcHg7XG4kY29udGFpbmVyLXBhZGRpbmc6IDM1OyAvL3B4XG5cbi8vIEJsb2NrIFNwYWNpbmdzXG4kc3BhY2luZy1tb2JpbGU6IDUwO1xuJHNwYWNpbmc6IDcwO1xuXG4kbWFyZ2luLW1vYmlsZTogNTA7XG4kbWFyZ2luOiA3MDtcblxuLy8gTWVkaWEgU3BhY2luZ1xuJG1lZGlhLW1hcmdpbjogMjA7IC8vcHhcblxuLy8gVHJhbnNpdGlvbnNcbiRkZWZhdWx0LXRyYW5zaXRpb24tc3BlZWQ6IDAuM3M7XG5cbi8vIE91dGxpbmVcbiRvdXRsaW5lOiAycHggc29saWQgYmx1ZTtcblxuLy9mb250c1xuJGZvbnQtYmFzZTogXCJGaWd0cmVlXCIsIHN5c3RlbS11aSwgc2Fucy1zZXJpZjtcbiRmb250LXNpemUtYmFzZTogMTY7XG4kbGluZS1oZWlnaHQtYmFzZTogMjg7XG5cbiRmb250LXNpemUtbW9iaWxlOiAxNDtcbiRsaW5lLWhlaWdodC1tb2JpbGU6IDI2O1xuXG4vLyBDT0xPUlNcbiRjb2xvci0tYmxhY2s6ICMwMDAwMDA7XG4kY29sb3ItLXdoaXRlOiAjZmZmZmZmO1xuXG4vLyBUZXh0XG4kdGV4dC1jb2xvci1iYXNlOiAjMDAwO1xuJHRleHQtbGlnaHQ6ICRjb2xvci0td2hpdGU7XG4kbGluay1jb2xvcjogI2MzMTMxMztcbiRsaW5rLWhvdmVyLWNvbG9yOiAjMjIyMjIyO1xuXG4vLyBUaGVtZSBDb2xvcnNcbiRjb2xvci0xOiAjNmM4ZTYzO1xuJGNvbG9yLTI6ICNlZDRmMzM7XG4kY29sb3ItMzogI2ZjYjUxNjtcbiRjb2xvci00OiAjMDBhNTk4O1xuJGNvbG9yLTU6ICNiOTljZDM7XG4kY29sb3ItNjogIzk5OTtcbiRjb2xvci03OiAjY2NjO1xuJGNvbG9yLTg6ICMxNzM2NWQ7XG4kY29sb3ItOTogI2NlMmQ0NTtcbiRjb2xvci0xMDogI2YyZjJmMjtcbiRjb2xvci0xMTogIzFhMWExYTtcblxuLy9cbiRwcmltYXJ5OiAjMDE0Mzg0O1xuJHNlY29uZGFyeTogIzQ0YmJkODtcblxuLy9cbiRjb2xvci1iZzogI2Y2ZjZmNjtcbiRib2R5LWJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cbi8vIEJSRUFLUE9JTlRTXG4kYnJlYWtwb2ludHM6IChcbiAgeHM6IDM1MHB4LFxuICBzbTogNTc2cHgsXG4gIG1kOiA3NjhweCxcbiAgbGc6IDk5MnB4LFxuICB4bDogMTI2MHB4LFxuICB4bC14eGw6IDE0MDBweCxcbiAgeHhsOiAxNTYwcHgsXG4gIG1heDogMTkyMHB4LFxuKTtcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8gICAgIF8gICAgICAgICAgICBfICAgICAgICAgICBfICAgICAgICAgICAgICAgICAgICAgICAgICAgXyBfXG4vLyAgICAoXykgICAgICAgICAgfCB8ICAgICAgICAgfCB8ICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF8pXG4vLyAgICAgXyBfIF9fICAgX19ffCB8XyAgIF8gIF9ffCB8IF9fXyAgIF8gX18gX19fICAgX19fICBfX3wgfF8gIF9fIF9cbi8vICAgIHwgfCAnXyBcXCAvIF9ffCB8IHwgfCB8LyBfYCB8LyBfIFxcIHwgJ18gYCBfIFxcIC8gXyBcXC8gX2AgfCB8LyBfYCB8XG4vLyAgICB8IHwgfCB8IHwgKF9ffCB8IHxffCB8IChffCB8ICBfXy8gfCB8IHwgfCB8IHwgIF9fLyAoX3wgfCB8IChffCB8XG4vLyAgICB8X3xffCB8X3xcXF9fX3xffFxcX18sX3xcXF9fLF98XFxfX198IHxffCB8X3wgfF98XFxfX198XFxfXyxffF98XFxfXyxffFxuLy9cbi8vICAgICAgU2ltcGxlLCBlbGVnYW50IGFuZCBtYWludGFpbmFibGUgbWVkaWEgcXVlcmllcyBpbiBTYXNzXG4vLyAgICAgICAgICAgICAgICAgICAgICAgIHYxLjQuOVxuLy9cbi8vICAgICAgICAgICAgICAgIGh0dHA6Ly9pbmNsdWRlLW1lZGlhLmNvbVxuLy9cbi8vICAgICAgICAgQXV0aG9yczogRWR1YXJkbyBCb3VjYXMgKEBlZHVhcmRvYm91Y2FzKVxuLy8gICAgICAgICAgICAgICAgICBIdWdvIEdpcmF1ZGVsIChAaHVnb2dpcmF1ZGVsKVxuLy9cbi8vICAgICAgVGhpcyBwcm9qZWN0IGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTUlUIGxpY2Vuc2VcblxuXG4vLy8vXG4vLy8gaW5jbHVkZS1tZWRpYSBsaWJyYXJ5IHB1YmxpYyBjb25maWd1cmF0aW9uXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5cblxuLy8vXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2YgZ2xvYmFsIGJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHdpdGggdGhlIGxhYmVsIGBwaG9uZWBcbi8vLyAgJGJyZWFrcG9pbnRzOiAoJ3Bob25lJzogMzIwcHgpO1xuLy8vXG4kYnJlYWtwb2ludHM6IChcbiAgJ3Bob25lJzogMzIwcHgsXG4gICd0YWJsZXQnOiA3NjhweCxcbiAgJ2Rlc2t0b3AnOiAxMDI0cHhcbikgIWRlZmF1bHQ7XG5cblxuLy8vXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2Ygc3RhdGljIGV4cHJlc3Npb25zIG9yIG1lZGlhIHR5cGVzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBtZWRpYSB0eXBlIChzY3JlZW4pXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nOiAnc2NyZWVuJyk7XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHN0YXRpYyBleHByZXNzaW9uIHdpdGggbG9naWNhbCBkaXNqdW5jdGlvbiAoT1Igb3BlcmF0b3IpXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKFxuLy8vICAgICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJ1xuLy8vICApO1xuLy8vXG4kbWVkaWEtZXhwcmVzc2lvbnM6IChcbiAgJ3NjcmVlbic6ICdzY3JlZW4nLFxuICAncHJpbnQnOiAncHJpbnQnLFxuICAnaGFuZGhlbGQnOiAnaGFuZGhlbGQnLFxuICAnbGFuZHNjYXBlJzogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScsXG4gICdwb3J0cmFpdCc6ICcob3JpZW50YXRpb246IHBvcnRyYWl0KScsXG4gICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCAobWluLXJlc29sdXRpb246IDJkcHB4KScsXG4gICdyZXRpbmEzeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAzKSwgKG1pbi1yZXNvbHV0aW9uOiAzNTBkcGkpLCAobWluLXJlc29sdXRpb246IDNkcHB4KSdcbikgIWRlZmF1bHQ7XG5cblxuLy8vXG4vLy8gRGVmaW5lcyBhIG51bWJlciB0byBiZSBhZGRlZCBvciBzdWJ0cmFjdGVkIGZyb20gZWFjaCB1bml0IHdoZW4gZGVjbGFyaW5nIGJyZWFrcG9pbnRzIHdpdGggZXhjbHVzaXZlIGludGVydmFsc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBwaXhlbHMgaXMgZGVmaW5lZCBhcyBgMWAgYnkgZGVmYXVsdFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjEyOHB4Jykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAxMjlweCkge31cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgZW1zIGlzIGRlZmluZWQgYXMgYDAuMDFgIGJ5IGRlZmF1bHRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yMGVtJykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyMC4wMWVtKSB7fVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciByZW1zIGlzIGRlZmluZWQgYXMgYDAuMWAgYnkgZGVmYXVsdCwgdG8gYmUgdXNlZCB3aXRoIGBmb250LXNpemU6IDYyLjUlO2Bcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yLjByZW0nKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIuMXJlbSkge31cbi8vL1xuJHVuaXQtaW50ZXJ2YWxzOiAoXG4gICdweCc6IDEsXG4gICdlbSc6IDAuMDEsXG4gICdyZW0nOiAwLjEsXG4gICcnOiAwXG4pICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBEZWZpbmVzIHdoZXRoZXIgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBhdmFpbGFibGUsIHVzZWZ1bCBmb3IgY3JlYXRpbmcgc2VwYXJhdGUgc3R5bGVzaGVldHNcbi8vLyBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IG1lZGlhIHF1ZXJpZXMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRGlzYWJsZXMgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllc1xuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAuZm9vIHtcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xuLy8vICB9XG4vLy9cbiRpbS1tZWRpYS1zdXBwb3J0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBTZWxlY3RzIHdoaWNoIGJyZWFrcG9pbnQgdG8gZW11bGF0ZSB3aGVuIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgZGlzYWJsZWQuIE1lZGlhIHF1ZXJpZXMgdGhhdCBzdGFydCBhdCBvclxuLy8vIGludGVyY2VwdCB0aGUgYnJlYWtwb2ludCB3aWxsIGJlIGRpc3BsYXllZCwgYW55IG90aGVycyB3aWxsIGJlIGlnbm9yZWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAuZm9vIHtcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgZG9lcyBub3QgaW50ZXJjZXB0IHRoZSBkZXNrdG9wIGJyZWFrcG9pbnRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ3RhYmxldCc7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xuLy8vXG4kaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBTZWxlY3RzIHdoaWNoIG1lZGlhIGV4cHJlc3Npb25zIGFyZSBhbGxvd2VkIGluIGFuIGV4cHJlc3Npb24gZm9yIGl0IHRvIGJlIHVzZWQgd2hlbiBtZWRpYSBxdWVyaWVzXG4vLy8gYXJlIG5vdCBzdXBwb3J0ZWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBhbmQgY29udGFpbnMgb25seSBhY2NlcHRlZCBtZWRpYSBleHByZXNzaW9uc1xuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3NjcmVlbicpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgIC5mb28ge1xuLy8vICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGJ1dCBjb250YWlucyBhIG1lZGlhIGV4cHJlc3Npb24gdGhhdCBpcyBub3QgYWNjZXB0ZWRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdyZXRpbmEyeCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogTm8gb3V0cHV0ICovXG4vLy9cbiRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nLCAncG9ydHJhaXQnLCAnbGFuZHNjYXBlJykgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBDcm9zcy1lbmdpbmUgbG9nZ2luZyBlbmdpbmVcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuXG4vLy9cbi8vLyBMb2cgYSBtZXNzYWdlIGVpdGhlciB3aXRoIGBAZXJyb3JgIGlmIHN1cHBvcnRlZFxuLy8vIGVsc2Ugd2l0aCBgQHdhcm5gLCB1c2luZyBgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJylgXG4vLy8gdG8gZGV0ZWN0IHN1cHBvcnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AZnVuY3Rpb24gaW0tbG9nKCRtZXNzYWdlKSB7XG4gIEBpZiBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKSB7XG4gICAgQGVycm9yICRtZXNzYWdlO1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiAkbWVzc2FnZTtcbiAgICAkXzogbm9vcCgpO1xuICB9XG5cbiAgQHJldHVybiAkbWVzc2FnZTtcbn1cblxuXG4vLy9cbi8vLyBXcmFwcGVyIG1peGluIGZvciB0aGUgbG9nIGZ1bmN0aW9uIHNvIGl0IGNhbiBiZSB1c2VkIHdpdGggYSBtb3JlIGZyaWVuZGx5XG4vLy8gQVBJIHRoYW4gYEBpZiBpbS1sb2coJy4uJykge31gIG9yIGAkXzogaW0tbG9nKCcuLicpYC4gQmFzaWNhbGx5LCB1c2UgdGhlIGZ1bmN0aW9uXG4vLy8gd2l0aGluIGZ1bmN0aW9ucyBiZWNhdXNlIGl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW4gYSBmdW5jdGlvblxuLy8vIGFuZCB1c2UgdGhlIG1peGluIGV2ZXJ5d2hlcmUgZWxzZSBiZWNhdXNlIGl0J3MgbXVjaCBtb3JlIGVsZWdhbnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AbWl4aW4gbG9nKCRtZXNzYWdlKSB7XG4gIEBpZiBpbS1sb2coJG1lc3NhZ2UpIHt9XG59XG5cblxuLy8vXG4vLy8gRnVuY3Rpb24gd2l0aCBubyBgQHJldHVybmAgY2FsbGVkIG5leHQgdG8gYEB3YXJuYCBpbiBTYXNzIDMuM1xuLy8vIHRvIHRyaWdnZXIgYSBjb21waWxpbmcgZXJyb3IgYW5kIHN0b3AgdGhlIHByb2Nlc3MuXG4vLy9cbkBmdW5jdGlvbiBub29wKCkge31cblxuLy8vXG4vLy8gRGV0ZXJtaW5lcyB3aGV0aGVyIGEgbGlzdCBvZiBjb25kaXRpb25zIGlzIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sZWFufSAtIFJldHVybnMgdHJ1ZSBpZiB0aGUgY29uZGl0aW9ucyBhcmUgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50XG4vLy9cbkBmdW5jdGlvbiBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSB7XG4gICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQpO1xuXG4gIEBpZiBub3QgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUge1xuICAgIEBpZiBpbS1sb2coJ2AjeyRpbS1uby1tZWRpYS1icmVha3BvaW50fWAgaXMgbm90IGEgdmFsaWQgYnJlYWtwb2ludC4nKSB7fVxuICB9XG5cbiAgQGVhY2ggJGNvbmRpdGlvbiBpbiAkY29uZGl0aW9ucyB7XG4gICAgQGlmIG5vdCBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcbiAgICAgICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGNvbmRpdGlvbik7XG4gICAgICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcbiAgICAgICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGNvbmRpdGlvbiwgJG9wZXJhdG9yKTtcblxuICAgICAgQGlmICgkcHJlZml4ID09ICdtYXgnIGFuZCAkdmFsdWUgPD0gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIG9yXG4gICAgICAgICAgKCRwcmVmaXggPT0gJ21pbicgYW5kICR2YWx1ZSA+ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSB7XG4gICAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiBub3QgaW5kZXgoJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XG4gICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gdHJ1ZTtcbn1cblxuLy8vL1xuLy8vIFBhcnNpbmcgZW5naW5lXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cblxuLy8vXG4vLy8gR2V0IG9wZXJhdG9yIG9mIGFuIGV4cHJlc3Npb25cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBvcGVyYXRvciBmcm9tXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gQW55IG9mIGA+PWAsIGA+YCwgYDw9YCwgYDxgLCBg4omlYCwgYOKJpGBcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKSB7XG4gIEBlYWNoICRvcGVyYXRvciBpbiAoJz49JywgJz4nLCAnPD0nLCAnPCcsICfiiaUnLCAn4omkJykge1xuICAgIEBpZiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAgICAgQHJldHVybiAkb3BlcmF0b3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xuICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxuICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cbiAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcbiAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxuICAkXzogaW0tbG9nKCdObyBvcGVyYXRvciBmb3VuZCBpbiBgI3skZXhwcmVzc2lvbn1gLicpO1xufVxuXG5cbi8vL1xuLy8vIEdldCBkaW1lbnNpb24gb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IGRpbWVuc2lvbiBmcm9tXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGB3aWR0aGAgb3IgYGhlaWdodGAgKG9yIHBvdGVudGlhbGx5IGFueXRoaW5nIGVsc2UpXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHBhcnNlZC1kaW1lbnNpb246IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgMCwgJG9wZXJhdG9yLWluZGV4IC0gMSk7XG4gICRkaW1lbnNpb246ICd3aWR0aCc7XG5cbiAgQGlmIHN0ci1sZW5ndGgoJHBhcnNlZC1kaW1lbnNpb24pID4gMCB7XG4gICAgJGRpbWVuc2lvbjogJHBhcnNlZC1kaW1lbnNpb247XG4gIH1cblxuICBAcmV0dXJuICRkaW1lbnNpb247XG59XG5cblxuLy8vXG4vLy8gR2V0IGRpbWVuc2lvbiBwcmVmaXggYmFzZWQgb24gYW4gb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvclxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGBtaW5gIG9yIGBtYXhgXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKSB7XG4gIEByZXR1cm4gaWYoaW5kZXgoKCc8JywgJzw9JywgJ+KJpCcpLCAkb3BlcmF0b3IpLCAnbWF4JywgJ21pbicpO1xufVxuXG5cbi8vL1xuLy8vIEdldCB2YWx1ZSBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgdmFsdWUgZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBBIG51bWVyaWMgdmFsdWVcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICR2YWx1ZTogc3RyLXNsaWNlKCRleHByZXNzaW9uLCAkb3BlcmF0b3ItaW5kZXggKyBzdHItbGVuZ3RoKCRvcGVyYXRvcikpO1xuXG4gIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgICR2YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICR2YWx1ZSk7XG4gIH0gQGVsc2Uge1xuICAgICR2YWx1ZTogdG8tbnVtYmVyKCR2YWx1ZSk7XG4gIH1cblxuICAkaW50ZXJ2YWw6IG1hcC1nZXQoJHVuaXQtaW50ZXJ2YWxzLCB1bml0KCR2YWx1ZSkpO1xuXG4gIEBpZiBub3QgJGludGVydmFsIHtcbiAgICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXG4gICAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcbiAgICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cbiAgICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxuICAgIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cbiAgICAkXzogaW0tbG9nKCdVbmtub3duIHVuaXQgYCN7dW5pdCgkdmFsdWUpfWAuJyk7XG4gIH1cblxuICBAaWYgJG9wZXJhdG9yID09ICc+JyB7XG4gICAgJHZhbHVlOiAkdmFsdWUgKyAkaW50ZXJ2YWw7XG4gIH0gQGVsc2UgaWYgJG9wZXJhdG9yID09ICc8JyB7XG4gICAgJHZhbHVlOiAkdmFsdWUgLSAkaW50ZXJ2YWw7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuXG4vLy9cbi8vLyBQYXJzZSBhbiBleHByZXNzaW9uIHRvIHJldHVybiBhIHZhbGlkIG1lZGlhLXF1ZXJ5IGV4cHJlc3Npb25cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gcGFyc2Vcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBWYWxpZCBtZWRpYSBxdWVyeVxuLy8vXG5AZnVuY3Rpb24gcGFyc2UtZXhwcmVzc2lvbigkZXhwcmVzc2lvbikge1xuICAvLyBJZiBpdCBpcyBwYXJ0IG9mICRtZWRpYS1leHByZXNzaW9ucywgaXQgaGFzIG5vIG9wZXJhdG9yXG4gIC8vIHRoZW4gdGhlcmUgaXMgbm8gbmVlZCB0byBnbyBhbnkgZnVydGhlciwganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gIEBpZiBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pO1xuICB9XG5cbiAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbik7XG4gICRkaW1lbnNpb246IGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XG4gICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG5cbiAgQHJldHVybiAnKCN7JHByZWZpeH0tI3skZGltZW5zaW9ufTogI3skdmFsdWV9KSc7XG59XG5cbi8vL1xuLy8vIFNsaWNlIGAkbGlzdGAgYmV0d2VlbiBgJHN0YXJ0YCBhbmQgYCRlbmRgIGluZGV4ZXNcbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIExpc3QgdG8gc2xpY2Vcbi8vLyBAcGFyYW0ge051bWJlcn0gJHN0YXJ0IFsxXSAtIFN0YXJ0IGluZGV4XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRlbmQgW2xlbmd0aCgkbGlzdCldIC0gRW5kIGluZGV4XG4vLy9cbi8vLyBAcmV0dXJuIHtMaXN0fSBTbGljZWQgbGlzdFxuLy8vXG5AZnVuY3Rpb24gc2xpY2UoJGxpc3QsICRzdGFydDogMSwgJGVuZDogbGVuZ3RoKCRsaXN0KSkge1xuICBAaWYgbGVuZ3RoKCRsaXN0KSA8IDEgb3IgJHN0YXJ0ID4gJGVuZCB7XG4gICAgQHJldHVybiAoKTtcbiAgfVxuXG4gICRyZXN1bHQ6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAkc3RhcnQgdGhyb3VnaCAkZW5kIHtcbiAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgbnRoKCRsaXN0LCAkaSkpO1xuICB9XG5cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLy8vXG4vLy8gU3RyaW5nIHRvIG51bWJlciBjb252ZXJ0ZXJcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuXG4vLy9cbi8vLyBDYXN0cyBhIHN0cmluZyBpbnRvIGEgbnVtYmVyXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZyB8IE51bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYmUgcGFyc2VkXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9XG4vLy9cbkBmdW5jdGlvbiB0by1udW1iZXIoJHZhbHVlKSB7XG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9IEBlbHNlIGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnc3RyaW5nJyB7XG4gICAgJF86IGltLWxvZygnVmFsdWUgZm9yIGB0by1udW1iZXJgIHNob3VsZCBiZSBhIG51bWJlciBvciBhIHN0cmluZy4nKTtcbiAgfVxuXG4gICRmaXJzdC1jaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsIDEsIDEpO1xuICAkcmVzdWx0OiAwO1xuICAkZGlnaXRzOiAwO1xuICAkbWludXM6ICgkZmlyc3QtY2hhcmFjdGVyID09ICctJyk7XG4gICRudW1iZXJzOiAoJzAnOiAwLCAnMSc6IDEsICcyJzogMiwgJzMnOiAzLCAnNCc6IDQsICc1JzogNSwgJzYnOiA2LCAnNyc6IDcsICc4JzogOCwgJzknOiA5KTtcblxuICAvLyBSZW1vdmUgKy8tIHNpZ24gaWYgcHJlc2VudCBhdCBmaXJzdCBjaGFyYWN0ZXJcbiAgQGlmICgkZmlyc3QtY2hhcmFjdGVyID09ICcrJyBvciAkZmlyc3QtY2hhcmFjdGVyID09ICctJykge1xuICAgICR2YWx1ZTogc3RyLXNsaWNlKCR2YWx1ZSwgMik7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIHN0ci1sZW5ndGgoJHZhbHVlKSB7XG4gICAgJGNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgJGksICRpKTtcblxuICAgIEBpZiBub3QgKGluZGV4KG1hcC1rZXlzKCRudW1iZXJzKSwgJGNoYXJhY3Rlcikgb3IgJGNoYXJhY3RlciA9PSAnLicpIHtcbiAgICAgIEByZXR1cm4gdG8tbGVuZ3RoKGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpLCBzdHItc2xpY2UoJHZhbHVlLCAkaSkpXG4gICAgfVxuXG4gICAgQGlmICRjaGFyYWN0ZXIgPT0gJy4nIHtcbiAgICAgICRkaWdpdHM6IDE7XG4gICAgfSBAZWxzZSBpZiAkZGlnaXRzID09IDAge1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgbWFwLWdldCgkbnVtYmVycywgJGNoYXJhY3Rlcik7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkZGlnaXRzOiAkZGlnaXRzICogMTA7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgbWFwLWdldCgkbnVtYmVycywgJGNoYXJhY3RlcikgLyAkZGlnaXRzO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCk7XG59XG5cblxuLy8vXG4vLy8gQWRkIGAkdW5pdGAgdG8gYCR2YWx1ZWBcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBhZGQgdW5pdCB0b1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdW5pdCAtIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgdW5pdFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIGAkdmFsdWVgIGV4cHJlc3NlZCBpbiBgJHVuaXRgXG4vLy9cbkBmdW5jdGlvbiB0by1sZW5ndGgoJHZhbHVlLCAkdW5pdCkge1xuICAkdW5pdHM6ICgncHgnOiAxcHgsICdjbSc6IDFjbSwgJ21tJzogMW1tLCAnJSc6IDElLCAnY2gnOiAxY2gsICdwYyc6IDFwYywgJ2luJzogMWluLCAnZW0nOiAxZW0sICdyZW0nOiAxcmVtLCAncHQnOiAxcHQsICdleCc6IDFleCwgJ3Z3JzogMXZ3LCAndmgnOiAxdmgsICd2bWluJzogMXZtaW4sICd2bWF4JzogMXZtYXgpO1xuXG4gIEBpZiBub3QgaW5kZXgobWFwLWtleXMoJHVuaXRzKSwgJHVuaXQpIHtcbiAgICAkXzogaW0tbG9nKCdJbnZhbGlkIHVuaXQgYCN7JHVuaXR9YC4nKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlICogbWFwLWdldCgkdW5pdHMsICR1bml0KTtcbn1cblxuLy8vXG4vLy8gVGhpcyBtaXhpbiBhaW1zIGF0IHJlZGVmaW5pbmcgdGhlIGNvbmZpZ3VyYXRpb24ganVzdCBmb3IgdGhlIHNjb3BlIG9mXG4vLy8gdGhlIGNhbGwuIEl0IGlzIGhlbHBmdWwgd2hlbiBoYXZpbmcgYSBjb21wb25lbnQgbmVlZGluZyBhbiBleHRlbmRlZFxuLy8vIGNvbmZpZ3VyYXRpb24gc3VjaCBhcyBjdXN0b20gYnJlYWtwb2ludHMgKHJlZmVycmVkIHRvIGFzIHR3ZWFrcG9pbnRzKVxuLy8vIGZvciBpbnN0YW5jZS5cbi8vL1xuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vha3BvaW50cyBbKCldIC0gTWFwIG9mIHR3ZWFrcG9pbnRzIHRvIGJlIG1lcmdlZCB3aXRoIGAkYnJlYWtwb2ludHNgXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucyBbKCldIC0gTWFwIG9mIHR3ZWFrZWQgbWVkaWEgZXhwcmVzc2lvbnMgdG8gYmUgbWVyZ2VkIHdpdGggYCRtZWRpYS1leHByZXNzaW9uYFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIGJyZWFrcG9pbnRzIHdpdGggYSB0d2Vha3BvaW50XG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCkpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgbWVkaWEgZXhwcmVzc2lvbnMgd2l0aCBhIGN1c3RvbSBvbmVcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgnYWxsJzogJ2FsbCcpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgYm90aCBjb25maWd1cmF0aW9uIG1hcHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSwgKCdhbGwnOiAnYWxsJykpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJywgJzw9Y3VzdG9tJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG5AbWl4aW4gbWVkaWEtY29udGV4dCgkdHdlYWtwb2ludHM6ICgpLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgpKSB7XG4gIC8vIFNhdmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGdsb2JhbC1icmVha3BvaW50czogJGJyZWFrcG9pbnRzO1xuICAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zOiAkbWVkaWEtZXhwcmVzc2lvbnM7XG5cbiAgLy8gVXBkYXRlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRicmVha3BvaW50czogbWFwLW1lcmdlKCRicmVha3BvaW50cywgJHR3ZWFrcG9pbnRzKSAhZ2xvYmFsO1xuICAkbWVkaWEtZXhwcmVzc2lvbnM6IG1hcC1tZXJnZSgkbWVkaWEtZXhwcmVzc2lvbnMsICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucykgIWdsb2JhbDtcblxuICBAY29udGVudDtcblxuICAvLyBSZXN0b3JlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRicmVha3BvaW50czogJGdsb2JhbC1icmVha3BvaW50cyAhZ2xvYmFsO1xuICAkbWVkaWEtZXhwcmVzc2lvbnM6ICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnMgIWdsb2JhbDtcbn1cblxuLy8vL1xuLy8vIGluY2x1ZGUtbWVkaWEgcHVibGljIGV4cG9zZWQgQVBJXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5cblxuLy8vXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgYmFzZWQgb24gYSBsaXN0IG9mIGNvbmRpdGlvbnNcbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHNpbmdsZSBzZXQgYnJlYWtwb2ludFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCB0d28gc2V0IGJyZWFrcG9pbnRzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD10YWJsZXQnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGN1c3RvbSB2YWx1ZXNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzU4cHgnLCAnPDg1MHB4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBzZXQgYnJlYWtwb2ludHMgd2l0aCBjdXN0b20gdmFsdWVzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcsICc8PTEzNTBweCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzdGF0aWMgZXhwcmVzc2lvblxuLy8vICBAaW5jbHVkZSBtZWRpYSgncmV0aW5hMngnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBNaXhpbmcgZXZlcnl0aGluZ1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNTBweCcsICc8dGFibGV0JywgJ3JldGluYTN4JykgeyB9XG4vLy9cbkBtaXhpbiBtZWRpYSgkY29uZGl0aW9ucy4uLikge1xuICBAaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID09IDApIG9yXG4gICAgICAobm90ICRpbS1tZWRpYS1zdXBwb3J0IGFuZCBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSkge1xuICAgIEBjb250ZW50O1xuICB9IEBlbHNlIGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA+IDApIHtcbiAgICBAbWVkaWEgI3t1bnF1b3RlKHBhcnNlLWV4cHJlc3Npb24obnRoKCRjb25kaXRpb25zLCAxKSkpfSB7XG4gICAgICAvLyBSZWN1cnNpdmUgY2FsbFxuICAgICAgQGluY2x1ZGUgbWVkaWEoc2xpY2UoJGNvbmRpdGlvbnMsIDIpLi4uKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19 *\/\n<\/style>\n<h2 class=\"wp-block-heading\"><strong><strong>What is an inspiring journey at Frima?<\/strong><\/strong><\/h2>\n\n\n\n<p>It is a professional path that reflects both personal and professional growth. It can include career evolution, impactful involvement, alignment with the company\u2019s values, and more.<\/p>\n\n\n\n<p>Throughout her journey at Frima, Nathalie has stood out for her talent, curiosity, and ability to take on new challenges. Her path has led her to the role of Creative Director, a position she has embraced with openness and determination. Our team has supported her at every stage of this progression, convinced of her potential.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>1. <strong><strong>Nathalie, tell us about your journey at Frima.<\/strong><\/strong><\/strong><\/h2>\n\n\n\n<p>I started at Frima in January 2021 as a game designer, after working in the game design field since 2009.<\/p>\n\n\n\n<p>In October of the same year, just a few months after I joined, a position in creative direction opened up. I was encouraged to apply, and I decided to take on this new challenge. It was my first leadership position, and although I felt a bit nervous, I was promised support\u2026 and I genuinely received it! Since then, I\u2019ve been serving as Creative Director at Frima.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>2. <strong><strong><strong><strong><strong>Do you have a memorable anecdote from your time at Frima that you could share with us?<\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/h2>\n\n\n\n<p>My first day at Frima took place in the middle of the pandemic. I went to pick up my work gear at the studio, which was completely empty except for a single IT technician. What stood out to me was that the soundtrack of Final Fantasy VII was playing in the background. Ever since that day, every time I hear it, I&#8217;m instantly brought back to that exact moment: my very first day at Frima.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>3. <strong><strong>What is the project you are most proud of so far, and why?<\/strong><\/strong><\/strong><\/h2>\n\n\n\n<p>I\u2019d say Harry Potter: Wizards Unite, a partnership with Warner Bros. That project stands out to me because the partner placed real trust in us and was open to our ideas. There was a strong connection between us, both professionally and on a human level. I aim to recreate that same kind of trust with our current partners. <strong>For me, what makes a project truly inspiring isn\u2019t just the final outcome, but the entire journey we take to get there.<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>4. <strong><strong>Which of Frima\u2019s values do you feel most strongly about?<\/strong><\/strong><\/strong><\/h2>\n\n\n\n<p>Kindness, because it\u2019s a core value at the heart of video game development. Regardless of our role or area of expertise, it\u2019s teamwork that makes the difference. <strong>To me, kindness means fostering ways of working that support both our colleagues\u2019 well-being and seamless collaboration across departments.<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>5. <strong><strong><strong>What advice would you give to someone starting out in the profession?<\/strong><\/strong><\/strong><\/strong><\/h2>\n\n\n\n<p>Be curious and never lose your sense of play. Over time, some developers can grow disillusioned and forget that, at its core, we\u2019re making video games. Staying connected to that childlike sense of wonder is essential. Passionate junior talent often stands out because they keep that spark alive.<\/p>\n\n\n\n<p>You also need to love problem-solving and resist settling for the easiest solution. It\u2019s the small details that make all the difference. And above all, be kind to yourself and to others. There will be times when you need to backtrack or start over, but that\u2019s all part of the creative journey. It\u2019s okay if an idea sounds great in theory but turns out to be less fun in practice. What matters most is always keeping the player at the centre of everything you do.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>6. <strong><strong><strong>What was your first impression of Frima when you arrived?<\/strong><\/strong><\/strong><\/strong><\/h2>\n\n\n\n<p>I was pleasantly surprised by how warm and welcoming everyone was. In the video game industry, things can sometimes be very competitive, even within teams. But here, I immediately sensed that the managers truly cared about my well-being. There was not pressure to \u201cprove myself\u201d in order to earn respect. We\u2019re a group of passionate people who face challenges together.<\/p>\n\n\n\n<p>As a woman in game design, it\u2019s not uncommon to feel like you have to fight a bit harder to be heard, but that hasn\u2019t been my experience at Frima.<strong> I\u2019ve felt a true sense of openness and human-centered support. I quickly felt at home and part of the team.<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong><strong>7. <strong><strong><strong>What is a typical day like in your role?<\/strong><\/strong><\/strong><\/strong><\/strong><\/h2>\n\n\n\n<p><strong>My role is to inspire people to bring out the best in themselves.<\/strong> I&#8217;m here to provide a target to aim for, a vision that everyone can rally around. From there, it\u2019s up to the teams to determine the best way to get there.<\/p>\n\n\n\n<p>I connect with various departments at key production milestones to share the vision for the next step. I\u2019m also responsible for ensuring the product meets our quality standards, which sometimes means making difficult decisions.<\/p>\n\n\n\n<p>I play the game, offer constructive feedback, and make sure the deliverables align with our expectations. In many ways, I serve as the bridge between the team and the partner. What I love most is seeing the team\u2019s eyes light up during a concept presentation, <strong>that\u2019s when I know I\u2019ve done my job well.<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>8. <strong><strong><strong>What is your favourite video game ever?<\/strong><\/strong><\/strong><\/strong><\/h2>\n\n\n\n<p>That\u2019s a tough one! One game I always find myself coming back to is Nioh 2. It\u2019s been out for a while, but it\u2019s one of the rare games where I actually want to unlock every achievement.<\/p>\n\n\n\n<p>I love the blend of fantasy and Japanese culture. There\u2019s a spiritual dimension to it, the combat animations are incredibly responsive, and while the game is challenging, it still lets you progress at your own pace. I would\u2019ve loved to see a Nioh 3!<\/p>\n\n\n\n<p>I\u2019m also a big fan of cozy games! I often switch between genres.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong><strong>9. <strong>What is the biggest challenge you have overcome so far?<\/strong><\/strong><\/strong><\/h2>\n\n\n\n<p>Working on <a href=\"https:\/\/frimastudio.com\/en\/project\/triangle-strategy\/\">Triangle Strategy<\/a> for Meta Quest with Square Enix Co, Ltd was one of the greatest challenges and most valuable learning experiences of my career. It pushed me beyond my comfort zone and allowed me to refine my communication skills, all while fostering a relationship built on trust and mutual respect.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong><strong>9. <strong>What is the biggest challenge you have overcome so far?<\/strong><\/strong><\/strong><\/h2>\n\n\n\n<p>Working on <a href=\"https:\/\/frimastudio.com\/en\/project\/triangle-strategy\/\">Triangle Strategy<\/a> for Meta Quest with Square Enix Co, Ltd was one of the greatest challenges and most valuable learning experiences of my career. It pushed me beyond my comfort zone and allowed me to refine my communication skills, all while fostering a relationship built on trust and mutual respect.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong><strong>10. <strong>What other departments do you work with the most on a daily basis?<\/strong><\/strong><\/strong><\/h2>\n\n\n\n<p>I work closely with the production team. I\u2019m the one making sure the game is fun, while the producer ensures we stay on budget. We complement each other well!<\/p>\n\n\n\n<p>My role also requires me to speak both the artistic and technical languages to help unblock teams when needed. When presenting a pitch to a partner, I work closely with the producer and the other directors (art, tech) to make sure everything is aligned. I also work hand in hand with the product manager, who focuses on the game\u2019s profitability and long-term success.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong><strong><strong>11. What has been your favourite event or activity since you joined Frima and why?<\/strong><\/strong><\/strong><\/h2>\n\n\n\n<p>I\u2019d say our curling outing organized by the Social Club. It was so much fun discovering a new sport together. I also loved the last holiday party: game stations, karaoke, there was something for everyone. I really enjoy spending time with colleagues outside of the work setting, I find it really helps strengthen team bonds.<\/p>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>At Frima, it\u2019s the people who make all the difference.&nbsp;<\/strong>Whether it\u2019s through their projects, their attitude, or their team spirit, employees are at the heart of everything we create. Want to learn more about our culture? Take a look at our&nbsp;<a href=\"https:\/\/frimastudio.com\/en\/careers\/\">careers page<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The inspiring journeys initiative aims to highlight members of our teams who stand out for their diverse backgrounds and unique experiences. What is an inspiring journey at&#8230;<\/p>\n","protected":false},"author":12,"featured_media":3367,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","inline_featured_image":false,"footnotes":""},"categories":[114,50],"tags":[177],"class_list":["post-3365","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-studio-life","category-vie-de-studio-en","tag-inspiring-journey"],"acf":[],"_links":{"self":[{"href":"https:\/\/frimastudio.com\/en\/wp-json\/wp\/v2\/posts\/3365","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/frimastudio.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/frimastudio.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/frimastudio.com\/en\/wp-json\/wp\/v2\/users\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/frimastudio.com\/en\/wp-json\/wp\/v2\/comments?post=3365"}],"version-history":[{"count":3,"href":"https:\/\/frimastudio.com\/en\/wp-json\/wp\/v2\/posts\/3365\/revisions"}],"predecessor-version":[{"id":3379,"href":"https:\/\/frimastudio.com\/en\/wp-json\/wp\/v2\/posts\/3365\/revisions\/3379"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/frimastudio.com\/en\/wp-json\/wp\/v2\/media\/3367"}],"wp:attachment":[{"href":"https:\/\/frimastudio.com\/en\/wp-json\/wp\/v2\/media?parent=3365"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/frimastudio.com\/en\/wp-json\/wp\/v2\/categories?post=3365"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/frimastudio.com\/en\/wp-json\/wp\/v2\/tags?post=3365"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}