@projectcor/maia-components 2.11.98 → 2.11.100-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,6 +5,8 @@ export { HomeIcon } from './HomeIcon';
5
5
  export { NewChat } from './NewChat';
6
6
  export { DocFileIcon } from './DocFile';
7
7
  export { DocxFileIcon } from './DocxFile';
8
+ export { PptFileIcon } from './PptFile';
9
+ export { PptxFileIcon } from './PptxFile';
8
10
  export { MDFileIcon } from './MDFile';
9
11
  export { CsvFileIcon } from './CsvFile';
10
12
  export { TextFileIcon } from './TextFile';
@@ -35,4 +37,4 @@ export { MyAgentsNavIcon } from './MyAgentsNavIcon';
35
37
  export { SkillsNavIcon } from './SkillsNavIcon';
36
38
  export { NotionIcon } from './NotionIcon';
37
39
  export { SkillIcon } from './SkillIcon';
38
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBSUljb24iLCJFcnJvclN0YXRlIiwiQ29yTG9nbyIsIkhvbWVJY29uIiwiTmV3Q2hhdCIsIkRvY0ZpbGVJY29uIiwiRG9jeEZpbGVJY29uIiwiTURGaWxlSWNvbiIsIkNzdkZpbGVJY29uIiwiVGV4dEZpbGVJY29uIiwiUGRmRmlsZUljb24iLCJJbWFnZUZpbGVJY29uIiwiWGxzeEZpbGVJY29uIiwiWGxzRmlsZUljb24iLCJNcDNGaWxlSWNvbiIsIldhdkZpbGVJY29uIiwiQWFjRmlsZUljb24iLCJGbGFjRmlsZUljb24iLCJNNGFGaWxlSWNvbiIsIk1wNEZpbGVJY29uIiwiT2dhRmlsZUljb24iLCJPZ2dGaWxlSWNvbiIsIldlYm1GaWxlSWNvbiIsIkFjY2Vzc2liaWxpdHlJY29uIiwiQnJhaW5JY29uIiwiQ29yQWNjZXNzSWNvbiIsIkFnZW50TWFpYUljb24iLCJGYXFzSWNvbiIsIkZhcUNoZXZyb25JY29uIiwiTUFJQUljb24iLCJNYWlhQ2hhdExheW91dE1lbnVJY29uIiwiTUFJQUlzb2xvZ28iLCJNYWlhU3RvcmVJY29uIiwiTXlBZ2VudHNOYXZJY29uIiwiU2tpbGxzTmF2SWNvbiIsIk5vdGlvbkljb24iLCJTa2lsbEljb24iXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hdG9tcy9pY29ucy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBBSUljb24gfSBmcm9tICcuL0FJSWNvbidcbmV4cG9ydCB7IEVycm9yU3RhdGUgfSBmcm9tICcuL0Vycm9yU3RhdGUnXG5leHBvcnQgeyBDb3JMb2dvIH0gZnJvbSAnLi9Db3JMb2dvJ1xuZXhwb3J0IHsgSG9tZUljb24gfSBmcm9tICcuL0hvbWVJY29uJ1xuZXhwb3J0IHsgTmV3Q2hhdCB9IGZyb20gJy4vTmV3Q2hhdCdcbmV4cG9ydCB7IERvY0ZpbGVJY29uIH0gZnJvbSAnLi9Eb2NGaWxlJ1xuZXhwb3J0IHsgRG9jeEZpbGVJY29uIH0gZnJvbSAnLi9Eb2N4RmlsZSdcbmV4cG9ydCB7IE1ERmlsZUljb24gfSBmcm9tICcuL01ERmlsZSdcbmV4cG9ydCB7IENzdkZpbGVJY29uIH0gZnJvbSAnLi9Dc3ZGaWxlJ1xuZXhwb3J0IHsgVGV4dEZpbGVJY29uIH0gZnJvbSAnLi9UZXh0RmlsZSdcbmV4cG9ydCB7IFBkZkZpbGVJY29uIH0gZnJvbSAnLi9QZGZGaWxlJ1xuZXhwb3J0IHsgSW1hZ2VGaWxlSWNvbiB9IGZyb20gJy4vSW1hZ2VGaWxlJ1xuZXhwb3J0IHsgWGxzeEZpbGVJY29uIH0gZnJvbSAnLi9YbHN4RmlsZSdcbmV4cG9ydCB7IFhsc0ZpbGVJY29uIH0gZnJvbSAnLi9YbHNGaWxlJ1xuZXhwb3J0IHsgTXAzRmlsZUljb24gfSBmcm9tICcuL01wM0ZpbGUnXG5leHBvcnQgeyBXYXZGaWxlSWNvbiB9IGZyb20gJy4vV2F2RmlsZSdcbmV4cG9ydCB7IEFhY0ZpbGVJY29uIH0gZnJvbSAnLi9BYWNGaWxlJ1xuZXhwb3J0IHsgRmxhY0ZpbGVJY29uIH0gZnJvbSAnLi9GbGFjSWNvbidcbmV4cG9ydCB7IE00YUZpbGVJY29uIH0gZnJvbSAnLi9NNGFGaWxlJ1xuZXhwb3J0IHsgTXA0RmlsZUljb24gfSBmcm9tICcuL01wNEZpbGUnXG5leHBvcnQgeyBPZ2FGaWxlSWNvbiB9IGZyb20gJy4vT2dhRmlsZSdcbmV4cG9ydCB7IE9nZ0ZpbGVJY29uIH0gZnJvbSAnLi9PZ2dGaWxlJ1xuZXhwb3J0IHsgV2VibUZpbGVJY29uIH0gZnJvbSAnLi9XZWJtRmlsZSdcbmV4cG9ydCB7IEFjY2Vzc2liaWxpdHlJY29uIH0gZnJvbSAnLi9BY2Nlc3NpYmlsaXR5SWNvbidcbmV4cG9ydCB7IEJyYWluSWNvbiB9IGZyb20gJy4vQnJhaW4nXG5leHBvcnQgeyBDb3JBY2Nlc3NJY29uIH0gZnJvbSAnLi9Db3JBY2Nlc3NJY29uJ1xuZXhwb3J0IHsgQWdlbnRNYWlhSWNvbiB9IGZyb20gJy4vQWdlbnRNYWlhSWNvbidcbmV4cG9ydCB7IEZhcXNJY29uIH0gZnJvbSAnLi9GYXFzSWNvbidcbmV4cG9ydCB7IEZhcUNoZXZyb25JY29uIH0gZnJvbSAnLi9GYXFDaGV2cm9uSWNvbidcbmV4cG9ydCB7IE1BSUFJY29uIH0gZnJvbSAnLi9NQUlBSWNvbidcbmV4cG9ydCB7IE1haWFDaGF0TGF5b3V0TWVudUljb24gfSBmcm9tICcuL01haWFDaGF0TGF5b3V0TWVudUljb24nXG5leHBvcnQgeyBNQUlBSXNvbG9nbyB9IGZyb20gJy4vTUFJQUlzb2xvZ28nXG5leHBvcnQgeyBNYWlhU3RvcmVJY29uIH0gZnJvbSAnLi9NYWlhU3RvcmVJY29uJ1xuZXhwb3J0IHsgTXlBZ2VudHNOYXZJY29uIH0gZnJvbSAnLi9NeUFnZW50c05hdkljb24nXG5leHBvcnQgeyBTa2lsbHNOYXZJY29uIH0gZnJvbSAnLi9Ta2lsbHNOYXZJY29uJ1xuZXhwb3J0IHsgTm90aW9uSWNvbiB9IGZyb20gJy4vTm90aW9uSWNvbidcbmV4cG9ydCB7IFNraWxsSWNvbiB9IGZyb20gJy4vU2tpbGxJY29uJ1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxNQUFNLFFBQVEsVUFBVTtBQUNqQyxTQUFTQyxVQUFVLFFBQVEsY0FBYztBQUN6QyxTQUFTQyxPQUFPLFFBQVEsV0FBVztBQUNuQyxTQUFTQyxRQUFRLFFBQVEsWUFBWTtBQUNyQyxTQUFTQyxPQUFPLFFBQVEsV0FBVztBQUNuQyxTQUFTQyxXQUFXLFFBQVEsV0FBVztBQUN2QyxTQUFTQyxZQUFZLFFBQVEsWUFBWTtBQUN6QyxTQUFTQyxVQUFVLFFBQVEsVUFBVTtBQUNyQyxTQUFTQyxXQUFXLFFBQVEsV0FBVztBQUN2QyxTQUFTQyxZQUFZLFFBQVEsWUFBWTtBQUN6QyxTQUFTQyxXQUFXLFFBQVEsV0FBVztBQUN2QyxTQUFTQyxhQUFhLFFBQVEsYUFBYTtBQUMzQyxTQUFTQyxZQUFZLFFBQVEsWUFBWTtBQUN6QyxTQUFTQyxXQUFXLFFBQVEsV0FBVztBQUN2QyxTQUFTQyxXQUFXLFFBQVEsV0FBVztBQUN2QyxTQUFTQyxXQUFXLFFBQVEsV0FBVztBQUN2QyxTQUFTQyxXQUFXLFFBQVEsV0FBVztBQUN2QyxTQUFTQyxZQUFZLFFBQVEsWUFBWTtBQUN6QyxTQUFTQyxXQUFXLFFBQVEsV0FBVztBQUN2QyxTQUFTQyxXQUFXLFFBQVEsV0FBVztBQUN2QyxTQUFTQyxXQUFXLFFBQVEsV0FBVztBQUN2QyxTQUFTQyxXQUFXLFFBQVEsV0FBVztBQUN2QyxTQUFTQyxZQUFZLFFBQVEsWUFBWTtBQUN6QyxTQUFTQyxpQkFBaUIsUUFBUSxxQkFBcUI7QUFDdkQsU0FBU0MsU0FBUyxRQUFRLFNBQVM7QUFDbkMsU0FBU0MsYUFBYSxRQUFRLGlCQUFpQjtBQUMvQyxTQUFTQyxhQUFhLFFBQVEsaUJBQWlCO0FBQy9DLFNBQVNDLFFBQVEsUUFBUSxZQUFZO0FBQ3JDLFNBQVNDLGNBQWMsUUFBUSxrQkFBa0I7QUFDakQsU0FBU0MsUUFBUSxRQUFRLFlBQVk7QUFDckMsU0FBU0Msc0JBQXNCLFFBQVEsMEJBQTBCO0FBQ2pFLFNBQVNDLFdBQVcsUUFBUSxlQUFlO0FBQzNDLFNBQVNDLGFBQWEsUUFBUSxpQkFBaUI7QUFDL0MsU0FBU0MsZUFBZSxRQUFRLG1CQUFtQjtBQUNuRCxTQUFTQyxhQUFhLFFBQVEsaUJBQWlCO0FBQy9DLFNBQVNDLFVBQVUsUUFBUSxjQUFjO0FBQ3pDLFNBQVNDLFNBQVMsUUFBUSxhQUFhIiwiaWdub3JlTGlzdCI6W119
40
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBSUljb24iLCJFcnJvclN0YXRlIiwiQ29yTG9nbyIsIkhvbWVJY29uIiwiTmV3Q2hhdCIsIkRvY0ZpbGVJY29uIiwiRG9jeEZpbGVJY29uIiwiUHB0RmlsZUljb24iLCJQcHR4RmlsZUljb24iLCJNREZpbGVJY29uIiwiQ3N2RmlsZUljb24iLCJUZXh0RmlsZUljb24iLCJQZGZGaWxlSWNvbiIsIkltYWdlRmlsZUljb24iLCJYbHN4RmlsZUljb24iLCJYbHNGaWxlSWNvbiIsIk1wM0ZpbGVJY29uIiwiV2F2RmlsZUljb24iLCJBYWNGaWxlSWNvbiIsIkZsYWNGaWxlSWNvbiIsIk00YUZpbGVJY29uIiwiTXA0RmlsZUljb24iLCJPZ2FGaWxlSWNvbiIsIk9nZ0ZpbGVJY29uIiwiV2VibUZpbGVJY29uIiwiQWNjZXNzaWJpbGl0eUljb24iLCJCcmFpbkljb24iLCJDb3JBY2Nlc3NJY29uIiwiQWdlbnRNYWlhSWNvbiIsIkZhcXNJY29uIiwiRmFxQ2hldnJvbkljb24iLCJNQUlBSWNvbiIsIk1haWFDaGF0TGF5b3V0TWVudUljb24iLCJNQUlBSXNvbG9nbyIsIk1haWFTdG9yZUljb24iLCJNeUFnZW50c05hdkljb24iLCJTa2lsbHNOYXZJY29uIiwiTm90aW9uSWNvbiIsIlNraWxsSWNvbiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL2ljb25zL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IEFJSWNvbiB9IGZyb20gJy4vQUlJY29uJ1xuZXhwb3J0IHsgRXJyb3JTdGF0ZSB9IGZyb20gJy4vRXJyb3JTdGF0ZSdcbmV4cG9ydCB7IENvckxvZ28gfSBmcm9tICcuL0NvckxvZ28nXG5leHBvcnQgeyBIb21lSWNvbiB9IGZyb20gJy4vSG9tZUljb24nXG5leHBvcnQgeyBOZXdDaGF0IH0gZnJvbSAnLi9OZXdDaGF0J1xuZXhwb3J0IHsgRG9jRmlsZUljb24gfSBmcm9tICcuL0RvY0ZpbGUnXG5leHBvcnQgeyBEb2N4RmlsZUljb24gfSBmcm9tICcuL0RvY3hGaWxlJ1xuZXhwb3J0IHsgUHB0RmlsZUljb24gfSBmcm9tICcuL1BwdEZpbGUnXG5leHBvcnQgeyBQcHR4RmlsZUljb24gfSBmcm9tICcuL1BwdHhGaWxlJ1xuZXhwb3J0IHsgTURGaWxlSWNvbiB9IGZyb20gJy4vTURGaWxlJ1xuZXhwb3J0IHsgQ3N2RmlsZUljb24gfSBmcm9tICcuL0NzdkZpbGUnXG5leHBvcnQgeyBUZXh0RmlsZUljb24gfSBmcm9tICcuL1RleHRGaWxlJ1xuZXhwb3J0IHsgUGRmRmlsZUljb24gfSBmcm9tICcuL1BkZkZpbGUnXG5leHBvcnQgeyBJbWFnZUZpbGVJY29uIH0gZnJvbSAnLi9JbWFnZUZpbGUnXG5leHBvcnQgeyBYbHN4RmlsZUljb24gfSBmcm9tICcuL1hsc3hGaWxlJ1xuZXhwb3J0IHsgWGxzRmlsZUljb24gfSBmcm9tICcuL1hsc0ZpbGUnXG5leHBvcnQgeyBNcDNGaWxlSWNvbiB9IGZyb20gJy4vTXAzRmlsZSdcbmV4cG9ydCB7IFdhdkZpbGVJY29uIH0gZnJvbSAnLi9XYXZGaWxlJ1xuZXhwb3J0IHsgQWFjRmlsZUljb24gfSBmcm9tICcuL0FhY0ZpbGUnXG5leHBvcnQgeyBGbGFjRmlsZUljb24gfSBmcm9tICcuL0ZsYWNJY29uJ1xuZXhwb3J0IHsgTTRhRmlsZUljb24gfSBmcm9tICcuL000YUZpbGUnXG5leHBvcnQgeyBNcDRGaWxlSWNvbiB9IGZyb20gJy4vTXA0RmlsZSdcbmV4cG9ydCB7IE9nYUZpbGVJY29uIH0gZnJvbSAnLi9PZ2FGaWxlJ1xuZXhwb3J0IHsgT2dnRmlsZUljb24gfSBmcm9tICcuL09nZ0ZpbGUnXG5leHBvcnQgeyBXZWJtRmlsZUljb24gfSBmcm9tICcuL1dlYm1GaWxlJ1xuZXhwb3J0IHsgQWNjZXNzaWJpbGl0eUljb24gfSBmcm9tICcuL0FjY2Vzc2liaWxpdHlJY29uJ1xuZXhwb3J0IHsgQnJhaW5JY29uIH0gZnJvbSAnLi9CcmFpbidcbmV4cG9ydCB7IENvckFjY2Vzc0ljb24gfSBmcm9tICcuL0NvckFjY2Vzc0ljb24nXG5leHBvcnQgeyBBZ2VudE1haWFJY29uIH0gZnJvbSAnLi9BZ2VudE1haWFJY29uJ1xuZXhwb3J0IHsgRmFxc0ljb24gfSBmcm9tICcuL0ZhcXNJY29uJ1xuZXhwb3J0IHsgRmFxQ2hldnJvbkljb24gfSBmcm9tICcuL0ZhcUNoZXZyb25JY29uJ1xuZXhwb3J0IHsgTUFJQUljb24gfSBmcm9tICcuL01BSUFJY29uJ1xuZXhwb3J0IHsgTWFpYUNoYXRMYXlvdXRNZW51SWNvbiB9IGZyb20gJy4vTWFpYUNoYXRMYXlvdXRNZW51SWNvbidcbmV4cG9ydCB7IE1BSUFJc29sb2dvIH0gZnJvbSAnLi9NQUlBSXNvbG9nbydcbmV4cG9ydCB7IE1haWFTdG9yZUljb24gfSBmcm9tICcuL01haWFTdG9yZUljb24nXG5leHBvcnQgeyBNeUFnZW50c05hdkljb24gfSBmcm9tICcuL015QWdlbnRzTmF2SWNvbidcbmV4cG9ydCB7IFNraWxsc05hdkljb24gfSBmcm9tICcuL1NraWxsc05hdkljb24nXG5leHBvcnQgeyBOb3Rpb25JY29uIH0gZnJvbSAnLi9Ob3Rpb25JY29uJ1xuZXhwb3J0IHsgU2tpbGxJY29uIH0gZnJvbSAnLi9Ta2lsbEljb24nXG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLE1BQU0sUUFBUSxVQUFVO0FBQ2pDLFNBQVNDLFVBQVUsUUFBUSxjQUFjO0FBQ3pDLFNBQVNDLE9BQU8sUUFBUSxXQUFXO0FBQ25DLFNBQVNDLFFBQVEsUUFBUSxZQUFZO0FBQ3JDLFNBQVNDLE9BQU8sUUFBUSxXQUFXO0FBQ25DLFNBQVNDLFdBQVcsUUFBUSxXQUFXO0FBQ3ZDLFNBQVNDLFlBQVksUUFBUSxZQUFZO0FBQ3pDLFNBQVNDLFdBQVcsUUFBUSxXQUFXO0FBQ3ZDLFNBQVNDLFlBQVksUUFBUSxZQUFZO0FBQ3pDLFNBQVNDLFVBQVUsUUFBUSxVQUFVO0FBQ3JDLFNBQVNDLFdBQVcsUUFBUSxXQUFXO0FBQ3ZDLFNBQVNDLFlBQVksUUFBUSxZQUFZO0FBQ3pDLFNBQVNDLFdBQVcsUUFBUSxXQUFXO0FBQ3ZDLFNBQVNDLGFBQWEsUUFBUSxhQUFhO0FBQzNDLFNBQVNDLFlBQVksUUFBUSxZQUFZO0FBQ3pDLFNBQVNDLFdBQVcsUUFBUSxXQUFXO0FBQ3ZDLFNBQVNDLFdBQVcsUUFBUSxXQUFXO0FBQ3ZDLFNBQVNDLFdBQVcsUUFBUSxXQUFXO0FBQ3ZDLFNBQVNDLFdBQVcsUUFBUSxXQUFXO0FBQ3ZDLFNBQVNDLFlBQVksUUFBUSxZQUFZO0FBQ3pDLFNBQVNDLFdBQVcsUUFBUSxXQUFXO0FBQ3ZDLFNBQVNDLFdBQVcsUUFBUSxXQUFXO0FBQ3ZDLFNBQVNDLFdBQVcsUUFBUSxXQUFXO0FBQ3ZDLFNBQVNDLFdBQVcsUUFBUSxXQUFXO0FBQ3ZDLFNBQVNDLFlBQVksUUFBUSxZQUFZO0FBQ3pDLFNBQVNDLGlCQUFpQixRQUFRLHFCQUFxQjtBQUN2RCxTQUFTQyxTQUFTLFFBQVEsU0FBUztBQUNuQyxTQUFTQyxhQUFhLFFBQVEsaUJBQWlCO0FBQy9DLFNBQVNDLGFBQWEsUUFBUSxpQkFBaUI7QUFDL0MsU0FBU0MsUUFBUSxRQUFRLFlBQVk7QUFDckMsU0FBU0MsY0FBYyxRQUFRLGtCQUFrQjtBQUNqRCxTQUFTQyxRQUFRLFFBQVEsWUFBWTtBQUNyQyxTQUFTQyxzQkFBc0IsUUFBUSwwQkFBMEI7QUFDakUsU0FBU0MsV0FBVyxRQUFRLGVBQWU7QUFDM0MsU0FBU0MsYUFBYSxRQUFRLGlCQUFpQjtBQUMvQyxTQUFTQyxlQUFlLFFBQVEsbUJBQW1CO0FBQ25ELFNBQVNDLGFBQWEsUUFBUSxpQkFBaUI7QUFDL0MsU0FBU0MsVUFBVSxRQUFRLGNBQWM7QUFDekMsU0FBU0MsU0FBUyxRQUFRLGFBQWEiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1,3 +1,4 @@
1
+ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
1
2
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
3
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
4
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
@@ -7,10 +8,19 @@ import { useTranslation } from 'react-i18next';
7
8
  import { OptionAccessibility } from '../../../atoms/OptionAccessibility';
8
9
  import { OptionCorPermission } from '../../../atoms/OptionCorPermission';
9
10
  import { EVENTS, useEvent } from '../../../../hooks/useEvent';
11
+ import { getAvailableConnectors } from '../../../../services/maia/Agents/connectors';
12
+ import { NETSUITE_CONNECTOR_SLUG } from '../../../../utils/normalizeAgentConnectors';
10
13
  import { SCAASWrapper, SCAASHeader, SCAASTitle, SCAASSubtitle, SCAASContent, SCAASSection, SCAASSectionHeader, SCAASSectionTitle, SCAASSectionSubtitle, SCAASOptionsContainer, SCAASDivider } from './AbmAccessibilitySection.styles';
11
14
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
15
+ var FALLBACK_CONNECTORS = [{
16
+ id: 0,
17
+ slug: NETSUITE_CONNECTOR_SLUG,
18
+ name: 'NetSuite',
19
+ requires_auth: true,
20
+ is_active: true
21
+ }];
12
22
  export var AbmAccessibilitySection = function AbmAccessibilitySection(_ref) {
13
- var _values$accessibility, _values$accessibility2, _values$accessibility3, _values$accessibility4, _formValues$clients;
23
+ var _values$accessibility, _values$accessibility2, _values$accessibility3, _values$accessibility4, _values$accessibility5, _values$accessibility7, _formValues$clients;
14
24
  var values = _ref.values,
15
25
  handleSetAgentValues = _ref.handleSetAgentValues;
16
26
  var _useTranslation = useTranslation('abm_agent_section'),
@@ -19,11 +29,16 @@ export var AbmAccessibilitySection = function AbmAccessibilitySection(_ref) {
19
29
  var _useState = useState({
20
30
  accessType: (values === null || values === void 0 || (_values$accessibility = values.accessibility) === null || _values$accessibility === void 0 ? void 0 : _values$accessibility.accessType) || 'company',
21
31
  clients: (values === null || values === void 0 || (_values$accessibility2 = values.accessibility) === null || _values$accessibility2 === void 0 ? void 0 : _values$accessibility2.clients) || null,
22
- taskAccess: (_values$accessibility3 = values === null || values === void 0 || (_values$accessibility4 = values.accessibility) === null || _values$accessibility4 === void 0 ? void 0 : _values$accessibility4.taskAccess) !== null && _values$accessibility3 !== void 0 ? _values$accessibility3 : true
32
+ taskAccess: (_values$accessibility3 = values === null || values === void 0 || (_values$accessibility4 = values.accessibility) === null || _values$accessibility4 === void 0 ? void 0 : _values$accessibility4.taskAccess) !== null && _values$accessibility3 !== void 0 ? _values$accessibility3 : true,
33
+ selectedConnectors: (values === null || values === void 0 || (_values$accessibility5 = values.accessibility) === null || _values$accessibility5 === void 0 ? void 0 : _values$accessibility5.selectedConnectors) || []
23
34
  }),
24
35
  _useState2 = _slicedToArray(_useState, 2),
25
36
  formValues = _useState2[0],
26
37
  setFormValues = _useState2[1];
38
+ var _useState3 = useState(FALLBACK_CONNECTORS),
39
+ _useState4 = _slicedToArray(_useState3, 2),
40
+ catalogConnectors = _useState4[0],
41
+ setCatalogConnectors = _useState4[1];
27
42
  var _handleSelectOption = function handleSelectOption(option, clients) {
28
43
  var optionMapping = {
29
44
  company: 'all_company',
@@ -36,7 +51,8 @@ export var AbmAccessibilitySection = function AbmAccessibilitySection(_ref) {
36
51
  var valueToSend = {
37
52
  accessType: option,
38
53
  clients: null,
39
- taskAccess: formValues.taskAccess
54
+ taskAccess: formValues.taskAccess,
55
+ selectedConnectors: formValues.selectedConnectors
40
56
  };
41
57
  if (option !== 'clients' || !clients) {
42
58
  setFormValues(valueToSend);
@@ -67,6 +83,40 @@ export var AbmAccessibilitySection = function AbmAccessibilitySection(_ref) {
67
83
  });
68
84
  });
69
85
  };
86
+ var handleConnectorAccessChange = function handleConnectorAccessChange(slug, checked) {
87
+ eventAmplitude(EVENTS.connectorMcp, {
88
+ option: checked ? 'on' : 'off',
89
+ slug: slug
90
+ });
91
+ setFormValues(function (prev) {
92
+ var next = new Set(prev.selectedConnectors);
93
+ if (checked) {
94
+ next.add(slug);
95
+ } else {
96
+ next["delete"](slug);
97
+ }
98
+ return _objectSpread(_objectSpread({}, prev), {}, {
99
+ selectedConnectors: Array.from(next)
100
+ });
101
+ });
102
+ };
103
+ useEffect(function () {
104
+ var _values$accessibility6;
105
+ var nextConnectors = values === null || values === void 0 || (_values$accessibility6 = values.accessibility) === null || _values$accessibility6 === void 0 ? void 0 : _values$accessibility6.selectedConnectors;
106
+ if (!nextConnectors) {
107
+ return;
108
+ }
109
+ setFormValues(function (prev) {
110
+ var current = _toConsumableArray(prev.selectedConnectors).sort().join('|');
111
+ var incoming = _toConsumableArray(nextConnectors).sort().join('|');
112
+ if (current === incoming) {
113
+ return prev;
114
+ }
115
+ return _objectSpread(_objectSpread({}, prev), {}, {
116
+ selectedConnectors: nextConnectors
117
+ });
118
+ });
119
+ }, [values === null || values === void 0 || (_values$accessibility7 = values.accessibility) === null || _values$accessibility7 === void 0 ? void 0 : _values$accessibility7.selectedConnectors]);
70
120
  useEffect(function () {
71
121
  if (formValues) {
72
122
  handleSetAgentValues === null || handleSetAgentValues === void 0 || handleSetAgentValues({
@@ -75,6 +125,24 @@ export var AbmAccessibilitySection = function AbmAccessibilitySection(_ref) {
75
125
  });
76
126
  }
77
127
  }, [formValues]);
128
+ useEffect(function () {
129
+ var cancelled = false;
130
+ getAvailableConnectors().then(function (connectors) {
131
+ if (!cancelled) {
132
+ setCatalogConnectors(connectors.filter(function (connector) {
133
+ return connector.is_active && connector.slug === NETSUITE_CONNECTOR_SLUG;
134
+ }));
135
+ }
136
+ })["catch"](function (error) {
137
+ console.error('Error fetching connectors catalog:', error);
138
+ if (!cancelled) {
139
+ setCatalogConnectors(FALLBACK_CONNECTORS);
140
+ }
141
+ });
142
+ return function () {
143
+ cancelled = true;
144
+ };
145
+ }, []);
78
146
  return /*#__PURE__*/_jsxs(SCAASWrapper, {
79
147
  children: [/*#__PURE__*/_jsxs(SCAASHeader, {
80
148
  $index: 0,
@@ -98,6 +166,25 @@ export var AbmAccessibilitySection = function AbmAccessibilitySection(_ref) {
98
166
  checked: formValues.taskAccess,
99
167
  onChange: handleTaskAccessChange
100
168
  })]
169
+ }), /*#__PURE__*/_jsx(SCAASDivider, {}), /*#__PURE__*/_jsxs(SCAASSection, {
170
+ children: [/*#__PURE__*/_jsxs(SCAASSectionHeader, {
171
+ children: [/*#__PURE__*/_jsx(SCAASSectionTitle, {
172
+ children: t('accessibilitySection.mcpPermissionsTitle')
173
+ }), /*#__PURE__*/_jsx(SCAASSectionSubtitle, {
174
+ children: t('accessibilitySection.mcpPermissionsSubtitle')
175
+ })]
176
+ }), catalogConnectors.map(function (connector) {
177
+ return /*#__PURE__*/_jsx(OptionCorPermission, {
178
+ title: connector.slug === NETSUITE_CONNECTOR_SLUG ? t('accessibilitySection.netsuiteAccessTitle') : connector.name,
179
+ description: connector.slug === NETSUITE_CONNECTOR_SLUG ? t('accessibilitySection.netsuiteAccessDescription') : connector.description || t('accessibilitySection.connectorAccessDescription', {
180
+ name: connector.name
181
+ }),
182
+ checked: formValues.selectedConnectors.includes(connector.slug),
183
+ onChange: function onChange(checked) {
184
+ return handleConnectorAccessChange(connector.slug, checked);
185
+ }
186
+ }, connector.slug);
187
+ })]
101
188
  }), /*#__PURE__*/_jsx(SCAASDivider, {}), /*#__PURE__*/_jsxs(SCAASSection, {
102
189
  children: [/*#__PURE__*/_jsxs(SCAASSectionHeader, {
103
190
  children: [/*#__PURE__*/_jsx(SCAASSectionTitle, {
@@ -146,4 +233,4 @@ export var AbmAccessibilitySection = function AbmAccessibilitySection(_ref) {
146
233
  })]
147
234
  });
148
235
  };
149
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsInVzZVRyYW5zbGF0aW9uIiwiT3B0aW9uQWNjZXNzaWJpbGl0eSIsIk9wdGlvbkNvclBlcm1pc3Npb24iLCJFVkVOVFMiLCJ1c2VFdmVudCIsIlNDQUFTV3JhcHBlciIsIlNDQUFTSGVhZGVyIiwiU0NBQVNUaXRsZSIsIlNDQUFTU3VidGl0bGUiLCJTQ0FBU0NvbnRlbnQiLCJTQ0FBU1NlY3Rpb24iLCJTQ0FBU1NlY3Rpb25IZWFkZXIiLCJTQ0FBU1NlY3Rpb25UaXRsZSIsIlNDQUFTU2VjdGlvblN1YnRpdGxlIiwiU0NBQVNPcHRpb25zQ29udGFpbmVyIiwiU0NBQVNEaXZpZGVyIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkFibUFjY2Vzc2liaWxpdHlTZWN0aW9uIiwiX3JlZiIsIl92YWx1ZXMkYWNjZXNzaWJpbGl0eSIsIl92YWx1ZXMkYWNjZXNzaWJpbGl0eTIiLCJfdmFsdWVzJGFjY2Vzc2liaWxpdHkzIiwiX3ZhbHVlcyRhY2Nlc3NpYmlsaXR5NCIsIl9mb3JtVmFsdWVzJGNsaWVudHMiLCJ2YWx1ZXMiLCJoYW5kbGVTZXRBZ2VudFZhbHVlcyIsIl91c2VUcmFuc2xhdGlvbiIsInQiLCJldmVudEFtcGxpdHVkZSIsIl91c2VTdGF0ZSIsImFjY2Vzc1R5cGUiLCJhY2Nlc3NpYmlsaXR5IiwiY2xpZW50cyIsInRhc2tBY2Nlc3MiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJmb3JtVmFsdWVzIiwic2V0Rm9ybVZhbHVlcyIsImhhbmRsZVNlbGVjdE9wdGlvbiIsIm9wdGlvbiIsIm9wdGlvbk1hcHBpbmciLCJjb21wYW55Iiwib25seV9tZSIsImFjY2Vzc2liaWxpdHlUeXBlIiwidmFsdWVUb1NlbmQiLCJjbGllbnRGb3JtRGF0YSIsIm1hcCIsImNsaWVudCIsImlkIiwibmFtZSIsImlzX2FjdGl2ZSIsImlzX2RlbGV0ZWQiLCJsZW5ndGgiLCJhY2Nlc3NpYmlsaXR5U2VsZWN0Q2xpZW50IiwiX29iamVjdFNwcmVhZCIsImhhbmRsZVRhc2tBY2Nlc3NDaGFuZ2UiLCJjaGVja2VkIiwiY29ubmVjdG9yQ29yIiwicHJldiIsImtleSIsInZhbHVlIiwiY2hpbGRyZW4iLCIkaW5kZXgiLCJ0aXRsZSIsImRlc2NyaXB0aW9uIiwib25DaGFuZ2UiLCJvcHRpb25TZWxlY3RlZCIsImlzQ2xpZW50IiwicHJvcHMiLCJzZWxlY3RlZENsaWVudHMiLCJfY2xpZW50JG5hbWUiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQWJtU2VjdGlvbi9BYm1BY2Nlc3NpYmlsaXR5U2VjdGlvbi9BYm1BY2Nlc3NpYmlsaXR5U2VjdGlvbi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlU3RhdGUsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgT3B0aW9uQWNjZXNzaWJpbGl0eSB9IGZyb20gJy4uLy4uLy4uL2F0b21zL09wdGlvbkFjY2Vzc2liaWxpdHknXG5pbXBvcnQgeyBPcHRpb25Db3JQZXJtaXNzaW9uIH0gZnJvbSAnLi4vLi4vLi4vYXRvbXMvT3B0aW9uQ29yUGVybWlzc2lvbidcbmltcG9ydCB7IEVWRU5UUywgdXNlRXZlbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9ob29rcy91c2VFdmVudCdcbmltcG9ydCB7XG4gIFNDQUFTV3JhcHBlcixcbiAgU0NBQVNIZWFkZXIsXG4gIFNDQUFTVGl0bGUsXG4gIFNDQUFTU3VidGl0bGUsXG4gIFNDQUFTQ29udGVudCxcbiAgU0NBQVNTZWN0aW9uLFxuICBTQ0FBU1NlY3Rpb25IZWFkZXIsXG4gIFNDQUFTU2VjdGlvblRpdGxlLFxuICBTQ0FBU1NlY3Rpb25TdWJ0aXRsZSxcbiAgU0NBQVNPcHRpb25zQ29udGFpbmVyLFxuICBTQ0FBU0RpdmlkZXIsXG59IGZyb20gJy4vQWJtQWNjZXNzaWJpbGl0eVNlY3Rpb24uc3R5bGVzJ1xuaW1wb3J0IHsgQ2xpZW50Rm9ybURhdGEgfSBmcm9tICcuL0FibUFjY2Vzc2liaWxpdHlTZWN0aW9uLmludGVyZmFjZSdcblxuaW50ZXJmYWNlIEFibUFjY2Vzc2liaWxpdHlTZWN0aW9uUHJvcHMge1xuICB2YWx1ZXM/OiB7XG4gICAgYWNjZXNzaWJpbGl0eT86IHtcbiAgICAgIGFjY2Vzc1R5cGU/OiBzdHJpbmdcbiAgICAgIGNsaWVudHM/OiBDbGllbnRGb3JtRGF0YVtdIHwgbnVsbFxuICAgICAgdGFza0FjY2Vzcz86IGJvb2xlYW5cbiAgICB9XG4gIH1cbiAgaGFuZGxlU2V0QWdlbnRWYWx1ZXM/OiAoeyBrZXksIHZhbHVlIH06IHsga2V5OiBzdHJpbmc7IHZhbHVlOiB1bmtub3duIH0pID0+IHZvaWRcbn1cblxuZXhwb3J0IGNvbnN0IEFibUFjY2Vzc2liaWxpdHlTZWN0aW9uID0gKHsgdmFsdWVzLCBoYW5kbGVTZXRBZ2VudFZhbHVlcyB9OiBBYm1BY2Nlc3NpYmlsaXR5U2VjdGlvblByb3BzKSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oJ2FibV9hZ2VudF9zZWN0aW9uJylcbiAgY29uc3QgZXZlbnRBbXBsaXR1ZGUgPSB1c2VFdmVudCgpXG5cbiAgY29uc3QgW2Zvcm1WYWx1ZXMsIHNldEZvcm1WYWx1ZXNdID0gdXNlU3RhdGU8e1xuICAgIGFjY2Vzc1R5cGU6IHN0cmluZ1xuICAgIGNsaWVudHM6IENsaWVudEZvcm1EYXRhW10gfCBudWxsXG4gICAgdGFza0FjY2VzczogYm9vbGVhblxuICB9Pih7XG4gICAgYWNjZXNzVHlwZTogdmFsdWVzPy5hY2Nlc3NpYmlsaXR5Py5hY2Nlc3NUeXBlIHx8ICdjb21wYW55JyxcbiAgICBjbGllbnRzOiB2YWx1ZXM/LmFjY2Vzc2liaWxpdHk/LmNsaWVudHMgfHwgbnVsbCxcbiAgICB0YXNrQWNjZXNzOiB2YWx1ZXM/LmFjY2Vzc2liaWxpdHk/LnRhc2tBY2Nlc3MgPz8gdHJ1ZSxcbiAgfSlcblxuICBjb25zdCBoYW5kbGVTZWxlY3RPcHRpb24gPSAob3B0aW9uOiBzdHJpbmcsIGNsaWVudHM/OiBDbGllbnRGb3JtRGF0YVtdIHwgbnVsbCkgPT4ge1xuICAgIGNvbnN0IG9wdGlvbk1hcHBpbmc6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7XG4gICAgICBjb21wYW55OiAnYWxsX2NvbXBhbnknLFxuICAgICAgY2xpZW50czogJ2J5X2NsaWVudGVzJyxcbiAgICAgIG9ubHlfbWU6ICdqdXN0X21lJyxcbiAgICB9XG5cbiAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuYWNjZXNzaWJpbGl0eVR5cGUsIHsgb3B0aW9uOiBvcHRpb25NYXBwaW5nW29wdGlvbl0gfSlcblxuICAgIGNvbnN0IHZhbHVlVG9TZW5kID0ge1xuICAgICAgYWNjZXNzVHlwZTogb3B0aW9uLFxuICAgICAgY2xpZW50czogbnVsbCBhcyBDbGllbnRGb3JtRGF0YVtdIHwgbnVsbCxcbiAgICAgIHRhc2tBY2Nlc3M6IGZvcm1WYWx1ZXMudGFza0FjY2VzcyxcbiAgICB9XG4gICAgaWYgKG9wdGlvbiAhPT0gJ2NsaWVudHMnIHx8ICFjbGllbnRzKSB7XG4gICAgICBzZXRGb3JtVmFsdWVzKHZhbHVlVG9TZW5kKVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgY29uc3QgY2xpZW50Rm9ybURhdGEgPSBjbGllbnRzLm1hcChjbGllbnQgPT4gKHtcbiAgICAgIGlkOiBjbGllbnQuaWQsXG4gICAgICBuYW1lOiBjbGllbnQubmFtZSxcbiAgICAgIGlzX2FjdGl2ZTogY2xpZW50LmlzX2FjdGl2ZSxcbiAgICAgIGlzX2RlbGV0ZWQ6IGNsaWVudC5pc19kZWxldGVkLFxuICAgIH0pKVxuXG4gICAgaWYgKGNsaWVudHMgJiYgY2xpZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuYWNjZXNzaWJpbGl0eVNlbGVjdENsaWVudClcbiAgICB9XG5cbiAgICBzZXRGb3JtVmFsdWVzKHsgLi4udmFsdWVUb1NlbmQsIGNsaWVudHM6IGNsaWVudEZvcm1EYXRhIH0pXG4gIH1cblxuICBjb25zdCBoYW5kbGVUYXNrQWNjZXNzQ2hhbmdlID0gKGNoZWNrZWQ6IGJvb2xlYW4pID0+IHtcbiAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuY29ubmVjdG9yQ29yLCB7IG9wdGlvbjogY2hlY2tlZCA/ICdvbicgOiAnb2ZmJyB9KVxuXG4gICAgc2V0Rm9ybVZhbHVlcyhwcmV2ID0+ICh7XG4gICAgICAuLi5wcmV2LFxuICAgICAgdGFza0FjY2VzczogY2hlY2tlZCxcbiAgICB9KSlcbiAgfVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGZvcm1WYWx1ZXMpIHtcbiAgICAgIGhhbmRsZVNldEFnZW50VmFsdWVzPy4oe1xuICAgICAgICBrZXk6ICdhY2Nlc3NpYmlsaXR5JyxcbiAgICAgICAgdmFsdWU6IGZvcm1WYWx1ZXMsXG4gICAgICB9KVxuICAgIH1cbiAgfSwgW2Zvcm1WYWx1ZXNdKVxuXG4gIHJldHVybiAoXG4gICAgPFNDQUFTV3JhcHBlcj5cbiAgICAgIDxTQ0FBU0hlYWRlciAkaW5kZXg9ezB9PlxuICAgICAgICA8U0NBQVNUaXRsZT57dCgnYWNjZXNzaWJpbGl0eVNlY3Rpb24udGl0bGVTZWN0aW9uJyl9PC9TQ0FBU1RpdGxlPlxuICAgICAgICA8U0NBQVNTdWJ0aXRsZT57dCgnYWNjZXNzaWJpbGl0eVNlY3Rpb24uc3VidGl0bGVTZWN0aW9uJyl9PC9TQ0FBU1N1YnRpdGxlPlxuICAgICAgPC9TQ0FBU0hlYWRlcj5cbiAgICAgIDxTQ0FBU0NvbnRlbnQgJGluZGV4PXsxfT5cbiAgICAgICAgPFNDQUFTU2VjdGlvbj5cbiAgICAgICAgICA8U0NBQVNTZWN0aW9uSGVhZGVyPlxuICAgICAgICAgICAgPFNDQUFTU2VjdGlvblRpdGxlPnt0KCdhY2Nlc3NpYmlsaXR5U2VjdGlvbi5jb3JQZXJtaXNzaW9uc1RpdGxlJyl9PC9TQ0FBU1NlY3Rpb25UaXRsZT5cbiAgICAgICAgICAgIDxTQ0FBU1NlY3Rpb25TdWJ0aXRsZT57dCgnYWNjZXNzaWJpbGl0eVNlY3Rpb24uY29yUGVybWlzc2lvbnNTdWJ0aXRsZScpfTwvU0NBQVNTZWN0aW9uU3VidGl0bGU+XG4gICAgICAgICAgPC9TQ0FBU1NlY3Rpb25IZWFkZXI+XG4gICAgICAgICAgPE9wdGlvbkNvclBlcm1pc3Npb25cbiAgICAgICAgICAgIHRpdGxlPXt0KCdhY2Nlc3NpYmlsaXR5U2VjdGlvbi50YXNrQWNjZXNzVGl0bGUnKX1cbiAgICAgICAgICAgIGRlc2NyaXB0aW9uPXt0KCdhY2Nlc3NpYmlsaXR5U2VjdGlvbi50YXNrQWNjZXNzRGVzY3JpcHRpb24nKX1cbiAgICAgICAgICAgIGNoZWNrZWQ9e2Zvcm1WYWx1ZXMudGFza0FjY2Vzc31cbiAgICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVUYXNrQWNjZXNzQ2hhbmdlfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvU0NBQVNTZWN0aW9uPlxuXG4gICAgICAgIDxTQ0FBU0RpdmlkZXIgLz5cblxuICAgICAgICA8U0NBQVNTZWN0aW9uPlxuICAgICAgICAgIDxTQ0FBU1NlY3Rpb25IZWFkZXI+XG4gICAgICAgICAgICA8U0NBQVNTZWN0aW9uVGl0bGU+e3QoJ2FjY2Vzc2liaWxpdHlTZWN0aW9uLnZpc2liaWxpdHlUaXRsZScpfTwvU0NBQVNTZWN0aW9uVGl0bGU+XG4gICAgICAgICAgICA8U0NBQVNTZWN0aW9uU3VidGl0bGU+e3QoJ2FjY2Vzc2liaWxpdHlTZWN0aW9uLndob0NhbkFjY2VzcycpfTwvU0NBQVNTZWN0aW9uU3VidGl0bGU+XG4gICAgICAgICAgPC9TQ0FBU1NlY3Rpb25IZWFkZXI+XG4gICAgICAgICAgPFNDQUFTT3B0aW9uc0NvbnRhaW5lcj5cbiAgICAgICAgICAgIDxPcHRpb25BY2Nlc3NpYmlsaXR5XG4gICAgICAgICAgICAgIHRpdGxlPXt0KCdhY2Nlc3NpYmlsaXR5U2VjdGlvbi5hbGxDb21wYW55VGl0bGUnKX1cbiAgICAgICAgICAgICAgZGVzY3JpcHRpb249e3QoJ2FjY2Vzc2liaWxpdHlTZWN0aW9uLmFsbENvbXBhbnlEZXNjcmlwdGlvbicpfVxuICAgICAgICAgICAgICBoYW5kbGVTZWxlY3RPcHRpb249eygpID0+IGhhbmRsZVNlbGVjdE9wdGlvbignY29tcGFueScpfVxuICAgICAgICAgICAgICBvcHRpb25TZWxlY3RlZD17Zm9ybVZhbHVlcy5hY2Nlc3NUeXBlfVxuICAgICAgICAgICAgICBuYW1lPVwiY29tcGFueVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPE9wdGlvbkFjY2Vzc2liaWxpdHlcbiAgICAgICAgICAgICAgdGl0bGU9e3QoJ2FjY2Vzc2liaWxpdHlTZWN0aW9uLmNsaWVudFRpdGxlJyl9XG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uPXt0KCdhY2Nlc3NpYmlsaXR5U2VjdGlvbi5jbGllbnREZXNjcmlwdGlvbicpfVxuICAgICAgICAgICAgICBpc0NsaWVudD17Zm9ybVZhbHVlcy5hY2Nlc3NUeXBlID09PSAnY2xpZW50cyd9XG4gICAgICAgICAgICAgIGhhbmRsZVNlbGVjdE9wdGlvbj17KHByb3BzPzogQ2xpZW50Rm9ybURhdGFbXSkgPT4gaGFuZGxlU2VsZWN0T3B0aW9uKCdjbGllbnRzJywgcHJvcHMpfVxuICAgICAgICAgICAgICBvcHRpb25TZWxlY3RlZD17Zm9ybVZhbHVlcy5hY2Nlc3NUeXBlfVxuICAgICAgICAgICAgICBuYW1lPVwiY2xpZW50c1wiXG4gICAgICAgICAgICAgIHNlbGVjdGVkQ2xpZW50cz17Zm9ybVZhbHVlcy5jbGllbnRzPy5tYXAoY2xpZW50ID0+ICh7XG4gICAgICAgICAgICAgICAgaWQ6IGNsaWVudC5pZCxcbiAgICAgICAgICAgICAgICBuYW1lOiBjbGllbnQubmFtZSA/PyAnJyxcbiAgICAgICAgICAgICAgICBpc19hY3RpdmU6IGNsaWVudC5pc19hY3RpdmUsXG4gICAgICAgICAgICAgICAgaXNfZGVsZXRlZDogY2xpZW50LmlzX2RlbGV0ZWQsXG4gICAgICAgICAgICAgIH0pKX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8T3B0aW9uQWNjZXNzaWJpbGl0eVxuICAgICAgICAgICAgICB0aXRsZT17dCgnYWNjZXNzaWJpbGl0eVNlY3Rpb24ub3duVGl0bGUnKX1cbiAgICAgICAgICAgICAgZGVzY3JpcHRpb249e3QoJ2FjY2Vzc2liaWxpdHlTZWN0aW9uLm93bkRlc2NyaXB0aW9uJyl9XG4gICAgICAgICAgICAgIGhhbmRsZVNlbGVjdE9wdGlvbj17KCkgPT4gaGFuZGxlU2VsZWN0T3B0aW9uKCdvbmx5X21lJyl9XG4gICAgICAgICAgICAgIG9wdGlvblNlbGVjdGVkPXtmb3JtVmFsdWVzLmFjY2Vzc1R5cGV9XG4gICAgICAgICAgICAgIG5hbWU9XCJvbmx5X21lXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9TQ0FBU09wdGlvbnNDb250YWluZXI+XG4gICAgICAgIDwvU0NBQVNTZWN0aW9uPlxuICAgICAgPC9TQ0FBU0NvbnRlbnQ+XG4gICAgPC9TQ0FBU1dyYXBwZXI+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLFNBQVNBLFFBQVEsRUFBRUMsU0FBUyxRQUFRLE9BQU87QUFDM0MsU0FBU0MsY0FBYyxRQUFRLGVBQWU7QUFDOUMsU0FBU0MsbUJBQW1CLFFBQVEsb0NBQW9DO0FBQ3hFLFNBQVNDLG1CQUFtQixRQUFRLG9DQUFvQztBQUN4RSxTQUFTQyxNQUFNLEVBQUVDLFFBQVEsUUFBUSw0QkFBNEI7QUFDN0QsU0FDRUMsWUFBWSxFQUNaQyxXQUFXLEVBQ1hDLFVBQVUsRUFDVkMsYUFBYSxFQUNiQyxZQUFZLEVBQ1pDLFlBQVksRUFDWkMsa0JBQWtCLEVBQ2xCQyxpQkFBaUIsRUFDakJDLG9CQUFvQixFQUNwQkMscUJBQXFCLEVBQ3JCQyxZQUFZLFFBQ1Asa0NBQWtDO0FBQUEsU0FBQUMsR0FBQSxJQUFBQyxJQUFBLEVBQUFDLElBQUEsSUFBQUMsS0FBQTtBQWN6QyxPQUFPLElBQU1DLHVCQUF1QixHQUFHLFNBQTFCQSx1QkFBdUJBLENBQUFDLElBQUEsRUFBdUU7RUFBQSxJQUFBQyxxQkFBQSxFQUFBQyxzQkFBQSxFQUFBQyxzQkFBQSxFQUFBQyxzQkFBQSxFQUFBQyxtQkFBQTtFQUFBLElBQWpFQyxNQUFNLEdBQUFOLElBQUEsQ0FBTk0sTUFBTTtJQUFFQyxvQkFBb0IsR0FBQVAsSUFBQSxDQUFwQk8sb0JBQW9CO0VBQ3BFLElBQUFDLGVBQUEsR0FBYzdCLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQztJQUF6QzhCLENBQUMsR0FBQUQsZUFBQSxDQUFEQyxDQUFDO0VBQ1QsSUFBTUMsY0FBYyxHQUFHM0IsUUFBUSxDQUFDLENBQUM7RUFFakMsSUFBQTRCLFNBQUEsR0FBb0NsQyxRQUFRLENBSXpDO01BQ0RtQyxVQUFVLEVBQUUsQ0FBQU4sTUFBTSxhQUFOQSxNQUFNLGdCQUFBTCxxQkFBQSxHQUFOSyxNQUFNLENBQUVPLGFBQWEsY0FBQVoscUJBQUEsdUJBQXJCQSxxQkFBQSxDQUF1QlcsVUFBVSxLQUFJLFNBQVM7TUFDMURFLE9BQU8sRUFBRSxDQUFBUixNQUFNLGFBQU5BLE1BQU0sZ0JBQUFKLHNCQUFBLEdBQU5JLE1BQU0sQ0FBRU8sYUFBYSxjQUFBWCxzQkFBQSx1QkFBckJBLHNCQUFBLENBQXVCWSxPQUFPLEtBQUksSUFBSTtNQUMvQ0MsVUFBVSxHQUFBWixzQkFBQSxHQUFFRyxNQUFNLGFBQU5BLE1BQU0sZ0JBQUFGLHNCQUFBLEdBQU5FLE1BQU0sQ0FBRU8sYUFBYSxjQUFBVCxzQkFBQSx1QkFBckJBLHNCQUFBLENBQXVCVyxVQUFVLGNBQUFaLHNCQUFBLGNBQUFBLHNCQUFBLEdBQUk7SUFDbkQsQ0FBQyxDQUFDO0lBQUFhLFVBQUEsR0FBQUMsY0FBQSxDQUFBTixTQUFBO0lBUktPLFVBQVUsR0FBQUYsVUFBQTtJQUFFRyxhQUFhLEdBQUFILFVBQUE7RUFVaEMsSUFBTUksbUJBQWtCLEdBQUcsU0FBckJBLGtCQUFrQkEsQ0FBSUMsTUFBYyxFQUFFUCxPQUFpQyxFQUFLO0lBQ2hGLElBQU1RLGFBQXdDLEdBQUc7TUFDL0NDLE9BQU8sRUFBRSxhQUFhO01BQ3RCVCxPQUFPLEVBQUUsYUFBYTtNQUN0QlUsT0FBTyxFQUFFO0lBQ1gsQ0FBQztJQUVEZCxjQUFjLENBQUM1QixNQUFNLENBQUMyQyxpQkFBaUIsRUFBRTtNQUFFSixNQUFNLEVBQUVDLGFBQWEsQ0FBQ0QsTUFBTTtJQUFFLENBQUMsQ0FBQztJQUUzRSxJQUFNSyxXQUFXLEdBQUc7TUFDbEJkLFVBQVUsRUFBRVMsTUFBTTtNQUNsQlAsT0FBTyxFQUFFLElBQStCO01BQ3hDQyxVQUFVLEVBQUVHLFVBQVUsQ0FBQ0g7SUFDekIsQ0FBQztJQUNELElBQUlNLE1BQU0sS0FBSyxTQUFTLElBQUksQ0FBQ1AsT0FBTyxFQUFFO01BQ3BDSyxhQUFhLENBQUNPLFdBQVcsQ0FBQztNQUMxQjtJQUNGO0lBRUEsSUFBTUMsY0FBYyxHQUFHYixPQUFPLENBQUNjLEdBQUcsQ0FBQyxVQUFBQyxNQUFNO01BQUEsT0FBSztRQUM1Q0MsRUFBRSxFQUFFRCxNQUFNLENBQUNDLEVBQUU7UUFDYkMsSUFBSSxFQUFFRixNQUFNLENBQUNFLElBQUk7UUFDakJDLFNBQVMsRUFBRUgsTUFBTSxDQUFDRyxTQUFTO1FBQzNCQyxVQUFVLEVBQUVKLE1BQU0sQ0FBQ0k7TUFDckIsQ0FBQztJQUFBLENBQUMsQ0FBQztJQUVILElBQUluQixPQUFPLElBQUlBLE9BQU8sQ0FBQ29CLE1BQU0sR0FBRyxDQUFDLEVBQUU7TUFDakN4QixjQUFjLENBQUM1QixNQUFNLENBQUNxRCx5QkFBeUIsQ0FBQztJQUNsRDtJQUVBaEIsYUFBYSxDQUFBaUIsYUFBQSxDQUFBQSxhQUFBLEtBQU1WLFdBQVc7TUFBRVosT0FBTyxFQUFFYTtJQUFjLEVBQUUsQ0FBQztFQUM1RCxDQUFDO0VBRUQsSUFBTVUsc0JBQXNCLEdBQUcsU0FBekJBLHNCQUFzQkEsQ0FBSUMsT0FBZ0IsRUFBSztJQUNuRDVCLGNBQWMsQ0FBQzVCLE1BQU0sQ0FBQ3lELFlBQVksRUFBRTtNQUFFbEIsTUFBTSxFQUFFaUIsT0FBTyxHQUFHLElBQUksR0FBRztJQUFNLENBQUMsQ0FBQztJQUV2RW5CLGFBQWEsQ0FBQyxVQUFBcUIsSUFBSTtNQUFBLE9BQUFKLGFBQUEsQ0FBQUEsYUFBQSxLQUNiSSxJQUFJO1FBQ1B6QixVQUFVLEVBQUV1QjtNQUFPO0lBQUEsQ0FDbkIsQ0FBQztFQUNMLENBQUM7RUFFRDVELFNBQVMsQ0FBQyxZQUFNO0lBQ2QsSUFBSXdDLFVBQVUsRUFBRTtNQUNkWCxvQkFBb0IsYUFBcEJBLG9CQUFvQixlQUFwQkEsb0JBQW9CLENBQUc7UUFDckJrQyxHQUFHLEVBQUUsZUFBZTtRQUNwQkMsS0FBSyxFQUFFeEI7TUFDVCxDQUFDLENBQUM7SUFDSjtFQUNGLENBQUMsRUFBRSxDQUFDQSxVQUFVLENBQUMsQ0FBQztFQUVoQixvQkFDRXBCLEtBQUEsQ0FBQ2QsWUFBWTtJQUFBMkQsUUFBQSxnQkFDWDdDLEtBQUEsQ0FBQ2IsV0FBVztNQUFDMkQsTUFBTSxFQUFFLENBQUU7TUFBQUQsUUFBQSxnQkFDckIvQyxJQUFBLENBQUNWLFVBQVU7UUFBQXlELFFBQUEsRUFBRWxDLENBQUMsQ0FBQyxtQ0FBbUM7TUFBQyxDQUFhLENBQUMsZUFDakViLElBQUEsQ0FBQ1QsYUFBYTtRQUFBd0QsUUFBQSxFQUFFbEMsQ0FBQyxDQUFDLHNDQUFzQztNQUFDLENBQWdCLENBQUM7SUFBQSxDQUMvRCxDQUFDLGVBQ2RYLEtBQUEsQ0FBQ1YsWUFBWTtNQUFDd0QsTUFBTSxFQUFFLENBQUU7TUFBQUQsUUFBQSxnQkFDdEI3QyxLQUFBLENBQUNULFlBQVk7UUFBQXNELFFBQUEsZ0JBQ1g3QyxLQUFBLENBQUNSLGtCQUFrQjtVQUFBcUQsUUFBQSxnQkFDakIvQyxJQUFBLENBQUNMLGlCQUFpQjtZQUFBb0QsUUFBQSxFQUFFbEMsQ0FBQyxDQUFDLDBDQUEwQztVQUFDLENBQW9CLENBQUMsZUFDdEZiLElBQUEsQ0FBQ0osb0JBQW9CO1lBQUFtRCxRQUFBLEVBQUVsQyxDQUFDLENBQUMsNkNBQTZDO1VBQUMsQ0FBdUIsQ0FBQztRQUFBLENBQzdFLENBQUMsZUFDckJiLElBQUEsQ0FBQ2YsbUJBQW1CO1VBQ2xCZ0UsS0FBSyxFQUFFcEMsQ0FBQyxDQUFDLHNDQUFzQyxDQUFFO1VBQ2pEcUMsV0FBVyxFQUFFckMsQ0FBQyxDQUFDLDRDQUE0QyxDQUFFO1VBQzdENkIsT0FBTyxFQUFFcEIsVUFBVSxDQUFDSCxVQUFXO1VBQy9CZ0MsUUFBUSxFQUFFVjtRQUF1QixDQUNsQyxDQUFDO01BQUEsQ0FDVSxDQUFDLGVBRWZ6QyxJQUFBLENBQUNGLFlBQVksSUFBRSxDQUFDLGVBRWhCSSxLQUFBLENBQUNULFlBQVk7UUFBQXNELFFBQUEsZ0JBQ1g3QyxLQUFBLENBQUNSLGtCQUFrQjtVQUFBcUQsUUFBQSxnQkFDakIvQyxJQUFBLENBQUNMLGlCQUFpQjtZQUFBb0QsUUFBQSxFQUFFbEMsQ0FBQyxDQUFDLHNDQUFzQztVQUFDLENBQW9CLENBQUMsZUFDbEZiLElBQUEsQ0FBQ0osb0JBQW9CO1lBQUFtRCxRQUFBLEVBQUVsQyxDQUFDLENBQUMsbUNBQW1DO1VBQUMsQ0FBdUIsQ0FBQztRQUFBLENBQ25FLENBQUMsZUFDckJYLEtBQUEsQ0FBQ0wscUJBQXFCO1VBQUFrRCxRQUFBLGdCQUNwQi9DLElBQUEsQ0FBQ2hCLG1CQUFtQjtZQUNsQmlFLEtBQUssRUFBRXBDLENBQUMsQ0FBQyxzQ0FBc0MsQ0FBRTtZQUNqRHFDLFdBQVcsRUFBRXJDLENBQUMsQ0FBQyw0Q0FBNEMsQ0FBRTtZQUM3RFcsa0JBQWtCLEVBQUUsU0FBcEJBLGtCQUFrQkEsQ0FBQTtjQUFBLE9BQVFBLG1CQUFrQixDQUFDLFNBQVMsQ0FBQztZQUFBLENBQUM7WUFDeEQ0QixjQUFjLEVBQUU5QixVQUFVLENBQUNOLFVBQVc7WUFDdENtQixJQUFJLEVBQUM7VUFBUyxDQUNmLENBQUMsZUFDRm5DLElBQUEsQ0FBQ2hCLG1CQUFtQjtZQUNsQmlFLEtBQUssRUFBRXBDLENBQUMsQ0FBQyxrQ0FBa0MsQ0FBRTtZQUM3Q3FDLFdBQVcsRUFBRXJDLENBQUMsQ0FBQyx3Q0FBd0MsQ0FBRTtZQUN6RHdDLFFBQVEsRUFBRS9CLFVBQVUsQ0FBQ04sVUFBVSxLQUFLLFNBQVU7WUFDOUNRLGtCQUFrQixFQUFFLFNBQXBCQSxrQkFBa0JBLENBQUc4QixLQUF3QjtjQUFBLE9BQUs5QixtQkFBa0IsQ0FBQyxTQUFTLEVBQUU4QixLQUFLLENBQUM7WUFBQSxDQUFDO1lBQ3ZGRixjQUFjLEVBQUU5QixVQUFVLENBQUNOLFVBQVc7WUFDdENtQixJQUFJLEVBQUMsU0FBUztZQUNkb0IsZUFBZSxHQUFBOUMsbUJBQUEsR0FBRWEsVUFBVSxDQUFDSixPQUFPLGNBQUFULG1CQUFBLHVCQUFsQkEsbUJBQUEsQ0FBb0J1QixHQUFHLENBQUMsVUFBQUMsTUFBTTtjQUFBLElBQUF1QixZQUFBO2NBQUEsT0FBSztnQkFDbER0QixFQUFFLEVBQUVELE1BQU0sQ0FBQ0MsRUFBRTtnQkFDYkMsSUFBSSxHQUFBcUIsWUFBQSxHQUFFdkIsTUFBTSxDQUFDRSxJQUFJLGNBQUFxQixZQUFBLGNBQUFBLFlBQUEsR0FBSSxFQUFFO2dCQUN2QnBCLFNBQVMsRUFBRUgsTUFBTSxDQUFDRyxTQUFTO2dCQUMzQkMsVUFBVSxFQUFFSixNQUFNLENBQUNJO2NBQ3JCLENBQUM7WUFBQSxDQUFDO1VBQUUsQ0FDTCxDQUFDLGVBQ0ZyQyxJQUFBLENBQUNoQixtQkFBbUI7WUFDbEJpRSxLQUFLLEVBQUVwQyxDQUFDLENBQUMsK0JBQStCLENBQUU7WUFDMUNxQyxXQUFXLEVBQUVyQyxDQUFDLENBQUMscUNBQXFDLENBQUU7WUFDdERXLGtCQUFrQixFQUFFLFNBQXBCQSxrQkFBa0JBLENBQUE7Y0FBQSxPQUFRQSxtQkFBa0IsQ0FBQyxTQUFTLENBQUM7WUFBQSxDQUFDO1lBQ3hENEIsY0FBYyxFQUFFOUIsVUFBVSxDQUFDTixVQUFXO1lBQ3RDbUIsSUFBSSxFQUFDO1VBQVMsQ0FDZixDQUFDO1FBQUEsQ0FDbUIsQ0FBQztNQUFBLENBQ1osQ0FBQztJQUFBLENBQ0gsQ0FBQztFQUFBLENBQ0gsQ0FBQztBQUVuQixDQUFDIiwiaWdub3JlTGlzdCI6W119
236
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsInVzZVRyYW5zbGF0aW9uIiwiT3B0aW9uQWNjZXNzaWJpbGl0eSIsIk9wdGlvbkNvclBlcm1pc3Npb24iLCJFVkVOVFMiLCJ1c2VFdmVudCIsImdldEF2YWlsYWJsZUNvbm5lY3RvcnMiLCJORVRTVUlURV9DT05ORUNUT1JfU0xVRyIsIlNDQUFTV3JhcHBlciIsIlNDQUFTSGVhZGVyIiwiU0NBQVNUaXRsZSIsIlNDQUFTU3VidGl0bGUiLCJTQ0FBU0NvbnRlbnQiLCJTQ0FBU1NlY3Rpb24iLCJTQ0FBU1NlY3Rpb25IZWFkZXIiLCJTQ0FBU1NlY3Rpb25UaXRsZSIsIlNDQUFTU2VjdGlvblN1YnRpdGxlIiwiU0NBQVNPcHRpb25zQ29udGFpbmVyIiwiU0NBQVNEaXZpZGVyIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkZBTExCQUNLX0NPTk5FQ1RPUlMiLCJpZCIsInNsdWciLCJuYW1lIiwicmVxdWlyZXNfYXV0aCIsImlzX2FjdGl2ZSIsIkFibUFjY2Vzc2liaWxpdHlTZWN0aW9uIiwiX3JlZiIsIl92YWx1ZXMkYWNjZXNzaWJpbGl0eSIsIl92YWx1ZXMkYWNjZXNzaWJpbGl0eTIiLCJfdmFsdWVzJGFjY2Vzc2liaWxpdHkzIiwiX3ZhbHVlcyRhY2Nlc3NpYmlsaXR5NCIsIl92YWx1ZXMkYWNjZXNzaWJpbGl0eTUiLCJfdmFsdWVzJGFjY2Vzc2liaWxpdHk3IiwiX2Zvcm1WYWx1ZXMkY2xpZW50cyIsInZhbHVlcyIsImhhbmRsZVNldEFnZW50VmFsdWVzIiwiX3VzZVRyYW5zbGF0aW9uIiwidCIsImV2ZW50QW1wbGl0dWRlIiwiX3VzZVN0YXRlIiwiYWNjZXNzVHlwZSIsImFjY2Vzc2liaWxpdHkiLCJjbGllbnRzIiwidGFza0FjY2VzcyIsInNlbGVjdGVkQ29ubmVjdG9ycyIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImZvcm1WYWx1ZXMiLCJzZXRGb3JtVmFsdWVzIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJjYXRhbG9nQ29ubmVjdG9ycyIsInNldENhdGFsb2dDb25uZWN0b3JzIiwiaGFuZGxlU2VsZWN0T3B0aW9uIiwib3B0aW9uIiwib3B0aW9uTWFwcGluZyIsImNvbXBhbnkiLCJvbmx5X21lIiwiYWNjZXNzaWJpbGl0eVR5cGUiLCJ2YWx1ZVRvU2VuZCIsImNsaWVudEZvcm1EYXRhIiwibWFwIiwiY2xpZW50IiwiaXNfZGVsZXRlZCIsImxlbmd0aCIsImFjY2Vzc2liaWxpdHlTZWxlY3RDbGllbnQiLCJfb2JqZWN0U3ByZWFkIiwiaGFuZGxlVGFza0FjY2Vzc0NoYW5nZSIsImNoZWNrZWQiLCJjb25uZWN0b3JDb3IiLCJwcmV2IiwiaGFuZGxlQ29ubmVjdG9yQWNjZXNzQ2hhbmdlIiwiY29ubmVjdG9yTWNwIiwibmV4dCIsIlNldCIsImFkZCIsIkFycmF5IiwiZnJvbSIsIl92YWx1ZXMkYWNjZXNzaWJpbGl0eTYiLCJuZXh0Q29ubmVjdG9ycyIsImN1cnJlbnQiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJzb3J0Iiwiam9pbiIsImluY29taW5nIiwia2V5IiwidmFsdWUiLCJjYW5jZWxsZWQiLCJ0aGVuIiwiY29ubmVjdG9ycyIsImZpbHRlciIsImNvbm5lY3RvciIsImVycm9yIiwiY29uc29sZSIsImNoaWxkcmVuIiwiJGluZGV4IiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsIm9uQ2hhbmdlIiwiaW5jbHVkZXMiLCJvcHRpb25TZWxlY3RlZCIsImlzQ2xpZW50IiwicHJvcHMiLCJzZWxlY3RlZENsaWVudHMiLCJfY2xpZW50JG5hbWUiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQWJtU2VjdGlvbi9BYm1BY2Nlc3NpYmlsaXR5U2VjdGlvbi9BYm1BY2Nlc3NpYmlsaXR5U2VjdGlvbi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlU3RhdGUsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgT3B0aW9uQWNjZXNzaWJpbGl0eSB9IGZyb20gJy4uLy4uLy4uL2F0b21zL09wdGlvbkFjY2Vzc2liaWxpdHknXG5pbXBvcnQgeyBPcHRpb25Db3JQZXJtaXNzaW9uIH0gZnJvbSAnLi4vLi4vLi4vYXRvbXMvT3B0aW9uQ29yUGVybWlzc2lvbidcbmltcG9ydCB7IEVWRU5UUywgdXNlRXZlbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9ob29rcy91c2VFdmVudCdcbmltcG9ydCB7IGdldEF2YWlsYWJsZUNvbm5lY3RvcnMsIHR5cGUgQ2F0YWxvZ0Nvbm5lY3RvciB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL21haWEvQWdlbnRzL2Nvbm5lY3RvcnMnXG5pbXBvcnQgeyBORVRTVUlURV9DT05ORUNUT1JfU0xVRyB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzL25vcm1hbGl6ZUFnZW50Q29ubmVjdG9ycydcbmltcG9ydCB7XG4gIFNDQUFTV3JhcHBlcixcbiAgU0NBQVNIZWFkZXIsXG4gIFNDQUFTVGl0bGUsXG4gIFNDQUFTU3VidGl0bGUsXG4gIFNDQUFTQ29udGVudCxcbiAgU0NBQVNTZWN0aW9uLFxuICBTQ0FBU1NlY3Rpb25IZWFkZXIsXG4gIFNDQUFTU2VjdGlvblRpdGxlLFxuICBTQ0FBU1NlY3Rpb25TdWJ0aXRsZSxcbiAgU0NBQVNPcHRpb25zQ29udGFpbmVyLFxuICBTQ0FBU0RpdmlkZXIsXG59IGZyb20gJy4vQWJtQWNjZXNzaWJpbGl0eVNlY3Rpb24uc3R5bGVzJ1xuaW1wb3J0IHsgQ2xpZW50Rm9ybURhdGEgfSBmcm9tICcuL0FibUFjY2Vzc2liaWxpdHlTZWN0aW9uLmludGVyZmFjZSdcblxuY29uc3QgRkFMTEJBQ0tfQ09OTkVDVE9SUzogQ2F0YWxvZ0Nvbm5lY3RvcltdID0gW1xuICB7XG4gICAgaWQ6IDAsXG4gICAgc2x1ZzogTkVUU1VJVEVfQ09OTkVDVE9SX1NMVUcsXG4gICAgbmFtZTogJ05ldFN1aXRlJyxcbiAgICByZXF1aXJlc19hdXRoOiB0cnVlLFxuICAgIGlzX2FjdGl2ZTogdHJ1ZSxcbiAgfSxcbl1cblxuaW50ZXJmYWNlIEFibUFjY2Vzc2liaWxpdHlTZWN0aW9uUHJvcHMge1xuICB2YWx1ZXM/OiB7XG4gICAgYWNjZXNzaWJpbGl0eT86IHtcbiAgICAgIGFjY2Vzc1R5cGU/OiBzdHJpbmdcbiAgICAgIGNsaWVudHM/OiBDbGllbnRGb3JtRGF0YVtdIHwgbnVsbFxuICAgICAgdGFza0FjY2Vzcz86IGJvb2xlYW5cbiAgICAgIHNlbGVjdGVkQ29ubmVjdG9ycz86IHN0cmluZ1tdXG4gICAgfVxuICB9XG4gIGhhbmRsZVNldEFnZW50VmFsdWVzPzogKHsga2V5LCB2YWx1ZSB9OiB7IGtleTogc3RyaW5nOyB2YWx1ZTogdW5rbm93biB9KSA9PiB2b2lkXG59XG5cbmV4cG9ydCBjb25zdCBBYm1BY2Nlc3NpYmlsaXR5U2VjdGlvbiA9ICh7IHZhbHVlcywgaGFuZGxlU2V0QWdlbnRWYWx1ZXMgfTogQWJtQWNjZXNzaWJpbGl0eVNlY3Rpb25Qcm9wcykgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCdhYm1fYWdlbnRfc2VjdGlvbicpXG4gIGNvbnN0IGV2ZW50QW1wbGl0dWRlID0gdXNlRXZlbnQoKVxuXG4gIGNvbnN0IFtmb3JtVmFsdWVzLCBzZXRGb3JtVmFsdWVzXSA9IHVzZVN0YXRlPHtcbiAgICBhY2Nlc3NUeXBlOiBzdHJpbmdcbiAgICBjbGllbnRzOiBDbGllbnRGb3JtRGF0YVtdIHwgbnVsbFxuICAgIHRhc2tBY2Nlc3M6IGJvb2xlYW5cbiAgICBzZWxlY3RlZENvbm5lY3RvcnM6IHN0cmluZ1tdXG4gIH0+KHtcbiAgICBhY2Nlc3NUeXBlOiB2YWx1ZXM/LmFjY2Vzc2liaWxpdHk/LmFjY2Vzc1R5cGUgfHwgJ2NvbXBhbnknLFxuICAgIGNsaWVudHM6IHZhbHVlcz8uYWNjZXNzaWJpbGl0eT8uY2xpZW50cyB8fCBudWxsLFxuICAgIHRhc2tBY2Nlc3M6IHZhbHVlcz8uYWNjZXNzaWJpbGl0eT8udGFza0FjY2VzcyA/PyB0cnVlLFxuICAgIHNlbGVjdGVkQ29ubmVjdG9yczogdmFsdWVzPy5hY2Nlc3NpYmlsaXR5Py5zZWxlY3RlZENvbm5lY3RvcnMgfHwgW10sXG4gIH0pXG4gIGNvbnN0IFtjYXRhbG9nQ29ubmVjdG9ycywgc2V0Q2F0YWxvZ0Nvbm5lY3RvcnNdID0gdXNlU3RhdGU8Q2F0YWxvZ0Nvbm5lY3RvcltdPihGQUxMQkFDS19DT05ORUNUT1JTKVxuXG4gIGNvbnN0IGhhbmRsZVNlbGVjdE9wdGlvbiA9IChvcHRpb246IHN0cmluZywgY2xpZW50cz86IENsaWVudEZvcm1EYXRhW10gfCBudWxsKSA9PiB7XG4gICAgY29uc3Qgb3B0aW9uTWFwcGluZzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHtcbiAgICAgIGNvbXBhbnk6ICdhbGxfY29tcGFueScsXG4gICAgICBjbGllbnRzOiAnYnlfY2xpZW50ZXMnLFxuICAgICAgb25seV9tZTogJ2p1c3RfbWUnLFxuICAgIH1cblxuICAgIGV2ZW50QW1wbGl0dWRlKEVWRU5UUy5hY2Nlc3NpYmlsaXR5VHlwZSwgeyBvcHRpb246IG9wdGlvbk1hcHBpbmdbb3B0aW9uXSB9KVxuXG4gICAgY29uc3QgdmFsdWVUb1NlbmQgPSB7XG4gICAgICBhY2Nlc3NUeXBlOiBvcHRpb24sXG4gICAgICBjbGllbnRzOiBudWxsIGFzIENsaWVudEZvcm1EYXRhW10gfCBudWxsLFxuICAgICAgdGFza0FjY2VzczogZm9ybVZhbHVlcy50YXNrQWNjZXNzLFxuICAgICAgc2VsZWN0ZWRDb25uZWN0b3JzOiBmb3JtVmFsdWVzLnNlbGVjdGVkQ29ubmVjdG9ycyxcbiAgICB9XG4gICAgaWYgKG9wdGlvbiAhPT0gJ2NsaWVudHMnIHx8ICFjbGllbnRzKSB7XG4gICAgICBzZXRGb3JtVmFsdWVzKHZhbHVlVG9TZW5kKVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgY29uc3QgY2xpZW50Rm9ybURhdGEgPSBjbGllbnRzLm1hcChjbGllbnQgPT4gKHtcbiAgICAgIGlkOiBjbGllbnQuaWQsXG4gICAgICBuYW1lOiBjbGllbnQubmFtZSxcbiAgICAgIGlzX2FjdGl2ZTogY2xpZW50LmlzX2FjdGl2ZSxcbiAgICAgIGlzX2RlbGV0ZWQ6IGNsaWVudC5pc19kZWxldGVkLFxuICAgIH0pKVxuXG4gICAgaWYgKGNsaWVudHMgJiYgY2xpZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuYWNjZXNzaWJpbGl0eVNlbGVjdENsaWVudClcbiAgICB9XG5cbiAgICBzZXRGb3JtVmFsdWVzKHsgLi4udmFsdWVUb1NlbmQsIGNsaWVudHM6IGNsaWVudEZvcm1EYXRhIH0pXG4gIH1cblxuICBjb25zdCBoYW5kbGVUYXNrQWNjZXNzQ2hhbmdlID0gKGNoZWNrZWQ6IGJvb2xlYW4pID0+IHtcbiAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuY29ubmVjdG9yQ29yLCB7IG9wdGlvbjogY2hlY2tlZCA/ICdvbicgOiAnb2ZmJyB9KVxuXG4gICAgc2V0Rm9ybVZhbHVlcyhwcmV2ID0+ICh7XG4gICAgICAuLi5wcmV2LFxuICAgICAgdGFza0FjY2VzczogY2hlY2tlZCxcbiAgICB9KSlcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZUNvbm5lY3RvckFjY2Vzc0NoYW5nZSA9IChzbHVnOiBzdHJpbmcsIGNoZWNrZWQ6IGJvb2xlYW4pID0+IHtcbiAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuY29ubmVjdG9yTWNwLCB7IG9wdGlvbjogY2hlY2tlZCA/ICdvbicgOiAnb2ZmJywgc2x1ZyB9KVxuXG4gICAgc2V0Rm9ybVZhbHVlcyhwcmV2ID0+IHtcbiAgICAgIGNvbnN0IG5leHQgPSBuZXcgU2V0KHByZXYuc2VsZWN0ZWRDb25uZWN0b3JzKVxuICAgICAgaWYgKGNoZWNrZWQpIHtcbiAgICAgICAgbmV4dC5hZGQoc2x1ZylcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5leHQuZGVsZXRlKHNsdWcpXG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5wcmV2LFxuICAgICAgICBzZWxlY3RlZENvbm5lY3RvcnM6IEFycmF5LmZyb20obmV4dCksXG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgbmV4dENvbm5lY3RvcnMgPSB2YWx1ZXM/LmFjY2Vzc2liaWxpdHk/LnNlbGVjdGVkQ29ubmVjdG9yc1xuICAgIGlmICghbmV4dENvbm5lY3RvcnMpIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBzZXRGb3JtVmFsdWVzKHByZXYgPT4ge1xuICAgICAgY29uc3QgY3VycmVudCA9IFsuLi5wcmV2LnNlbGVjdGVkQ29ubmVjdG9yc10uc29ydCgpLmpvaW4oJ3wnKVxuICAgICAgY29uc3QgaW5jb21pbmcgPSBbLi4ubmV4dENvbm5lY3RvcnNdLnNvcnQoKS5qb2luKCd8JylcbiAgICAgIGlmIChjdXJyZW50ID09PSBpbmNvbWluZykge1xuICAgICAgICByZXR1cm4gcHJldlxuICAgICAgfVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ucHJldixcbiAgICAgICAgc2VsZWN0ZWRDb25uZWN0b3JzOiBuZXh0Q29ubmVjdG9ycyxcbiAgICAgIH1cbiAgICB9KVxuICB9LCBbdmFsdWVzPy5hY2Nlc3NpYmlsaXR5Py5zZWxlY3RlZENvbm5lY3RvcnNdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGZvcm1WYWx1ZXMpIHtcbiAgICAgIGhhbmRsZVNldEFnZW50VmFsdWVzPy4oe1xuICAgICAgICBrZXk6ICdhY2Nlc3NpYmlsaXR5JyxcbiAgICAgICAgdmFsdWU6IGZvcm1WYWx1ZXMsXG4gICAgICB9KVxuICAgIH1cbiAgfSwgW2Zvcm1WYWx1ZXNdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IGNhbmNlbGxlZCA9IGZhbHNlXG4gICAgZ2V0QXZhaWxhYmxlQ29ubmVjdG9ycygpXG4gICAgICAudGhlbihjb25uZWN0b3JzID0+IHtcbiAgICAgICAgaWYgKCFjYW5jZWxsZWQpIHtcbiAgICAgICAgICBzZXRDYXRhbG9nQ29ubmVjdG9ycyhcbiAgICAgICAgICAgIGNvbm5lY3RvcnMuZmlsdGVyKFxuICAgICAgICAgICAgICBjb25uZWN0b3IgPT4gY29ubmVjdG9yLmlzX2FjdGl2ZSAmJiBjb25uZWN0b3Iuc2x1ZyA9PT0gTkVUU1VJVEVfQ09OTkVDVE9SX1NMVUdcbiAgICAgICAgICAgIClcbiAgICAgICAgICApXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgICAuY2F0Y2goZXJyb3IgPT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBmZXRjaGluZyBjb25uZWN0b3JzIGNhdGFsb2c6JywgZXJyb3IpXG4gICAgICAgIGlmICghY2FuY2VsbGVkKSB7XG4gICAgICAgICAgc2V0Q2F0YWxvZ0Nvbm5lY3RvcnMoRkFMTEJBQ0tfQ09OTkVDVE9SUylcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgY2FuY2VsbGVkID0gdHJ1ZVxuICAgIH1cbiAgfSwgW10pXG5cbiAgcmV0dXJuIChcbiAgICA8U0NBQVNXcmFwcGVyPlxuICAgICAgPFNDQUFTSGVhZGVyICRpbmRleD17MH0+XG4gICAgICAgIDxTQ0FBU1RpdGxlPnt0KCdhY2Nlc3NpYmlsaXR5U2VjdGlvbi50aXRsZVNlY3Rpb24nKX08L1NDQUFTVGl0bGU+XG4gICAgICAgIDxTQ0FBU1N1YnRpdGxlPnt0KCdhY2Nlc3NpYmlsaXR5U2VjdGlvbi5zdWJ0aXRsZVNlY3Rpb24nKX08L1NDQUFTU3VidGl0bGU+XG4gICAgICA8L1NDQUFTSGVhZGVyPlxuICAgICAgPFNDQUFTQ29udGVudCAkaW5kZXg9ezF9PlxuICAgICAgICA8U0NBQVNTZWN0aW9uPlxuICAgICAgICAgIDxTQ0FBU1NlY3Rpb25IZWFkZXI+XG4gICAgICAgICAgICA8U0NBQVNTZWN0aW9uVGl0bGU+e3QoJ2FjY2Vzc2liaWxpdHlTZWN0aW9uLmNvclBlcm1pc3Npb25zVGl0bGUnKX08L1NDQUFTU2VjdGlvblRpdGxlPlxuICAgICAgICAgICAgPFNDQUFTU2VjdGlvblN1YnRpdGxlPnt0KCdhY2Nlc3NpYmlsaXR5U2VjdGlvbi5jb3JQZXJtaXNzaW9uc1N1YnRpdGxlJyl9PC9TQ0FBU1NlY3Rpb25TdWJ0aXRsZT5cbiAgICAgICAgICA8L1NDQUFTU2VjdGlvbkhlYWRlcj5cbiAgICAgICAgICA8T3B0aW9uQ29yUGVybWlzc2lvblxuICAgICAgICAgICAgdGl0bGU9e3QoJ2FjY2Vzc2liaWxpdHlTZWN0aW9uLnRhc2tBY2Nlc3NUaXRsZScpfVxuICAgICAgICAgICAgZGVzY3JpcHRpb249e3QoJ2FjY2Vzc2liaWxpdHlTZWN0aW9uLnRhc2tBY2Nlc3NEZXNjcmlwdGlvbicpfVxuICAgICAgICAgICAgY2hlY2tlZD17Zm9ybVZhbHVlcy50YXNrQWNjZXNzfVxuICAgICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZVRhc2tBY2Nlc3NDaGFuZ2V9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9TQ0FBU1NlY3Rpb24+XG5cbiAgICAgICAgPFNDQUFTRGl2aWRlciAvPlxuXG4gICAgICAgIDxTQ0FBU1NlY3Rpb24+XG4gICAgICAgICAgPFNDQUFTU2VjdGlvbkhlYWRlcj5cbiAgICAgICAgICAgIDxTQ0FBU1NlY3Rpb25UaXRsZT57dCgnYWNjZXNzaWJpbGl0eVNlY3Rpb24ubWNwUGVybWlzc2lvbnNUaXRsZScpfTwvU0NBQVNTZWN0aW9uVGl0bGU+XG4gICAgICAgICAgICA8U0NBQVNTZWN0aW9uU3VidGl0bGU+e3QoJ2FjY2Vzc2liaWxpdHlTZWN0aW9uLm1jcFBlcm1pc3Npb25zU3VidGl0bGUnKX08L1NDQUFTU2VjdGlvblN1YnRpdGxlPlxuICAgICAgICAgIDwvU0NBQVNTZWN0aW9uSGVhZGVyPlxuICAgICAgICAgIHtjYXRhbG9nQ29ubmVjdG9ycy5tYXAoY29ubmVjdG9yID0+IChcbiAgICAgICAgICAgIDxPcHRpb25Db3JQZXJtaXNzaW9uXG4gICAgICAgICAgICAgIGtleT17Y29ubmVjdG9yLnNsdWd9XG4gICAgICAgICAgICAgIHRpdGxlPXtcbiAgICAgICAgICAgICAgICBjb25uZWN0b3Iuc2x1ZyA9PT0gTkVUU1VJVEVfQ09OTkVDVE9SX1NMVUdcbiAgICAgICAgICAgICAgICAgID8gdCgnYWNjZXNzaWJpbGl0eVNlY3Rpb24ubmV0c3VpdGVBY2Nlc3NUaXRsZScpXG4gICAgICAgICAgICAgICAgICA6IGNvbm5lY3Rvci5uYW1lXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgZGVzY3JpcHRpb249e1xuICAgICAgICAgICAgICAgIGNvbm5lY3Rvci5zbHVnID09PSBORVRTVUlURV9DT05ORUNUT1JfU0xVR1xuICAgICAgICAgICAgICAgICAgPyB0KCdhY2Nlc3NpYmlsaXR5U2VjdGlvbi5uZXRzdWl0ZUFjY2Vzc0Rlc2NyaXB0aW9uJylcbiAgICAgICAgICAgICAgICAgIDogY29ubmVjdG9yLmRlc2NyaXB0aW9uIHx8XG4gICAgICAgICAgICAgICAgICAgIHQoJ2FjY2Vzc2liaWxpdHlTZWN0aW9uLmNvbm5lY3RvckFjY2Vzc0Rlc2NyaXB0aW9uJywgeyBuYW1lOiBjb25uZWN0b3IubmFtZSB9KVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGNoZWNrZWQ9e2Zvcm1WYWx1ZXMuc2VsZWN0ZWRDb25uZWN0b3JzLmluY2x1ZGVzKGNvbm5lY3Rvci5zbHVnKX1cbiAgICAgICAgICAgICAgb25DaGFuZ2U9e2NoZWNrZWQgPT4gaGFuZGxlQ29ubmVjdG9yQWNjZXNzQ2hhbmdlKGNvbm5lY3Rvci5zbHVnLCBjaGVja2VkKX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvU0NBQVNTZWN0aW9uPlxuXG4gICAgICAgIDxTQ0FBU0RpdmlkZXIgLz5cblxuICAgICAgICA8U0NBQVNTZWN0aW9uPlxuICAgICAgICAgIDxTQ0FBU1NlY3Rpb25IZWFkZXI+XG4gICAgICAgICAgICA8U0NBQVNTZWN0aW9uVGl0bGU+e3QoJ2FjY2Vzc2liaWxpdHlTZWN0aW9uLnZpc2liaWxpdHlUaXRsZScpfTwvU0NBQVNTZWN0aW9uVGl0bGU+XG4gICAgICAgICAgICA8U0NBQVNTZWN0aW9uU3VidGl0bGU+e3QoJ2FjY2Vzc2liaWxpdHlTZWN0aW9uLndob0NhbkFjY2VzcycpfTwvU0NBQVNTZWN0aW9uU3VidGl0bGU+XG4gICAgICAgICAgPC9TQ0FBU1NlY3Rpb25IZWFkZXI+XG4gICAgICAgICAgPFNDQUFTT3B0aW9uc0NvbnRhaW5lcj5cbiAgICAgICAgICAgIDxPcHRpb25BY2Nlc3NpYmlsaXR5XG4gICAgICAgICAgICAgIHRpdGxlPXt0KCdhY2Nlc3NpYmlsaXR5U2VjdGlvbi5hbGxDb21wYW55VGl0bGUnKX1cbiAgICAgICAgICAgICAgZGVzY3JpcHRpb249e3QoJ2FjY2Vzc2liaWxpdHlTZWN0aW9uLmFsbENvbXBhbnlEZXNjcmlwdGlvbicpfVxuICAgICAgICAgICAgICBoYW5kbGVTZWxlY3RPcHRpb249eygpID0+IGhhbmRsZVNlbGVjdE9wdGlvbignY29tcGFueScpfVxuICAgICAgICAgICAgICBvcHRpb25TZWxlY3RlZD17Zm9ybVZhbHVlcy5hY2Nlc3NUeXBlfVxuICAgICAgICAgICAgICBuYW1lPVwiY29tcGFueVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPE9wdGlvbkFjY2Vzc2liaWxpdHlcbiAgICAgICAgICAgICAgdGl0bGU9e3QoJ2FjY2Vzc2liaWxpdHlTZWN0aW9uLmNsaWVudFRpdGxlJyl9XG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uPXt0KCdhY2Nlc3NpYmlsaXR5U2VjdGlvbi5jbGllbnREZXNjcmlwdGlvbicpfVxuICAgICAgICAgICAgICBpc0NsaWVudD17Zm9ybVZhbHVlcy5hY2Nlc3NUeXBlID09PSAnY2xpZW50cyd9XG4gICAgICAgICAgICAgIGhhbmRsZVNlbGVjdE9wdGlvbj17KHByb3BzPzogQ2xpZW50Rm9ybURhdGFbXSkgPT4gaGFuZGxlU2VsZWN0T3B0aW9uKCdjbGllbnRzJywgcHJvcHMpfVxuICAgICAgICAgICAgICBvcHRpb25TZWxlY3RlZD17Zm9ybVZhbHVlcy5hY2Nlc3NUeXBlfVxuICAgICAgICAgICAgICBuYW1lPVwiY2xpZW50c1wiXG4gICAgICAgICAgICAgIHNlbGVjdGVkQ2xpZW50cz17Zm9ybVZhbHVlcy5jbGllbnRzPy5tYXAoY2xpZW50ID0+ICh7XG4gICAgICAgICAgICAgICAgaWQ6IGNsaWVudC5pZCxcbiAgICAgICAgICAgICAgICBuYW1lOiBjbGllbnQubmFtZSA/PyAnJyxcbiAgICAgICAgICAgICAgICBpc19hY3RpdmU6IGNsaWVudC5pc19hY3RpdmUsXG4gICAgICAgICAgICAgICAgaXNfZGVsZXRlZDogY2xpZW50LmlzX2RlbGV0ZWQsXG4gICAgICAgICAgICAgIH0pKX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8T3B0aW9uQWNjZXNzaWJpbGl0eVxuICAgICAgICAgICAgICB0aXRsZT17dCgnYWNjZXNzaWJpbGl0eVNlY3Rpb24ub3duVGl0bGUnKX1cbiAgICAgICAgICAgICAgZGVzY3JpcHRpb249e3QoJ2FjY2Vzc2liaWxpdHlTZWN0aW9uLm93bkRlc2NyaXB0aW9uJyl9XG4gICAgICAgICAgICAgIGhhbmRsZVNlbGVjdE9wdGlvbj17KCkgPT4gaGFuZGxlU2VsZWN0T3B0aW9uKCdvbmx5X21lJyl9XG4gICAgICAgICAgICAgIG9wdGlvblNlbGVjdGVkPXtmb3JtVmFsdWVzLmFjY2Vzc1R5cGV9XG4gICAgICAgICAgICAgIG5hbWU9XCJvbmx5X21lXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9TQ0FBU09wdGlvbnNDb250YWluZXI+XG4gICAgICAgIDwvU0NBQVNTZWN0aW9uPlxuICAgICAgPC9TQ0FBU0NvbnRlbnQ+XG4gICAgPC9TQ0FBU1dyYXBwZXI+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxTQUFTQSxRQUFRLEVBQUVDLFNBQVMsUUFBUSxPQUFPO0FBQzNDLFNBQVNDLGNBQWMsUUFBUSxlQUFlO0FBQzlDLFNBQVNDLG1CQUFt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
@@ -22,7 +22,7 @@ import { useGlobalContext } from '../../../context/global-context';
22
22
  import { useT } from '../../../hooks/useT';
23
23
  import { EVENTS, useEvent } from '../../../hooks/useEvent';
24
24
  import { StyledChatFooter, ChipsAndFaqsRow, ContextBarLeft, FooterActionsRight } from './styles';
25
- import { CsvFileIcon, MDFileIcon, DocFileIcon, DocxFileIcon, TextFileIcon, PdfFileIcon, ImageFileIcon, XlsxFileIcon, XlsFileIcon, Mp3FileIcon, WavFileIcon, FlacFileIcon, M4aFileIcon, Mp4FileIcon, OgaFileIcon, OggFileIcon, WebmFileIcon } from '../../atoms/icons';
25
+ import { CsvFileIcon, MDFileIcon, DocFileIcon, DocxFileIcon, PptFileIcon, PptxFileIcon, TextFileIcon, PdfFileIcon, ImageFileIcon, XlsxFileIcon, XlsFileIcon, Mp3FileIcon, WavFileIcon, FlacFileIcon, M4aFileIcon, Mp4FileIcon, OgaFileIcon, OggFileIcon, WebmFileIcon } from '../../atoms/icons';
26
26
  import { ImagePreview } from '../../atoms/ImagePreview/ImagePreview';
27
27
  import { preprocessImageForBackend } from '../../../utils/imagePreprocessor';
28
28
  import { validateIsMaia } from '../../../services/utils/validateIsMaia';
@@ -35,8 +35,8 @@ export var IconByFileType = {
35
35
  'text/csv': /*#__PURE__*/_jsx(CsvFileIcon, {}),
36
36
  'application/msword': /*#__PURE__*/_jsx(DocFileIcon, {}),
37
37
  'application/vnd.openxmlformats-officedocument.wordprocessingml.document': /*#__PURE__*/_jsx(DocxFileIcon, {}),
38
- 'application/vnd.ms-powerpoint': /*#__PURE__*/_jsx(DocFileIcon, {}),
39
- 'application/vnd.openxmlformats-officedocument.presentationml.presentation': /*#__PURE__*/_jsx(DocxFileIcon, {}),
38
+ 'application/vnd.ms-powerpoint': /*#__PURE__*/_jsx(PptFileIcon, {}),
39
+ 'application/vnd.openxmlformats-officedocument.presentationml.presentation': /*#__PURE__*/_jsx(PptxFileIcon, {}),
40
40
  'application/pdf': /*#__PURE__*/_jsx(PdfFileIcon, {}),
41
41
  'image/png': /*#__PURE__*/_jsx(ImageFileIcon, {}),
42
42
  'image/jpeg': /*#__PURE__*/_jsx(ImageFileIcon, {}),
@@ -198,15 +198,17 @@ export function ChatFooter(_ref) {
198
198
  fileExtension = fileNameParts.length > 1 ? ".".concat((_fileNameParts$pop = fileNameParts.pop()) === null || _fileNameParts$pop === void 0 ? void 0 : _fileNameParts$pop.toLowerCase()) : '';
199
199
  isImageByExtension = ['.png', '.jpg', '.jpeg'].includes(fileExtension);
200
200
  isImageByMime = file.type.startsWith('image/');
201
- isImage = isImageByMime && isImageByExtension; // Mapeo de extensión a icono directo para casos especiales (audio/ogg y audio/mp4)
201
+ isImage = isImageByMime && isImageByExtension; // Si el MIME no distingue bien la extensión (audio/ogg, audio/mp4, PowerPoint), usar el icono por extensión
202
202
  extensionToIcon = {
203
203
  '.ogg': /*#__PURE__*/_jsx(OggFileIcon, {}),
204
204
  '.oga': /*#__PURE__*/_jsx(OgaFileIcon, {}),
205
205
  '.mp4': /*#__PURE__*/_jsx(Mp4FileIcon, {}),
206
- '.m4a': /*#__PURE__*/_jsx(M4aFileIcon, {})
206
+ '.m4a': /*#__PURE__*/_jsx(M4aFileIcon, {}),
207
+ '.ppt': /*#__PURE__*/_jsx(PptFileIcon, {}),
208
+ '.pptx': /*#__PURE__*/_jsx(PptxFileIcon, {})
207
209
  };
208
- icon = IconByFileType[file.type]; // Si el tipo es audio/ogg o audio/mp4, usar la extensión para determinar el icono
209
- if ((file.type === 'audio/ogg' || file.type === 'audio/mp4') && fileExtension) {
210
+ icon = IconByFileType[file.type]; // Si el tipo es audio/ogg, audio/mp4 o PowerPoint genérico, usar la extensión para el icono
211
+ if ((file.type === 'audio/ogg' || file.type === 'audio/mp4' || file.type === 'application/vnd.ms-powerpoint') && fileExtension) {
210
212
  icon = extensionToIcon[fileExtension] || icon;
211
213
  }
212
214
  if (!icon) {
@@ -369,4 +371,4 @@ export function ChatFooter(_ref) {
369
371
  })]
370
372
  });
371
373
  }
372
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VNZW1vIiwidXNlUmVmIiwidXNlU3RhdGUiLCJ1c2VFZmZlY3QiLCJBdHRhY2giLCJHbG9iZSIsIkxpc3RDaGVja2xpc3QiLCJNT0RBTF9FTEVNRU5UUyIsIkNoaXAiLCJNQUlBSW5wdXQiLCJDaGF0Rm9vdGVyQ29yQWNjZXNzIiwidXNlR2xvYmFsQ29udGV4dCIsInVzZVQiLCJFVkVOVFMiLCJ1c2VFdmVudCIsIlN0eWxlZENoYXRGb290ZXIiLCJDaGlwc0FuZEZhcXNSb3ciLCJDb250ZXh0QmFyTGVmdCIsIkZvb3RlckFjdGlvbnNSaWdodCIsIkNzdkZpbGVJY29uIiwiTURGaWxlSWNvbiIsIkRvY0ZpbGVJY29uIiwiRG9jeEZpbGVJY29uIiwiVGV4dEZpbGVJY29uIiwiUGRmRmlsZUljb24iLCJJbWFnZUZpbGVJY29uIiwiWGxzeEZpbGVJY29uIiwiWGxzRmlsZUljb24iLCJNcDNGaWxlSWNvbiIsIldhdkZpbGVJY29uIiwiRmxhY0ZpbGVJY29uIiwiTTRhRmlsZUljb24iLCJNcDRGaWxlSWNvbiIsIk9nYUZpbGVJY29uIiwiT2dnRmlsZUljb24iLCJXZWJtRmlsZUljb24iLCJJbWFnZVByZXZpZXciLCJwcmVwcm9jZXNzSW1hZ2VGb3JCYWNrZW5kIiwidmFsaWRhdGVJc01haWEiLCJpc01haWFrZXJBZ2VudCIsIkNoYXREaXNjbGFpbWVyTWVzc2FnZSIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJJY29uQnlGaWxlVHlwZSIsIkNoYXRGb290ZXIiLCJfcmVmIiwiX2FnZW50JGNvbm5lY3RvcnMiLCJvblNlbmRNZXNzYWdlIiwiaXRlbXMiLCJkaXNhYmxlZCIsImlzU3RyZWFtaW5nIiwiaXNXcml0aW5nIiwib25TdG9wR2VuZXJhdGlvbiIsImNoYXRJZCIsIm5ld0NoYXRLZXkiLCJfcmVmJHNob3dGYXFzIiwic2hvd0ZhcXMiLCJ0b29sdGlwWkluZGV4IiwibGF5b3V0TW9kZSIsIl91c2VHbG9iYWxDb250ZXh0IiwicHJvamVjdCIsImFnZW50IiwiY2hpcHNQcm9qZWN0IiwiY2xpZW50IiwidGFzayIsInNlY3Rpb24iLCJkZWVwTGlua1NlbmRQZW5kaW5nUmVmIiwiX3VzZVQiLCJ0IiwiZXZlbnQiLCJpbnB1dFBvcG92ZXJBbmNob3JSZWYiLCJjb250ZXh0QmFyQW5jaG9yUmVmIiwiaXNPcmNoZXN0cmF0b3IiLCJ0eXBlIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiYXR0YWNobWVudHMiLCJzZXRBdHRhY2htZW50cyIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwibG9hZGluZ01lc3NhZ2VzIiwic2V0TG9hZGluZ01lc3NhZ2VzIiwicmVwb3J0ZWRFdmVudCIsImlzTWFya2V0cGxhY2VHbG9iYWxBZ2VudCIsImhhbmRsZUxvYWRpbmdNZXNzYWdlc0NoYW5nZSIsImUiLCJkZXRhaWwiLCJkb2N1bWVudCIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiaGFuZGxlU2Vzc2lvbkNoYW5nZSIsImN1cnJlbnQiLCJfdXNlTWVtbyIsImNoaXBJdGVtcyIsIm5hbWUiLCJjaGlwVHlwZSIsInByb2plY3ROYW1lIiwiZW50aXR5Iiwib25DaGFuZ2UiLCJwbUFpVHlwZWRUZXh0IiwiYWdlbnRfdHlwZSIsImhhbmRsZVNlbmRNZXNzYWdlIiwibWVzc2FnZSIsIm5ld0F0dGFjaG1lbnRzIiwibWVudGlvbnMiLCJmYXFJZCIsImFnZW50U3VnZ2VzdGlvbklkIiwiZnVhSWQiLCJzY0lkIiwiZnJvbURlZXBMaW5rIiwiQm9vbGVhbiIsImFpQ2hhdFNlbmQiLCJfb2JqZWN0U3ByZWFkIiwiYWdlbnRfaWQiLCJpZCIsImFnZW50X25hbWUiLCJzb3VyY2UiLCJoYW5kbGVTZWxlY3RGYXEiLCJ1bmRlZmluZWQiLCJoYW5kbGVGaWxlQXR0YWNoIiwiX3JlZjIiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsImZpbGUiLCJfZmlsZU5hbWVQYXJ0cyRwb3AiLCJmaWxlTmFtZVBhcnRzIiwiZmlsZUV4dGVuc2lvbiIsImlzSW1hZ2VCeUV4dGVuc2lvbiIsImlzSW1hZ2VCeU1pbWUiLCJpc0ltYWdlIiwiZXh0ZW5zaW9uVG9JY29uIiwiaWNvbiIsImV4dGVuc2lvblRvTWltZVR5cGUiLCJtaW1lVHlwZUJ5RXh0ZW5zaW9uIiwicHJvY2Vzc2VkRmlsZSIsImltYWdlVXJsIiwibmV3QXR0YWNobWVudCIsIl90Iiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJzcGxpdCIsImxlbmd0aCIsImNvbmNhdCIsInBvcCIsInRvTG93ZXJDYXNlIiwiaW5jbHVkZXMiLCJzdGFydHNXaXRoIiwiY29sb3IiLCJ3aWR0aCIsImhlaWdodCIsInNlbnQiLCJjb25zb2xlIiwiZXJyb3IiLCJVUkwiLCJjcmVhdGVPYmplY3RVUkwiLCJzcmMiLCJhbHQiLCJib3JkZXJSYWRpdXMiLCJvcmlnaW5hbEZpbGUiLCJEYXRlIiwibm93IiwiTWF0aCIsInJhbmRvbSIsInNpemUiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJzdG9wIiwiX3giLCJhcHBseSIsImFyZ3VtZW50cyIsImhhbmRsZURlbGV0ZUF0dGFjaG1lbnQiLCJmaWxlSWQiLCJmaWx0ZXIiLCJhdHRhY2htZW50IiwiaXNNQUlBIiwiZGlzY2xhaW1lck1lc3NhZ2UiLCJhZ2VudE5hbWUiLCJpc0ZhcUludGVyYWN0aW9uRGlzYWJsZWQiLCJzaG91bGRTaG93RmFxcyIsImhhc0NvckFjY2VzcyIsImNvbm5lY3RvcnMiLCJzb21lIiwiY29ubmVjdG9yIiwiZ3JvdXAiLCJzbHVncyIsInNsdWciLCJ0cmltIiwic2hvdWxkU2hvd0NvbnRleHRCYXIiLCJjaGlsZHJlbiIsInJlZiIsImxlYWRpbmdJY29uIiwiZGVmYXVsdFZhbHVlIiwicG9wb3ZlckFuY2hvclJlZiIsImNsYXNzTmFtZSIsInBsYWNlaG9sZGVyIiwiaW5wdXRfcGxhY2Vob2xkZXIiLCJvbkZpbGVBdHRhY2giLCJvbkRlbGV0ZUF0dGFjaG1lbnQiLCJhdHQiLCJtYXAiLCJOdW1iZXIiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEZvb3Rlci9DaGF0Rm9vdGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMgKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLXVudXNlZC12YXJzICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby11bmRlZiAqL1xuLyogZXNsaW50LWRpc2FibGUgcmVhY3QvcmVxdWlyZS1kZWZhdWx0LXByb3BzICovXG5pbXBvcnQgeyBSZWFjdE5vZGUsIHVzZU1lbW8sIHVzZVJlZiwgdXNlU3RhdGUsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgQXR0YWNoIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQXR0YWNoJ1xuaW1wb3J0IHsgR2xvYmUgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9HbG9iZSdcbmltcG9ydCB7IExpc3RDaGVja2xpc3QgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9MaXN0Q2hlY2tsaXN0J1xuaW1wb3J0IHsgTU9EQUxfRUxFTUVOVFMgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VNb2RhbC91c2VNb2RhbCdcblxuaW1wb3J0IHsgQ2hpcCB9IGZyb20gJy4uLy4uL2F0b21zL0NoaXAnXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLWN5Y2xlXG5pbXBvcnQgeyBNQUlBSW5wdXQgfSBmcm9tICcuLi8uLi9hdG9tcy9NQUlBSW5wdXQnXG5pbXBvcnQgeyBDaGF0Rm9vdGVyRmFxcyB9IGZyb20gJy4vQ2hhdEZvb3RlckZhcXMnXG5pbXBvcnQgeyBDaGF0Rm9vdGVyQ29yQWNjZXNzIH0gZnJvbSAnLi9DaGF0Rm9vdGVyQ29yQWNjZXNzJ1xuXG5pbXBvcnQgeyB1c2VHbG9iYWxDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vY29udGV4dC9nbG9iYWwtY29udGV4dCdcbmltcG9ydCB7IHVzZVQgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VUJ1xuaW1wb3J0IHsgRVZFTlRTLCB1c2VFdmVudCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZUV2ZW50J1xuaW1wb3J0IHsgQ29udGV4dEVudGl0eVR5cGUsIENvbnRleHRNZW50aW9uIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvY29udGV4dE1lbnRpb24nXG5pbXBvcnQgeyBTdHlsZWRDaGF0Rm9vdGVyLCBDaGlwc0FuZEZhcXNSb3csIENvbnRleHRCYXJMZWZ0LCBGb290ZXJBY3Rpb25zUmlnaHQgfSBmcm9tICcuL3N0eWxlcydcbmltcG9ydCB7XG4gIENzdkZpbGVJY29uLFxuICBNREZpbGVJY29uLFxuICBEb2NGaWxlSWNvbixcbiAgRG9jeEZpbGVJY29uLFxuICBUZXh0RmlsZUljb24sXG4gIFBkZkZpbGVJY29uLFxuICBJbWFnZUZpbGVJY29uLFxuICBYbHN4RmlsZUljb24sXG4gIFhsc0ZpbGVJY29uLFxuICBNcDNGaWxlSWNvbixcbiAgV2F2RmlsZUljb24sXG4gIEZsYWNGaWxlSWNvbixcbiAgTTRhRmlsZUljb24sXG4gIE1wNEZpbGVJY29uLFxuICBPZ2FGaWxlSWNvbixcbiAgT2dnRmlsZUljb24sXG4gIFdlYm1GaWxlSWNvbixcbn0gZnJvbSAnLi4vLi4vYXRvbXMvaWNvbnMnXG5pbXBvcnQgeyBJbWFnZVByZXZpZXcgfSBmcm9tICcuLi8uLi9hdG9tcy9JbWFnZVByZXZpZXcvSW1hZ2VQcmV2aWV3J1xuaW1wb3J0IHsgcHJlcHJvY2Vzc0ltYWdlRm9yQmFja2VuZCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2ltYWdlUHJlcHJvY2Vzc29yJ1xuaW1wb3J0IHsgdmFsaWRhdGVJc01haWEgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy91dGlscy92YWxpZGF0ZUlzTWFpYSdcbmltcG9ydCB7IGlzTWFpYWtlckFnZW50IH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvYWdlbnREaXNwbGF5TmFtZSdcbmltcG9ydCB7IEFnZW50IH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvYWdlbnQnXG5pbXBvcnQgeyBDaGF0RGlzY2xhaW1lck1lc3NhZ2UgfSBmcm9tICcuLi8uLi9hdG9tcy9DaGF0RGlzY2xhaW1lck1lc3NhZ2UnXG5pbXBvcnQgdHlwZSB7IE1haWFDaGF0TW9kYWxMYXlvdXRNb2RlIH0gZnJvbSAnLi4vQ2hhdEFJTW9kYWwvbGF5b3V0J1xuXG5leHBvcnQgdHlwZSBBdHRhY2htZW50RmlsZSA9IHtcbiAgZmlsZTogRmlsZVxuICBvcmlnaW5hbEZpbGU/OiBGaWxlXG4gIHVybF90aHVtYm5haWw/OiBzdHJpbmdcbiAgdXJsX29yaWdpbmFsPzogc3RyaW5nXG4gIHVybF9maWxlPzogc3RyaW5nXG4gIHJvbGU/OiAndXNlcicgfCAnYXNzaXN0YW50J1xuICBpZDogc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICBzaXplOiBudW1iZXJcbiAgdHlwZTogc3RyaW5nXG4gIGljb24/OiBSZWFjdE5vZGVcbiAgZXh0Pzogc3RyaW5nXG4gIHN0YXR1cz86ICdwZW5kaW5nJyB8ICdwcm9jZXNzaW5nJyB8ICdkb25lJyB8ICdmYWlsZWQnIHwgJ3N0YXJ0ZWQnXG59XG5cbnR5cGUgQ2hhdEZvb3RlclByb3BzID0ge1xuICBpdGVtcz86IHN0cmluZ1tdXG4gIGRpc2FibGVkPzogYm9vbGVhblxuICBpc1N0cmVhbWluZz86IGJvb2xlYW5cbiAgaXNXcml0aW5nPzogYm9vbGVhblxuICBvblNlbmRNZXNzYWdlOiAoXG4gICAgbWVzc2FnZTogc3RyaW5nLFxuICAgIGF0dGFjaG1lbnRzPzogQXR0YWNobWVudEZpbGVbXSxcbiAgICBmYXFJZD86IHN0cmluZyxcbiAgICBhZ2VudFN1Z2dlc3Rpb25JZD86IHN0cmluZyxcbiAgICBtZW50aW9ucz86IENvbnRleHRNZW50aW9uW10sXG4gICAgZnVhSWQ/OiBzdHJpbmcsXG4gICAgc2NJZD86IHN0cmluZ1xuICApID0+IHZvaWRcbiAgb25TdG9wR2VuZXJhdGlvbj86ICgoKSA9PiB2b2lkKSB8IG51bGxcbiAgY2hhdElkPzogc3RyaW5nIHwgbnVsbFxuICBuZXdDaGF0S2V5PzogbnVtYmVyXG4gIC8qKiBTaSBlcyBmYWxzZSwgbm8gc2UgbXVlc3RyYSBlbCBib3TDs24gZGUgRkFRcy4gRGViZSBzZXIgdHJ1ZSBjdWFuZG8gY3VycmVudE9wdGlvbiA9PT0gY2hhdC4gRW4gc2VjdGlvbiB0YXNrIG5vIHNlIG11ZXN0cmEgYXVucXVlIHNlYSB0cnVlLiAqL1xuICBzaG93RmFxcz86IGJvb2xlYW5cbiAgdG9vbHRpcFpJbmRleD86IG51bWJlclxuICBsYXlvdXRNb2RlPzogTWFpYUNoYXRNb2RhbExheW91dE1vZGVcbn1cblxuZXhwb3J0IGNvbnN0IEljb25CeUZpbGVUeXBlID0ge1xuICAndGV4dC9wbGFpbic6IDxUZXh0RmlsZUljb24gLz4sXG4gICd0ZXh0L3gtbWFya2Rvd24nOiA8TURGaWxlSWNvbiAvPixcbiAgJ3RleHQvY3N2JzogPENzdkZpbGVJY29uIC8+LFxuICAnYXBwbGljYXRpb24vbXN3b3JkJzogPERvY0ZpbGVJY29uIC8+LFxuICAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwuZG9jdW1lbnQnOiA8RG9jeEZpbGVJY29uIC8+LFxuICAnYXBwbGljYXRpb24vdm5kLm1zLXBvd2VycG9pbnQnOiA8RG9jRmlsZUljb24gLz4sXG4gICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQucHJlc2VudGF0aW9ubWwucHJlc2VudGF0aW9uJzogPERvY3hGaWxlSWNvbiAvPixcbiAgJ2FwcGxpY2F0aW9uL3BkZic6IDxQZGZGaWxlSWNvbiAvPixcbiAgJ2ltYWdlL3BuZyc6IDxJbWFnZUZpbGVJY29uIC8+LFxuICAnaW1hZ2UvanBlZyc6IDxJbWFnZUZpbGVJY29uIC8+LFxuICAnaW1hZ2UvanBnJzogPEltYWdlRmlsZUljb24gLz4sXG4gICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCc6IDxYbHN4RmlsZUljb24gLz4sXG4gICdhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwnOiA8WGxzRmlsZUljb24gLz4sXG4gICdhdWRpby9tcGVnJzogPE1wM0ZpbGVJY29uIC8+LFxuICAnYXVkaW8vZmxhYyc6IDxGbGFjRmlsZUljb24gLz4sXG4gICdhdWRpby9tcDQnOiA8TXA0RmlsZUljb24gLz4sXG4gICdhdWRpby9tNGEnOiA8TTRhRmlsZUljb24gLz4sXG4gICdhdWRpby9vZ2cnOiA8T2dnRmlsZUljb24gLz4sXG4gICdhdWRpby9vZ2EnOiA8T2dhRmlsZUljb24gLz4sXG4gICdhdWRpby93YXYnOiA8V2F2RmlsZUljb24gLz4sXG4gICdhdWRpby93ZWJtJzogPFdlYm1GaWxlSWNvbiAvPixcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIENoYXRGb290ZXIoe1xuICBvblNlbmRNZXNzYWdlLFxuICBpdGVtcyxcbiAgZGlzYWJsZWQsXG4gIGlzU3RyZWFtaW5nLFxuICBpc1dyaXRpbmcsXG4gIG9uU3RvcEdlbmVyYXRpb24sXG4gIGNoYXRJZCxcbiAgbmV3Q2hhdEtleSxcbiAgc2hvd0ZhcXMgPSB0cnVlLFxuICB0b29sdGlwWkluZGV4LFxuICBsYXlvdXRNb2RlLFxufTogQ2hhdEZvb3RlclByb3BzKSB7XG4gIGNvbnN0IHsgcHJvamVjdCwgYWdlbnQsIGNoaXBzUHJvamVjdCwgY2xpZW50LCB0YXNrLCBzZWN0aW9uLCBkZWVwTGlua1NlbmRQZW5kaW5nUmVmIH0gPSB1c2VHbG9iYWxDb250ZXh0KClcbiAgY29uc3QgeyB0IH0gPSB1c2VUKClcbiAgY29uc3QgZXZlbnQgPSB1c2VFdmVudCgpXG4gIGNvbnN0IGlucHV0UG9wb3ZlckFuY2hvclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgY29uc3QgY29udGV4dEJhckFuY2hvclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgY29uc3QgaXNPcmNoZXN0cmF0b3IgPSBhZ2VudD8udHlwZSA9PT0gJ29yY2hlc3RyYXRvcidcbiAgY29uc3QgW2F0dGFjaG1lbnRzLCBzZXRBdHRhY2htZW50c10gPSB1c2VTdGF0ZTxBdHRhY2htZW50RmlsZVtdPihbXSlcbiAgY29uc3QgW2xvYWRpbmdNZXNzYWdlcywgc2V0TG9hZGluZ01lc3NhZ2VzXSA9IHVzZVN0YXRlKGZhbHNlKVxuXG4gIGNvbnN0IHJlcG9ydGVkRXZlbnQgPSB1c2VSZWYoZmFsc2UpXG4gIGNvbnN0IGlzTWFya2V0cGxhY2VHbG9iYWxBZ2VudCA9IGlzTWFpYWtlckFnZW50KGFnZW50KVxuXG4gIC8vIHVzZUVmZmVjdCB0byBsaXN0ZW4gbG9hZGluZ01lc3NhZ2VzXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaGFuZGxlTG9hZGluZ01lc3NhZ2VzQ2hhbmdlID0gKGU6IEN1c3RvbUV2ZW50KSA9PiB7XG4gICAgICBzZXRMb2FkaW5nTWVzc2FnZXMoZS5kZXRhaWwubG9hZGluZ01lc3NhZ2VzKVxuICAgIH1cblxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYXQtbG9hZGluZy1tZXNzYWdlcy1jaGFuZ2VkJywgaGFuZGxlTG9hZGluZ01lc3NhZ2VzQ2hhbmdlIGFzIEV2ZW50TGlzdGVuZXIpXG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2hhdC1sb2FkaW5nLW1lc3NhZ2VzLWNoYW5nZWQnLCBoYW5kbGVMb2FkaW5nTWVzc2FnZXNDaGFuZ2UgYXMgRXZlbnRMaXN0ZW5lcilcbiAgICB9XG4gIH0sIFtdKVxuXG4gIC8vIENsZWFyIGF0dGFjaG1lbnRzIHdoZW4gc2Vzc2lvbiBjaGFuZ2VzICh1c2VyIHN3aXRjaGVzIHRvIGEgZGlmZmVyZW50IGNoYXQpXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaGFuZGxlU2Vzc2lvbkNoYW5nZSA9ICgpID0+IHtcbiAgICAgIGlmIChkZWVwTGlua1NlbmRQZW5kaW5nUmVmKSB7XG4gICAgICAgIGRlZXBMaW5rU2VuZFBlbmRpbmdSZWYuY3VycmVudCA9IGZhbHNlXG4gICAgICB9XG4gICAgICBzZXRBdHRhY2htZW50cyhbXSlcbiAgICB9XG5cbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdjaGF0LXNlc3Npb24tY2hhbmdlZCcsIGhhbmRsZVNlc3Npb25DaGFuZ2UpXG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2hhdC1zZXNzaW9uLWNoYW5nZWQnLCBoYW5kbGVTZXNzaW9uQ2hhbmdlKVxuICAgIH1cbiAgfSwgW2RlZXBMaW5rU2VuZFBlbmRpbmdSZWZdKVxuXG4gIGNvbnN0IHsgY2hpcEl0ZW1zLCBjaGlwVHlwZSB9ID0gdXNlTWVtbzx7IGNoaXBJdGVtczogc3RyaW5nW107IGNoaXBUeXBlPzogQ29udGV4dEVudGl0eVR5cGUgfT4oKCkgPT4ge1xuICAgIGlmIChpdGVtcykgcmV0dXJuIHsgY2hpcEl0ZW1zOiBpdGVtcyB9XG5cbiAgICAvLyBNb25vLWNvbnRleHRvOiBzb2xvIGxhIGVudGlkYWQgbcOhcyBlc3BlY8OtZmljYSAoc2luIGFuaWRhciBjbGllbnRlL3Byb3llY3RvL3RhcmVhKS5cbiAgICBpZiAoYWdlbnQ/LnR5cGUgPT09ICdvcmNoZXN0cmF0b3InKSB7XG4gICAgICBpZiAodGFzaz8ubmFtZSkgcmV0dXJuIHsgY2hpcEl0ZW1zOiBbdGFzay5uYW1lXSwgY2hpcFR5cGU6ICd0YXNrJyB9XG4gICAgICBpZiAoY2hpcHNQcm9qZWN0Py5wcm9qZWN0TmFtZSkgcmV0dXJuIHsgY2hpcEl0ZW1zOiBbY2hpcHNQcm9qZWN0LnByb2plY3ROYW1lXSwgY2hpcFR5cGU6ICdwcm9qZWN0JyB9XG4gICAgICBpZiAoY2xpZW50Py5uYW1lKSByZXR1cm4geyBjaGlwSXRlbXM6IFtjbGllbnQubmFtZV0sIGNoaXBUeXBlOiAnY2xpZW50JyB9XG4gICAgICByZXR1cm4geyBjaGlwSXRlbXM6IFtdIH1cbiAgICB9XG5cbiAgICBpZiAoYWdlbnQ/LmVudGl0eSA9PT0gJ2NsaWVudCcgJiYgY2xpZW50Py5uYW1lKSB7XG4gICAgICByZXR1cm4geyBjaGlwSXRlbXM6IFtjbGllbnQubmFtZV0sIGNoaXBUeXBlOiAnY2xpZW50JyB9XG4gICAgfVxuICAgIGlmICh0YXNrPy5uYW1lKSByZXR1cm4geyBjaGlwSXRlbXM6IFt0YXNrLm5hbWVdLCBjaGlwVHlwZTogJ3Rhc2snIH1cbiAgICBpZiAoY2hpcHNQcm9qZWN0Py5wcm9qZWN0TmFtZSkgcmV0dXJuIHsgY2hpcEl0ZW1zOiBbY2hpcHNQcm9qZWN0LnByb2plY3ROYW1lXSwgY2hpcFR5cGU6ICdwcm9qZWN0JyB9XG4gICAgaWYgKHByb2plY3Q/Lm5hbWUpIHJldHVybiB7IGNoaXBJdGVtczogW3Byb2plY3QubmFtZV0sIGNoaXBUeXBlOiAncHJvamVjdCcgfVxuXG4gICAgcmV0dXJuIHsgY2hpcEl0ZW1zOiBbXSB9XG4gIH0sIFtpdGVtcywgcHJvamVjdCwgY2hpcHNQcm9qZWN0LCBhZ2VudD8uZW50aXR5LCBhZ2VudD8udHlwZSwgY2xpZW50LCB0YXNrPy5uYW1lXSlcblxuICBjb25zdCBvbkNoYW5nZSA9ICgpID0+IHtcbiAgICBpZiAocmVwb3J0ZWRFdmVudC5jdXJyZW50KSByZXR1cm5cbiAgICBldmVudChFVkVOVFMucG1BaVR5cGVkVGV4dCwge1xuICAgICAgYWdlbnRfdHlwZTogaXNNYXJrZXRwbGFjZUdsb2JhbEFnZW50ID8gJ21hcmtldHBsYWNlJyA6IGFnZW50Py50eXBlLFxuICAgIH0pXG4gICAgcmVwb3J0ZWRFdmVudC5jdXJyZW50ID0gdHJ1ZVxuICB9XG5cbiAgY29uc3QgaGFuZGxlU2VuZE1lc3NhZ2UgPSAoXG4gICAgbWVzc2FnZTogc3RyaW5nLFxuICAgIG5ld0F0dGFjaG1lbnRzPzogQXR0YWNobWVudEZpbGVbXSxcbiAgICBtZW50aW9ucz86IENvbnRleHRNZW50aW9uW10sXG4gICAgZmFxSWQ/OiBzdHJpbmcsXG4gICAgYWdlbnRTdWdnZXN0aW9uSWQ/OiBzdHJpbmcsXG4gICAgZnVhSWQ/OiBzdHJpbmcsXG4gICAgc2NJZD86IHN0cmluZ1xuICApID0+IHtcbiAgICBjb25zdCBmcm9tRGVlcExpbmsgPSBCb29sZWFuKGRlZXBMaW5rU2VuZFBlbmRpbmdSZWY/LmN1cnJlbnQpXG4gICAgaWYgKGRlZXBMaW5rU2VuZFBlbmRpbmdSZWYpIHtcbiAgICAgIGRlZXBMaW5rU2VuZFBlbmRpbmdSZWYuY3VycmVudCA9IGZhbHNlXG4gICAgfVxuICAgIGV2ZW50KEVWRU5UUy5haUNoYXRTZW5kLCB7XG4gICAgICBhZ2VudF90eXBlOiBpc01hcmtldHBsYWNlR2xvYmFsQWdlbnQgPyAnbWFya2V0cGxhY2UnIDogYWdlbnQ/LnR5cGUsXG4gICAgICBhZ2VudF9pZDogYWdlbnQ/LmlkLFxuICAgICAgYWdlbnRfbmFtZTogYWdlbnQ/Lm5hbWUsXG4gICAgICAuLi4oZnJvbURlZXBMaW5rID8geyBzb3VyY2U6ICdkZWVwX2xpbmsnIH0gOiB7fSksXG4gICAgfSlcbiAgICBvblNlbmRNZXNzYWdlKG1lc3NhZ2UsIG5ld0F0dGFjaG1lbnRzLCBmYXFJZCwgYWdlbnRTdWdnZXN0aW9uSWQsIG1lbnRpb25zLCBmdWFJZCwgc2NJZClcbiAgICBzZXRBdHRhY2htZW50cyhbXSlcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVNlbGVjdEZhcSA9IChtZXNzYWdlOiBzdHJpbmcsIGZhcUlkOiBzdHJpbmcpID0+IHtcbiAgICBvblNlbmRNZXNzYWdlKG1lc3NhZ2UsIHVuZGVmaW5lZCwgZmFxSWQsIHVuZGVmaW5lZClcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZUZpbGVBdHRhY2ggPSBhc3luYyAoZmlsZTogRmlsZSkgPT4ge1xuICAgIGNvbnN0IGZpbGVOYW1lUGFydHMgPSBmaWxlLm5hbWUuc3BsaXQoJy4nKVxuICAgIGNvbnN0IGZpbGVFeHRlbnNpb24gPSBmaWxlTmFtZVBhcnRzLmxlbmd0aCA+IDEgPyBgLiR7ZmlsZU5hbWVQYXJ0cy5wb3AoKT8udG9Mb3dlckNhc2UoKX1gIDogJydcbiAgICBjb25zdCBpc0ltYWdlQnlFeHRlbnNpb24gPSBbJy5wbmcnLCAnLmpwZycsICcuanBlZyddLmluY2x1ZGVzKGZpbGVFeHRlbnNpb24pXG4gICAgY29uc3QgaXNJbWFnZUJ5TWltZSA9IGZpbGUudHlwZS5zdGFydHNXaXRoKCdpbWFnZS8nKVxuICAgIGNvbnN0IGlzSW1hZ2UgPSBpc0ltYWdlQnlNaW1lICYmIGlzSW1hZ2VCeUV4dGVuc2lvblxuICAgIC8vIE1hcGVvIGRlIGV4dGVuc2nDs24gYSBpY29ubyBkaXJlY3RvIHBhcmEgY2Fzb3MgZXNwZWNpYWxlcyAoYXVkaW8vb2dnIHkgYXVkaW8vbXA0KVxuICAgIGNvbnN0IGV4dGVuc2lvblRvSWNvbjogUmVjb3JkPHN0cmluZywgUmVhY3ROb2RlPiA9IHtcbiAgICAgICcub2dnJzogPE9nZ0ZpbGVJY29uIC8+LFxuICAgICAgJy5vZ2EnOiA8T2dhRmlsZUljb24gLz4sXG4gICAgICAnLm1wNCc6IDxNcDRGaWxlSWNvbiAvPixcbiAgICAgICcubTRhJzogPE00YUZpbGVJY29uIC8+LFxuICAgIH1cblxuICAgIGxldCBpY29uID0gSWNvbkJ5RmlsZVR5cGVbZmlsZS50eXBlXVxuXG4gICAgLy8gU2kgZWwgdGlwbyBlcyBhdWRpby9vZ2cgbyBhdWRpby9tcDQsIHVzYXIgbGEgZXh0ZW5zacOzbiBwYXJhIGRldGVybWluYXIgZWwgaWNvbm9cbiAgICBpZiAoKGZpbGUudHlwZSA9PT0gJ2F1ZGlvL29nZycgfHwgZmlsZS50eXBlID09PSAnYXVkaW8vbXA0JykgJiYgZmlsZUV4dGVuc2lvbikge1xuICAgICAgaWNvbiA9IGV4dGVuc2lvblRvSWNvbltmaWxlRXh0ZW5zaW9uXSB8fCBpY29uXG4gICAgfVxuXG4gICAgaWYgKCFpY29uKSB7XG4gICAgICBjb25zdCBleHRlbnNpb25Ub01pbWVUeXBlOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgICAgICAnLnR4dCc6ICd0ZXh0L3BsYWluJyxcbiAgICAgICAgJy5tZCc6ICd0ZXh0L3gtbWFya2Rvd24nLFxuICAgICAgICAnLmNzdic6ICd0ZXh0L2NzdicsXG4gICAgICAgICcuZG9jJzogJ2FwcGxpY2F0aW9uL21zd29yZCcsXG4gICAgICAgICcuZG9jeCc6ICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQud29yZHByb2Nlc3NpbmdtbC5kb2N1bWVudCcsXG4gICAgICAgICcucHB0JzogJ2FwcGxpY2F0aW9uL3ZuZC5tcy1wb3dlcnBvaW50JyxcbiAgICAgICAgJy5wcHR4JzogJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5wcmVzZW50YXRpb25tbC5wcmVzZW50YXRpb24nLFxuICAgICAgICAnLnBkZic6ICdhcHBsaWNhdGlvbi9wZGYnLFxuICAgICAgICAnLnhsc3gnOiAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQnLFxuICAgICAgICAnLnhscyc6ICdhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwnLFxuICAgICAgICAnLmZsYWMnOiAnYXVkaW8vZmxhYycsXG4gICAgICAgICcubTRhJzogJ2F1ZGlvL200YScsXG4gICAgICAgICcubXAzJzogJ2F1ZGlvL21wZWcnLFxuICAgICAgICAnLm1wNCc6ICdhdWRpby9tcDQnLFxuICAgICAgICAnLm9nYSc6ICdhdWRpby9vZ2EnLFxuICAgICAgICAnLm9nZyc6ICdhdWRpby9vZ2cnLFxuICAgICAgICAnLndhdic6ICdhdWRpby93YXYnLFxuICAgICAgICAnLndlYm0nOiAnYXVkaW8vd2VibScsXG4gICAgICB9XG4gICAgICBjb25zdCBtaW1lVHlwZUJ5RXh0ZW5zaW9uID0gZXh0ZW5zaW9uVG9NaW1lVHlwZVtmaWxlRXh0ZW5zaW9uXVxuICAgICAgaWYgKG1pbWVUeXBlQnlFeHRlbnNpb24pIHtcbiAgICAgICAgaWNvbiA9IEljb25CeUZpbGVUeXBlW21pbWVUeXBlQnlFeHRlbnNpb25dXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpY29uID0gPEF0dGFjaCBjb2xvcj1cInJnYmEoMTM1LCA2NCwgMTkxLCAxKVwiIHdpZHRoPXsxOH0gaGVpZ2h0PXsxOH0gLz5cbiAgICAgIH1cbiAgICB9XG4gICAgbGV0IHByb2Nlc3NlZEZpbGUgPSBmaWxlXG5cbiAgICAvLyBTaSBlcyB1bmEgaW1hZ2VuLCBwcmUtcHJvY2VzYXJsYSBwYXJhIGVsIGJhY2tlbmRcbiAgICBpZiAoaXNJbWFnZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gUHJvY2VzYW5kbyBpbWFnZW5cbiAgICAgICAgcHJvY2Vzc2VkRmlsZSA9IGF3YWl0IHByZXByb2Nlc3NJbWFnZUZvckJhY2tlbmQoZmlsZSlcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHByZS1wcm9jZXNhbmRvIGltYWdlbjonLCBlcnJvcilcbiAgICAgICAgLy8gQ29udGludWFyIGNvbiBlbCBhcmNoaXZvIG9yaWdpbmFsIHNpIGhheSBlcnJvclxuICAgICAgfVxuXG4gICAgICBjb25zdCBpbWFnZVVybCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoZmlsZSlcblxuICAgICAgaWNvbiA9IDxJbWFnZVByZXZpZXcgc3JjPXtpbWFnZVVybH0gYWx0PXtmaWxlLm5hbWV9IHdpZHRoPVwiNjNweFwiIGhlaWdodD1cIjYzcHhcIiBib3JkZXJSYWRpdXM9XCI2cHhcIiAvPlxuICAgIH1cblxuICAgIGNvbnN0IG5ld0F0dGFjaG1lbnQ6IEF0dGFjaG1lbnRGaWxlID0ge1xuICAgICAgZmlsZTogcHJvY2Vzc2VkRmlsZSxcbiAgICAgIG9yaWdpbmFsRmlsZTogaXNJbWFnZSA/IGZpbGUgOiB1bmRlZmluZWQsXG4gICAgICBpZDogYCR7RGF0ZS5ub3coKX0tJHtNYXRoLnJhbmRvbSgpfWAsXG4gICAgICBuYW1lOiBmaWxlLm5hbWUsXG4gICAgICBzaXplOiBwcm9jZXNzZWRGaWxlLnNpemUsXG4gICAgICB0eXBlOiBwcm9jZXNzZWRGaWxlLnR5cGUsXG4gICAgICBpY29uLFxuICAgIH1cblxuICAgIHNldEF0dGFjaG1lbnRzKHByZXYgPT4gWy4uLnByZXYsIG5ld0F0dGFjaG1lbnRdKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlRGVsZXRlQXR0YWNobWVudCA9IChmaWxlSWQ6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IG5ld0F0dGFjaG1lbnRzID0gYXR0YWNobWVudHMuZmlsdGVyKGF0dGFjaG1lbnQgPT4gYXR0YWNobWVudC5pZCAhPT0gZmlsZUlkKVxuICAgIHNldEF0dGFjaG1lbnRzKG5ld0F0dGFjaG1lbnRzKVxuICB9XG5cbiAgY29uc3QgaXNNQUlBID0gdmFsaWRhdGVJc01haWEoYWdlbnQgYXMgQWdlbnQpXG4gIGNvbnN0IGRpc2NsYWltZXJNZXNzYWdlID0gaXNNQUlBXG4gICAgPyB0KCdjaGF0LmZvb3Rlci5kaXNjbGFpbWVyJywgeyBhZ2VudE5hbWU6IHQoJ2dsb2JhbHMuYnJhbmROYW1lJykgfSlcbiAgICA6IHQoJ2NoYXQuZm9vdGVyLmRpc2NsYWltZXJBZ2VudCcpXG5cbiAgY29uc3QgaXNGYXFJbnRlcmFjdGlvbkRpc2FibGVkID0gQm9vbGVhbihkaXNhYmxlZCB8fCBpc1N0cmVhbWluZyB8fCBpc1dyaXRpbmcpXG4gIGNvbnN0IHNob3VsZFNob3dGYXFzID0gc2hvd0ZhcXMgJiYgc2VjdGlvbiAhPT0gJ3Rhc2snXG4gIGNvbnN0IGhhc0NvckFjY2VzcyA9IEJvb2xlYW4oXG4gICAgYWdlbnQ/LnR5cGUgPT09ICdjdXN0b20nICYmXG4gICAgYWdlbnQuY29ubmVjdG9ycz8uc29tZShcbiAgICAgIGNvbm5lY3RvciA9PlxuICAgICAgICBjb25uZWN0b3IuZ3JvdXAgPT09ICdDT1InICYmIGNvbm5lY3Rvci5zbHVncy5zb21lKHNsdWcgPT4gdHlwZW9mIHNsdWcgPT09ICdzdHJpbmcnICYmIHNsdWcudHJpbSgpLmxlbmd0aCA+IDApXG4gICAgKVxuICApXG4gIGNvbnN0IHNob3VsZFNob3dDb250ZXh0QmFyID0gKGlzTUFJQSB8fCBoYXNDb3JBY2Nlc3MpICYmICFsb2FkaW5nTWVzc2FnZXNcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRDaGF0Rm9vdGVyPlxuICAgICAge3Nob3VsZFNob3dDb250ZXh0QmFyICYmIChcbiAgICAgICAgPENoaXBzQW5kRmFxc1JvdyByZWY9e2NvbnRleHRCYXJBbmNob3JSZWZ9PlxuICAgICAgICAgIDxDb250ZXh0QmFyTGVmdD5cbiAgICAgICAgICAgIHtpc01BSUEgJiZcbiAgICAgICAgICAgICAgKGNoaXBJdGVtcy5sZW5ndGggPyAoXG4gICAgICAgICAgICAgICAgPENoaXBcbiAgICAgICAgICAgICAgICAgIGl0ZW1zPXtjaGlwSXRlbXN9XG4gICAgICAgICAgICAgICAgICB0eXBlPXtjaGlwVHlwZX1cbiAgICAgICAgICAgICAgICAgIGxlYWRpbmdJY29uPXtcbiAgICAgICAgICAgICAgICAgICAgY2hpcFR5cGUgPT09ICd0YXNrJyA/IDxMaXN0Q2hlY2tsaXN0IGNvbG9yPVwiIzY2NlwiIHdpZHRoPVwiMTRweFwiIGhlaWdodD1cIjE0cHhcIiAvPiA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgaXNPcmNoZXN0cmF0b3IgJiYgKFxuICAgICAgICAgICAgICAgICAgPENoaXBcbiAgICAgICAgICAgICAgICAgICAgaXRlbXM9e1t0KCdjb250ZXh0UGluLmFkZENvbnRleHQnLCB7IGRlZmF1bHRWYWx1ZTogJ0NvbnRleHRvIGdsb2JhbCcgfSldfVxuICAgICAgICAgICAgICAgICAgICBsZWFkaW5nSWNvbj17PEdsb2JlIGNvbG9yPVwiIzY2NlwiIHdpZHRoPVwiMTRweFwiIGhlaWdodD1cIjE0cHhcIiAvPn1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICA8L0NvbnRleHRCYXJMZWZ0PlxuICAgICAgICAgIDxGb290ZXJBY3Rpb25zUmlnaHQ+XG4gICAgICAgICAgICB7aGFzQ29yQWNjZXNzICYmIDxDaGF0Rm9vdGVyQ29yQWNjZXNzIHRvb2x0aXBaSW5kZXg9e3Rvb2x0aXBaSW5kZXh9IC8+fVxuICAgICAgICAgICAgey8qIHtpc01BSUEgJiYgc2hvdWxkU2hvd0ZhcXMgJiYgKFxuICAgICAgICAgICAgICA8Q2hhdEZvb3RlckZhcXMgb25TZWxlY3RGYXE9e2hhbmRsZVNlbGVjdEZhcX0gZGlzYWJsZWQ9e2lzRmFxSW50ZXJhY3Rpb25EaXNhYmxlZH0gLz5cbiAgICAgICAgICAgICl9ICovfVxuICAgICAgICAgIDwvRm9vdGVyQWN0aW9uc1JpZ2h0PlxuICAgICAgICA8L0NoaXBzQW5kRmFxc1Jvdz5cbiAgICAgICl9XG4gICAgICA8TUFJQUlucHV0XG4gICAgICAgIHBvcG92ZXJBbmNob3JSZWY9e2lucHV0UG9wb3ZlckFuY2hvclJlZn1cbiAgICAgICAgb25TZW5kTWVzc2FnZT17aGFuZGxlU2VuZE1lc3NhZ2V9XG4gICAgICAgIGNsYXNzTmFtZT17TU9EQUxfRUxFTUVOVFN9XG4gICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgcGxhY2Vob2xkZXI9e1xuICAgICAgICAgIGFnZW50Py5pbnB1dF9wbGFjZWhvbGRlciB8fFxuICAgICAgICAgIChpc09yY2hlc3RyYXRvciA/IHQoJ2NoYXQuZm9vdGVyLm9yY2hlc3RyYXRvclBsYWNlaG9sZGVyJykgOiB0KCdjaGF0LmZvb3Rlci5wbGFjZWhvbGRlcicpKVxuICAgICAgICB9XG4gICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZX1cbiAgICAgICAgb25GaWxlQXR0YWNoPXtoYW5kbGVGaWxlQXR0YWNofVxuICAgICAgICBvbkRlbGV0ZUF0dGFjaG1lbnQ9e2hhbmRsZURlbGV0ZUF0dGFjaG1lbnR9XG4gICAgICAgIGF0dGFjaG1lbnRzPXthdHRhY2htZW50c1xuICAgICAgICAgIC5maWx0ZXIoYXR0ID0+ICEhYXR0LmZpbGUpXG4gICAgICAgICAgLm1hcChhdHQgPT4gKHtcbiAgICAgICAgICAgIGZpbGU6IGF0dC5maWxlISxcbiAgICAgICAgICAgIG9yaWdpbmFsRmlsZTogYXR0Lm9yaWdpbmFsRmlsZSxcbiAgICAgICAgICAgIGlkOiBhdHQuaWQsXG4gICAgICAgICAgICBuYW1lOiBhdHQubmFtZSxcbiAgICAgICAgICAgIHNpemU6IHR5cGVvZiBhdHQuc2l6ZSA9PT0gJ251bWJlcicgPyBhdHQuc2l6ZSA6IE51bWJlcihhdHQuc2l6ZSkgfHwgMCxcbiAgICAgICAgICAgIHR5cGU6IGF0dC50eXBlLFxuICAgICAgICAgICAgaWNvbjogYXR0Lmljb24sXG4gICAgICAgICAgfSkpfVxuICAgICAgICBpc1N0cmVhbWluZz17aXNTdHJlYW1pbmd9XG4gICAgICAgIGlzV3JpdGluZz17aXNXcml0aW5nfVxuICAgICAgICBvblN0b3BHZW5lcmF0aW9uPXtvblN0b3BHZW5lcmF0aW9ufVxuICAgICAgICBjaGF0SWQ9e2NoYXRJZCB8fCB1bmRlZmluZWR9XG4gICAgICAgIG5ld0NoYXRLZXk9e25ld0NoYXRLZXl9XG4gICAgICAgIHRvb2x0aXBaSW5kZXg9e3Rvb2x0aXBaSW5kZXh9XG4gICAgICAgIGxheW91dE1vZGU9e2xheW91dE1vZGV9XG4gICAgICAvPlxuICAgICAgPENoYXREaXNjbGFpbWVyTWVzc2FnZSBtZXNzYWdlPXtkaXNjbGFpbWVyTWVzc2FnZX0gLz5cbiAgICA8L1N0eWxlZENoYXRGb290ZXI+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBb0JBLE9BQU8sRUFBRUMsTUFBTSxFQUFFQyxRQUFRLEVBQUVDLFNBQVMsUUFBUSxPQUFPO0FBQ3ZFLFNBQVNDLE1BQU0sUUFBUSx5Q0FBeUM7QUFDaEUsU0FBU0Ms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
374
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VNZW1vIiwidXNlUmVmIiwidXNlU3RhdGUiLCJ1c2VFZmZlY3QiLCJBdHRhY2giLCJHbG9iZSIsIkxpc3RDaGVja2xpc3QiLCJNT0RBTF9FTEVNRU5UUyIsIkNoaXAiLCJNQUlBSW5wdXQiLCJDaGF0Rm9vdGVyQ29yQWNjZXNzIiwidXNlR2xvYmFsQ29udGV4dCIsInVzZVQiLCJFVkVOVFMiLCJ1c2VFdmVudCIsIlN0eWxlZENoYXRGb290ZXIiLCJDaGlwc0FuZEZhcXNSb3ciLCJDb250ZXh0QmFyTGVmdCIsIkZvb3RlckFjdGlvbnNSaWdodCIsIkNzdkZpbGVJY29uIiwiTURGaWxlSWNvbiIsIkRvY0ZpbGVJY29uIiwiRG9jeEZpbGVJY29uIiwiUHB0RmlsZUljb24iLCJQcHR4RmlsZUljb24iLCJUZXh0RmlsZUljb24iLCJQZGZGaWxlSWNvbiIsIkltYWdlRmlsZUljb24iLCJYbHN4RmlsZUljb24iLCJYbHNGaWxlSWNvbiIsIk1wM0ZpbGVJY29uIiwiV2F2RmlsZUljb24iLCJGbGFjRmlsZUljb24iLCJNNGFGaWxlSWNvbiIsIk1wNEZpbGVJY29uIiwiT2dhRmlsZUljb24iLCJPZ2dGaWxlSWNvbiIsIldlYm1GaWxlSWNvbiIsIkltYWdlUHJldmlldyIsInByZXByb2Nlc3NJbWFnZUZvckJhY2tlbmQiLCJ2YWxpZGF0ZUlzTWFpYSIsImlzTWFpYWtlckFnZW50IiwiQ2hhdERpc2NsYWltZXJNZXNzYWdlIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkljb25CeUZpbGVUeXBlIiwiQ2hhdEZvb3RlciIsIl9yZWYiLCJfYWdlbnQkY29ubmVjdG9ycyIsIm9uU2VuZE1lc3NhZ2UiLCJpdGVtcyIsImRpc2FibGVkIiwiaXNTdHJlYW1pbmciLCJpc1dyaXRpbmciLCJvblN0b3BHZW5lcmF0aW9uIiwiY2hhdElkIiwibmV3Q2hhdEtleSIsIl9yZWYkc2hvd0ZhcXMiLCJzaG93RmFxcyIsInRvb2x0aXBaSW5kZXgiLCJsYXlvdXRNb2RlIiwiX3VzZUdsb2JhbENvbnRleHQiLCJwcm9qZWN0IiwiYWdlbnQiLCJjaGlwc1Byb2plY3QiLCJjbGllbnQiLCJ0YXNrIiwic2VjdGlvbiIsImRlZXBMaW5rU2VuZFBlbmRpbmdSZWYiLCJfdXNlVCIsInQiLCJldmVudCIsImlucHV0UG9wb3ZlckFuY2hvclJlZiIsImNvbnRleHRCYXJBbmNob3JSZWYiLCJpc09yY2hlc3RyYXRvciIsInR5cGUiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJhdHRhY2htZW50cyIsInNldEF0dGFjaG1lbnRzIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJsb2FkaW5nTWVzc2FnZXMiLCJzZXRMb2FkaW5nTWVzc2FnZXMiLCJyZXBvcnRlZEV2ZW50IiwiaXNNYXJrZXRwbGFjZUdsb2JhbEFnZW50IiwiaGFuZGxlTG9hZGluZ01lc3NhZ2VzQ2hhbmdlIiwiZSIsImRldGFpbCIsImRvY3VtZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJoYW5kbGVTZXNzaW9uQ2hhbmdlIiwiY3VycmVudCIsIl91c2VNZW1vIiwiY2hpcEl0ZW1zIiwibmFtZSIsImNoaXBUeXBlIiwicHJvamVjdE5hbWUiLCJlbnRpdHkiLCJvbkNoYW5nZSIsInBtQWlUeXBlZFRleHQiLCJhZ2VudF90eXBlIiwiaGFuZGxlU2VuZE1lc3NhZ2UiLCJtZXNzYWdlIiwibmV3QXR0YWNobWVudHMiLCJtZW50aW9ucyIsImZhcUlkIiwiYWdlbnRTdWdnZXN0aW9uSWQiLCJmdWFJZCIsInNjSWQiLCJmcm9tRGVlcExpbmsiLCJCb29sZWFuIiwiYWlDaGF0U2VuZCIsIl9vYmplY3RTcHJlYWQiLCJhZ2VudF9pZCIsImlkIiwiYWdlbnRfbmFtZSIsInNvdXJjZSIsImhhbmRsZVNlbGVjdEZhcSIsInVuZGVmaW5lZCIsImhhbmRsZUZpbGVBdHRhY2giLCJfcmVmMiIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwiZmlsZSIsIl9maWxlTmFtZVBhcnRzJHBvcCIsImZpbGVOYW1lUGFydHMiLCJmaWxlRXh0ZW5zaW9uIiwiaXNJbWFnZUJ5RXh0ZW5zaW9uIiwiaXNJbWFnZUJ5TWltZSIsImlzSW1hZ2UiLCJleHRlbnNpb25Ub0ljb24iLCJpY29uIiwiZXh0ZW5zaW9uVG9NaW1lVHlwZSIsIm1pbWVUeXBlQnlFeHRlbnNpb24iLCJwcm9jZXNzZWRGaWxlIiwiaW1hZ2VVcmwiLCJuZXdBdHRhY2htZW50IiwiX3QiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsInNwbGl0IiwibGVuZ3RoIiwiY29uY2F0IiwicG9wIiwidG9Mb3dlckNhc2UiLCJpbmNsdWRlcyIsInN0YXJ0c1dpdGgiLCJjb2xvciIsIndpZHRoIiwiaGVpZ2h0Iiwic2VudCIsImNvbnNvbGUiLCJlcnJvciIsIlVSTCIsImNyZWF0ZU9iamVjdFVSTCIsInNyYyIsImFsdCIsImJvcmRlclJhZGl1cyIsIm9yaWdpbmFsRmlsZSIsIkRhdGUiLCJub3ciLCJNYXRoIiwicmFuZG9tIiwic2l6ZSIsIl90b0NvbnN1bWFibGVBcnJheSIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIiwiaGFuZGxlRGVsZXRlQXR0YWNobWVudCIsImZpbGVJZCIsImZpbHRlciIsImF0dGFjaG1lbnQiLCJpc01BSUEiLCJkaXNjbGFpbWVyTWVzc2FnZSIsImFnZW50TmFtZSIsImlzRmFxSW50ZXJhY3Rpb25EaXNhYmxlZCIsInNob3VsZFNob3dGYXFzIiwiaGFzQ29yQWNjZXNzIiwiY29ubmVjdG9ycyIsInNvbWUiLCJjb25uZWN0b3IiLCJncm91cCIsInNsdWdzIiwic2x1ZyIsInRyaW0iLCJzaG91bGRTaG93Q29udGV4dEJhciIsImNoaWxkcmVuIiwicmVmIiwibGVhZGluZ0ljb24iLCJkZWZhdWx0VmFsdWUiLCJwb3BvdmVyQW5jaG9yUmVmIiwiY2xhc3NOYW1lIiwicGxhY2Vob2xkZXIiLCJpbnB1dF9wbGFjZWhvbGRlciIsIm9uRmlsZUF0dGFjaCIsIm9uRGVsZXRlQXR0YWNobWVudCIsImF0dCIsIm1hcCIsIk51bWJlciJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0Rm9vdGVyL0NoYXRGb290ZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFycyAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tdW51c2VkLXZhcnMgKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLXVuZGVmICovXG4vKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9yZXF1aXJlLWRlZmF1bHQtcHJvcHMgKi9cbmltcG9ydCB7IFJlYWN0Tm9kZSwgdXNlTWVtbywgdXNlUmVmLCB1c2VTdGF0ZSwgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBBdHRhY2ggfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9BdHRhY2gnXG5pbXBvcnQgeyBHbG9iZSB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0dsb2JlJ1xuaW1wb3J0IHsgTGlzdENoZWNrbGlzdCB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0xpc3RDaGVja2xpc3QnXG5pbXBvcnQgeyBNT0RBTF9FTEVNRU5UUyB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZU1vZGFsL3VzZU1vZGFsJ1xuXG5pbXBvcnQgeyBDaGlwIH0gZnJvbSAnLi4vLi4vYXRvbXMvQ2hpcCdcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tY3ljbGVcbmltcG9ydCB7IE1BSUFJbnB1dCB9IGZyb20gJy4uLy4uL2F0b21zL01BSUFJbnB1dCdcbmltcG9ydCB7IENoYXRGb290ZXJGYXFzIH0gZnJvbSAnLi9DaGF0Rm9vdGVyRmFxcydcbmltcG9ydCB7IENoYXRGb290ZXJDb3JBY2Nlc3MgfSBmcm9tICcuL0NoYXRGb290ZXJDb3JBY2Nlc3MnXG5cbmltcG9ydCB7IHVzZUdsb2JhbENvbnRleHQgfSBmcm9tICcuLi8uLi8uLi9jb250ZXh0L2dsb2JhbC1jb250ZXh0J1xuaW1wb3J0IHsgdXNlVCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZVQnXG5pbXBvcnQgeyBFVkVOVFMsIHVzZUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlRXZlbnQnXG5pbXBvcnQgeyBDb250ZXh0RW50aXR5VHlwZSwgQ29udGV4dE1lbnRpb24gfSBmcm9tICcuLi8uLi8uLi90eXBlcy9jb250ZXh0TWVudGlvbidcbmltcG9ydCB7IFN0eWxlZENoYXRGb290ZXIsIENoaXBzQW5kRmFxc1JvdywgQ29udGV4dEJhckxlZnQsIEZvb3RlckFjdGlvbnNSaWdodCB9IGZyb20gJy4vc3R5bGVzJ1xuaW1wb3J0IHtcbiAgQ3N2RmlsZUljb24sXG4gIE1ERmlsZUljb24sXG4gIERvY0ZpbGVJY29uLFxuICBEb2N4RmlsZUljb24sXG4gIFBwdEZpbGVJY29uLFxuICBQcHR4RmlsZUljb24sXG4gIFRleHRGaWxlSWNvbixcbiAgUGRmRmlsZUljb24sXG4gIEltYWdlRmlsZUljb24sXG4gIFhsc3hGaWxlSWNvbixcbiAgWGxzRmlsZUljb24sXG4gIE1wM0ZpbGVJY29uLFxuICBXYXZGaWxlSWNvbixcbiAgRmxhY0ZpbGVJY29uLFxuICBNNGFGaWxlSWNvbixcbiAgTXA0RmlsZUljb24sXG4gIE9nYUZpbGVJY29uLFxuICBPZ2dGaWxlSWNvbixcbiAgV2VibUZpbGVJY29uLFxufSBmcm9tICcuLi8uLi9hdG9tcy9pY29ucydcbmltcG9ydCB7IEltYWdlUHJldmlldyB9IGZyb20gJy4uLy4uL2F0b21zL0ltYWdlUHJldmlldy9JbWFnZVByZXZpZXcnXG5pbXBvcnQgeyBwcmVwcm9jZXNzSW1hZ2VGb3JCYWNrZW5kIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvaW1hZ2VQcmVwcm9jZXNzb3InXG5pbXBvcnQgeyB2YWxpZGF0ZUlzTWFpYSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxzL3ZhbGlkYXRlSXNNYWlhJ1xuaW1wb3J0IHsgaXNNYWlha2VyQWdlbnQgfSBmcm9tICcuLi8uLi8uLi91dGlscy9hZ2VudERpc3BsYXlOYW1lJ1xuaW1wb3J0IHsgQWdlbnQgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9hZ2VudCdcbmltcG9ydCB7IENoYXREaXNjbGFpbWVyTWVzc2FnZSB9IGZyb20gJy4uLy4uL2F0b21zL0NoYXREaXNjbGFpbWVyTWVzc2FnZSdcbmltcG9ydCB0eXBlIHsgTWFpYUNoYXRNb2RhbExheW91dE1vZGUgfSBmcm9tICcuLi9DaGF0QUlNb2RhbC9sYXlvdXQnXG5cbmV4cG9ydCB0eXBlIEF0dGFjaG1lbnRGaWxlID0ge1xuICBmaWxlOiBGaWxlXG4gIG9yaWdpbmFsRmlsZT86IEZpbGVcbiAgdXJsX3RodW1ibmFpbD86IHN0cmluZ1xuICB1cmxfb3JpZ2luYWw/OiBzdHJpbmdcbiAgdXJsX2ZpbGU/OiBzdHJpbmdcbiAgcm9sZT86ICd1c2VyJyB8ICdhc3Npc3RhbnQnXG4gIGlkOiBzdHJpbmdcbiAgbmFtZTogc3RyaW5nXG4gIHNpemU6IG51bWJlclxuICB0eXBlOiBzdHJpbmdcbiAgaWNvbj86IFJlYWN0Tm9kZVxuICBleHQ/OiBzdHJpbmdcbiAgc3RhdHVzPzogJ3BlbmRpbmcnIHwgJ3Byb2Nlc3NpbmcnIHwgJ2RvbmUnIHwgJ2ZhaWxlZCcgfCAnc3RhcnRlZCdcbn1cblxudHlwZSBDaGF0Rm9vdGVyUHJvcHMgPSB7XG4gIGl0ZW1zPzogc3RyaW5nW11cbiAgZGlzYWJsZWQ/OiBib29sZWFuXG4gIGlzU3RyZWFtaW5nPzogYm9vbGVhblxuICBpc1dyaXRpbmc/OiBib29sZWFuXG4gIG9uU2VuZE1lc3NhZ2U6IChcbiAgICBtZXNzYWdlOiBzdHJpbmcsXG4gICAgYXR0YWNobWVudHM/OiBBdHRhY2htZW50RmlsZVtdLFxuICAgIGZhcUlkPzogc3RyaW5nLFxuICAgIGFnZW50U3VnZ2VzdGlvbklkPzogc3RyaW5nLFxuICAgIG1lbnRpb25zPzogQ29udGV4dE1lbnRpb25bXSxcbiAgICBmdWFJZD86IHN0cmluZyxcbiAgICBzY0lkPzogc3RyaW5nXG4gICkgPT4gdm9pZFxuICBvblN0b3BHZW5lcmF0aW9uPzogKCgpID0+IHZvaWQpIHwgbnVsbFxuICBjaGF0SWQ/OiBzdHJpbmcgfCBudWxsXG4gIG5ld0NoYXRLZXk/OiBudW1iZXJcbiAgLyoqIFNpIGVzIGZhbHNlLCBubyBzZSBtdWVzdHJhIGVsIGJvdMOzbiBkZSBGQVFzLiBEZWJlIHNlciB0cnVlIGN1YW5kbyBjdXJyZW50T3B0aW9uID09PSBjaGF0LiBFbiBzZWN0aW9uIHRhc2sgbm8gc2UgbXVlc3RyYSBhdW5xdWUgc2VhIHRydWUuICovXG4gIHNob3dGYXFzPzogYm9vbGVhblxuICB0b29sdGlwWkluZGV4PzogbnVtYmVyXG4gIGxheW91dE1vZGU/OiBNYWlhQ2hhdE1vZGFsTGF5b3V0TW9kZVxufVxuXG5leHBvcnQgY29uc3QgSWNvbkJ5RmlsZVR5cGUgPSB7XG4gICd0ZXh0L3BsYWluJzogPFRleHRGaWxlSWNvbiAvPixcbiAgJ3RleHQveC1tYXJrZG93bic6IDxNREZpbGVJY29uIC8+LFxuICAndGV4dC9jc3YnOiA8Q3N2RmlsZUljb24gLz4sXG4gICdhcHBsaWNhdGlvbi9tc3dvcmQnOiA8RG9jRmlsZUljb24gLz4sXG4gICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQud29yZHByb2Nlc3NpbmdtbC5kb2N1bWVudCc6IDxEb2N4RmlsZUljb24gLz4sXG4gICdhcHBsaWNhdGlvbi92bmQubXMtcG93ZXJwb2ludCc6IDxQcHRGaWxlSWNvbiAvPixcbiAgJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5wcmVzZW50YXRpb25tbC5wcmVzZW50YXRpb24nOiA8UHB0eEZpbGVJY29uIC8+LFxuICAnYXBwbGljYXRpb24vcGRmJzogPFBkZkZpbGVJY29uIC8+LFxuICAnaW1hZ2UvcG5nJzogPEltYWdlRmlsZUljb24gLz4sXG4gICdpbWFnZS9qcGVnJzogPEltYWdlRmlsZUljb24gLz4sXG4gICdpbWFnZS9qcGcnOiA8SW1hZ2VGaWxlSWNvbiAvPixcbiAgJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0JzogPFhsc3hGaWxlSWNvbiAvPixcbiAgJ2FwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbCc6IDxYbHNGaWxlSWNvbiAvPixcbiAgJ2F1ZGlvL21wZWcnOiA8TXAzRmlsZUljb24gLz4sXG4gICdhdWRpby9mbGFjJzogPEZsYWNGaWxlSWNvbiAvPixcbiAgJ2F1ZGlvL21wNCc6IDxNcDRGaWxlSWNvbiAvPixcbiAgJ2F1ZGlvL200YSc6IDxNNGFGaWxlSWNvbiAvPixcbiAgJ2F1ZGlvL29nZyc6IDxPZ2dGaWxlSWNvbiAvPixcbiAgJ2F1ZGlvL29nYSc6IDxPZ2FGaWxlSWNvbiAvPixcbiAgJ2F1ZGlvL3dhdic6IDxXYXZGaWxlSWNvbiAvPixcbiAgJ2F1ZGlvL3dlYm0nOiA8V2VibUZpbGVJY29uIC8+LFxufVxuXG5leHBvcnQgZnVuY3Rpb24gQ2hhdEZvb3Rlcih7XG4gIG9uU2VuZE1lc3NhZ2UsXG4gIGl0ZW1zLFxuICBkaXNhYmxlZCxcbiAgaXNTdHJlYW1pbmcsXG4gIGlzV3JpdGluZyxcbiAgb25TdG9wR2VuZXJhdGlvbixcbiAgY2hhdElkLFxuICBuZXdDaGF0S2V5LFxuICBzaG93RmFxcyA9IHRydWUsXG4gIHRvb2x0aXBaSW5kZXgsXG4gIGxheW91dE1vZGUsXG59OiBDaGF0Rm9vdGVyUHJvcHMpIHtcbiAgY29uc3QgeyBwcm9qZWN0LCBhZ2VudCwgY2hpcHNQcm9qZWN0LCBjbGllbnQsIHRhc2ssIHNlY3Rpb24sIGRlZXBMaW5rU2VuZFBlbmRpbmdSZWYgfSA9IHVzZUdsb2JhbENvbnRleHQoKVxuICBjb25zdCB7IHQgfSA9IHVzZVQoKVxuICBjb25zdCBldmVudCA9IHVzZUV2ZW50KClcbiAgY29uc3QgaW5wdXRQb3BvdmVyQW5jaG9yUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICBjb25zdCBjb250ZXh0QmFyQW5jaG9yUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICBjb25zdCBpc09yY2hlc3RyYXRvciA9IGFnZW50Py50eXBlID09PSAnb3JjaGVzdHJhdG9yJ1xuICBjb25zdCBbYXR0YWNobWVudHMsIHNldEF0dGFjaG1lbnRzXSA9IHVzZVN0YXRlPEF0dGFjaG1lbnRGaWxlW10+KFtdKVxuICBjb25zdCBbbG9hZGluZ01lc3NhZ2VzLCBzZXRMb2FkaW5nTWVzc2FnZXNdID0gdXNlU3RhdGUoZmFsc2UpXG5cbiAgY29uc3QgcmVwb3J0ZWRFdmVudCA9IHVzZVJlZihmYWxzZSlcbiAgY29uc3QgaXNNYXJrZXRwbGFjZUdsb2JhbEFnZW50ID0gaXNNYWlha2VyQWdlbnQoYWdlbnQpXG5cbiAgLy8gdXNlRWZmZWN0IHRvIGxpc3RlbiBsb2FkaW5nTWVzc2FnZXNcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBoYW5kbGVMb2FkaW5nTWVzc2FnZXNDaGFuZ2UgPSAoZTogQ3VzdG9tRXZlbnQpID0+IHtcbiAgICAgIHNldExvYWRpbmdNZXNzYWdlcyhlLmRldGFpbC5sb2FkaW5nTWVzc2FnZXMpXG4gICAgfVxuXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2hhdC1sb2FkaW5nLW1lc3NhZ2VzLWNoYW5nZWQnLCBoYW5kbGVMb2FkaW5nTWVzc2FnZXNDaGFuZ2UgYXMgRXZlbnRMaXN0ZW5lcilcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjaGF0LWxvYWRpbmctbWVzc2FnZXMtY2hhbmdlZCcsIGhhbmRsZUxvYWRpbmdNZXNzYWdlc0NoYW5nZSBhcyBFdmVudExpc3RlbmVyKVxuICAgIH1cbiAgfSwgW10pXG5cbiAgLy8gQ2xlYXIgYXR0YWNobWVudHMgd2hlbiBzZXNzaW9uIGNoYW5nZXMgKHVzZXIgc3dpdGNoZXMgdG8gYSBkaWZmZXJlbnQgY2hhdClcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBoYW5kbGVTZXNzaW9uQ2hhbmdlID0gKCkgPT4ge1xuICAgICAgaWYgKGRlZXBMaW5rU2VuZFBlbmRpbmdSZWYpIHtcbiAgICAgICAgZGVlcExpbmtTZW5kUGVuZGluZ1JlZi5jdXJyZW50ID0gZmFsc2VcbiAgICAgIH1cbiAgICAgIHNldEF0dGFjaG1lbnRzKFtdKVxuICAgIH1cblxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYXQtc2Vzc2lvbi1jaGFuZ2VkJywgaGFuZGxlU2Vzc2lvbkNoYW5nZSlcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjaGF0LXNlc3Npb24tY2hhbmdlZCcsIGhhbmRsZVNlc3Npb25DaGFuZ2UpXG4gICAgfVxuICB9LCBbZGVlcExpbmtTZW5kUGVuZGluZ1JlZl0pXG5cbiAgY29uc3QgeyBjaGlwSXRlbXMsIGNoaXBUeXBlIH0gPSB1c2VNZW1vPHsgY2hpcEl0ZW1zOiBzdHJpbmdbXTsgY2hpcFR5cGU/OiBDb250ZXh0RW50aXR5VHlwZSB9PigoKSA9PiB7XG4gICAgaWYgKGl0ZW1zKSByZXR1cm4geyBjaGlwSXRlbXM6IGl0ZW1zIH1cblxuICAgIC8vIE1vbm8tY29udGV4dG86IHNvbG8gbGEgZW50aWRhZCBtw6FzIGVzcGVjw61maWNhIChzaW4gYW5pZGFyIGNsaWVudGUvcHJveWVjdG8vdGFyZWEpLlxuICAgIGlmIChhZ2VudD8udHlwZSA9PT0gJ29yY2hlc3RyYXRvcicpIHtcbiAgICAgIGlmICh0YXNrPy5uYW1lKSByZXR1cm4geyBjaGlwSXRlbXM6IFt0YXNrLm5hbWVdLCBjaGlwVHlwZTogJ3Rhc2snIH1cbiAgICAgIGlmIChjaGlwc1Byb2plY3Q/LnByb2plY3ROYW1lKSByZXR1cm4geyBjaGlwSXRlbXM6IFtjaGlwc1Byb2plY3QucHJvamVjdE5hbWVdLCBjaGlwVHlwZTogJ3Byb2plY3QnIH1cbiAgICAgIGlmIChjbGllbnQ/Lm5hbWUpIHJldHVybiB7IGNoaXBJdGVtczogW2NsaWVudC5uYW1lXSwgY2hpcFR5cGU6ICdjbGllbnQnIH1cbiAgICAgIHJldHVybiB7IGNoaXBJdGVtczogW10gfVxuICAgIH1cblxuICAgIGlmIChhZ2VudD8uZW50aXR5ID09PSAnY2xpZW50JyAmJiBjbGllbnQ/Lm5hbWUpIHtcbiAgICAgIHJldHVybiB7IGNoaXBJdGVtczogW2NsaWVudC5uYW1lXSwgY2hpcFR5cGU6ICdjbGllbnQnIH1cbiAgICB9XG4gICAgaWYgKHRhc2s/Lm5hbWUpIHJldHVybiB7IGNoaXBJdGVtczogW3Rhc2submFtZV0sIGNoaXBUeXBlOiAndGFzaycgfVxuICAgIGlmIChjaGlwc1Byb2plY3Q/LnByb2plY3ROYW1lKSByZXR1cm4geyBjaGlwSXRlbXM6IFtjaGlwc1Byb2plY3QucHJvamVjdE5hbWVdLCBjaGlwVHlwZTogJ3Byb2plY3QnIH1cbiAgICBpZiAocHJvamVjdD8ubmFtZSkgcmV0dXJuIHsgY2hpcEl0ZW1zOiBbcHJvamVjdC5uYW1lXSwgY2hpcFR5cGU6ICdwcm9qZWN0JyB9XG5cbiAgICByZXR1cm4geyBjaGlwSXRlbXM6IFtdIH1cbiAgfSwgW2l0ZW1zLCBwcm9qZWN0LCBjaGlwc1Byb2plY3QsIGFnZW50Py5lbnRpdHksIGFnZW50Py50eXBlLCBjbGllbnQsIHRhc2s/Lm5hbWVdKVxuXG4gIGNvbnN0IG9uQ2hhbmdlID0gKCkgPT4ge1xuICAgIGlmIChyZXBvcnRlZEV2ZW50LmN1cnJlbnQpIHJldHVyblxuICAgIGV2ZW50KEVWRU5UUy5wbUFpVHlwZWRUZXh0LCB7XG4gICAgICBhZ2VudF90eXBlOiBpc01hcmtldHBsYWNlR2xvYmFsQWdlbnQgPyAnbWFya2V0cGxhY2UnIDogYWdlbnQ/LnR5cGUsXG4gICAgfSlcbiAgICByZXBvcnRlZEV2ZW50LmN1cnJlbnQgPSB0cnVlXG4gIH1cblxuICBjb25zdCBoYW5kbGVTZW5kTWVzc2FnZSA9IChcbiAgICBtZXNzYWdlOiBzdHJpbmcsXG4gICAgbmV3QXR0YWNobWVudHM/OiBBdHRhY2htZW50RmlsZVtdLFxuICAgIG1lbnRpb25zPzogQ29udGV4dE1lbnRpb25bXSxcbiAgICBmYXFJZD86IHN0cmluZyxcbiAgICBhZ2VudFN1Z2dlc3Rpb25JZD86IHN0cmluZyxcbiAgICBmdWFJZD86IHN0cmluZyxcbiAgICBzY0lkPzogc3RyaW5nXG4gICkgPT4ge1xuICAgIGNvbnN0IGZyb21EZWVwTGluayA9IEJvb2xlYW4oZGVlcExpbmtTZW5kUGVuZGluZ1JlZj8uY3VycmVudClcbiAgICBpZiAoZGVlcExpbmtTZW5kUGVuZGluZ1JlZikge1xuICAgICAgZGVlcExpbmtTZW5kUGVuZGluZ1JlZi5jdXJyZW50ID0gZmFsc2VcbiAgICB9XG4gICAgZXZlbnQoRVZFTlRTLmFpQ2hhdFNlbmQsIHtcbiAgICAgIGFnZW50X3R5cGU6IGlzTWFya2V0cGxhY2VHbG9iYWxBZ2VudCA/ICdtYXJrZXRwbGFjZScgOiBhZ2VudD8udHlwZSxcbiAgICAgIGFnZW50X2lkOiBhZ2VudD8uaWQsXG4gICAgICBhZ2VudF9uYW1lOiBhZ2VudD8ubmFtZSxcbiAgICAgIC4uLihmcm9tRGVlcExpbmsgPyB7IHNvdXJjZTogJ2RlZXBfbGluaycgfSA6IHt9KSxcbiAgICB9KVxuICAgIG9uU2VuZE1lc3NhZ2UobWVzc2FnZSwgbmV3QXR0YWNobWVudHMsIGZhcUlkLCBhZ2VudFN1Z2dlc3Rpb25JZCwgbWVudGlvbnMsIGZ1YUlkLCBzY0lkKVxuICAgIHNldEF0dGFjaG1lbnRzKFtdKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlU2VsZWN0RmFxID0gKG1lc3NhZ2U6IHN0cmluZywgZmFxSWQ6IHN0cmluZykgPT4ge1xuICAgIG9uU2VuZE1lc3NhZ2UobWVzc2FnZSwgdW5kZWZpbmVkLCBmYXFJZCwgdW5kZWZpbmVkKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlRmlsZUF0dGFjaCA9IGFzeW5jIChmaWxlOiBGaWxlKSA9PiB7XG4gICAgY29uc3QgZmlsZU5hbWVQYXJ0cyA9IGZpbGUubmFtZS5zcGxpdCgnLicpXG4gICAgY29uc3QgZmlsZUV4dGVuc2lvbiA9IGZpbGVOYW1lUGFydHMubGVuZ3RoID4gMSA/IGAuJHtmaWxlTmFtZVBhcnRzLnBvcCgpPy50b0xvd2VyQ2FzZSgpfWAgOiAnJ1xuICAgIGNvbnN0IGlzSW1hZ2VCeUV4dGVuc2lvbiA9IFsnLnBuZycsICcuanBnJywgJy5qcGVnJ10uaW5jbHVkZXMoZmlsZUV4dGVuc2lvbilcbiAgICBjb25zdCBpc0ltYWdlQnlNaW1lID0gZmlsZS50eXBlLnN0YXJ0c1dpdGgoJ2ltYWdlLycpXG4gICAgY29uc3QgaXNJbWFnZSA9IGlzSW1hZ2VCeU1pbWUgJiYgaXNJbWFnZUJ5RXh0ZW5zaW9uXG4gICAgLy8gU2kgZWwgTUlNRSBubyBkaXN0aW5ndWUgYmllbiBsYSBleHRlbnNpw7NuIChhdWRpby9vZ2csIGF1ZGlvL21wNCwgUG93ZXJQb2ludCksIHVzYXIgZWwgaWNvbm8gcG9yIGV4dGVuc2nDs25cbiAgICBjb25zdCBleHRlbnNpb25Ub0ljb246IFJlY29yZDxzdHJpbmcsIFJlYWN0Tm9kZT4gPSB7XG4gICAgICAnLm9nZyc6IDxPZ2dGaWxlSWNvbiAvPixcbiAgICAgICcub2dhJzogPE9nYUZpbGVJY29uIC8+LFxuICAgICAgJy5tcDQnOiA8TXA0RmlsZUljb24gLz4sXG4gICAgICAnLm00YSc6IDxNNGFGaWxlSWNvbiAvPixcbiAgICAgICcucHB0JzogPFBwdEZpbGVJY29uIC8+LFxuICAgICAgJy5wcHR4JzogPFBwdHhGaWxlSWNvbiAvPixcbiAgICB9XG5cbiAgICBsZXQgaWNvbiA9IEljb25CeUZpbGVUeXBlW2ZpbGUudHlwZV1cblxuICAgIC8vIFNpIGVsIHRpcG8gZXMgYXVkaW8vb2dnLCBhdWRpby9tcDQgbyBQb3dlclBvaW50IGdlbsOpcmljbywgdXNhciBsYSBleHRlbnNpw7NuIHBhcmEgZWwgaWNvbm9cbiAgICBpZiAoXG4gICAgICAoZmlsZS50eXBlID09PSAnYXVkaW8vb2dnJyB8fCBmaWxlLnR5cGUgPT09ICdhdWRpby9tcDQnIHx8IGZpbGUudHlwZSA9PT0gJ2FwcGxpY2F0aW9uL3ZuZC5tcy1wb3dlcnBvaW50JykgJiZcbiAgICAgIGZpbGVFeHRlbnNpb25cbiAgICApIHtcbiAgICAgIGljb24gPSBleHRlbnNpb25Ub0ljb25bZmlsZUV4dGVuc2lvbl0gfHwgaWNvblxuICAgIH1cblxuICAgIGlmICghaWNvbikge1xuICAgICAgY29uc3QgZXh0ZW5zaW9uVG9NaW1lVHlwZTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICAgICAgJy50eHQnOiAndGV4dC9wbGFpbicsXG4gICAgICAgICcubWQnOiAndGV4dC94LW1hcmtkb3duJyxcbiAgICAgICAgJy5jc3YnOiAndGV4dC9jc3YnLFxuICAgICAgICAnLmRvYyc6ICdhcHBsaWNhdGlvbi9tc3dvcmQnLFxuICAgICAgICAnLmRvY3gnOiAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwuZG9jdW1lbnQnLFxuICAgICAgICAnLnBwdCc6ICdhcHBsaWNhdGlvbi92bmQubXMtcG93ZXJwb2ludCcsXG4gICAgICAgICcucHB0eCc6ICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQucHJlc2VudGF0aW9ubWwucHJlc2VudGF0aW9uJyxcbiAgICAgICAgJy5wZGYnOiAnYXBwbGljYXRpb24vcGRmJyxcbiAgICAgICAgJy54bHN4JzogJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0JyxcbiAgICAgICAgJy54bHMnOiAnYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsJyxcbiAgICAgICAgJy5mbGFjJzogJ2F1ZGlvL2ZsYWMnLFxuICAgICAgICAnLm00YSc6ICdhdWRpby9tNGEnLFxuICAgICAgICAnLm1wMyc6ICdhdWRpby9tcGVnJyxcbiAgICAgICAgJy5tcDQnOiAnYXVkaW8vbXA0JyxcbiAgICAgICAgJy5vZ2EnOiAnYXVkaW8vb2dhJyxcbiAgICAgICAgJy5vZ2cnOiAnYXVkaW8vb2dnJyxcbiAgICAgICAgJy53YXYnOiAnYXVkaW8vd2F2JyxcbiAgICAgICAgJy53ZWJtJzogJ2F1ZGlvL3dlYm0nLFxuICAgICAgfVxuICAgICAgY29uc3QgbWltZVR5cGVCeUV4dGVuc2lvbiA9IGV4dGVuc2lvblRvTWltZVR5cGVbZmlsZUV4dGVuc2lvbl1cbiAgICAgIGlmIChtaW1lVHlwZUJ5RXh0ZW5zaW9uKSB7XG4gICAgICAgIGljb24gPSBJY29uQnlGaWxlVHlwZVttaW1lVHlwZUJ5RXh0ZW5zaW9uXVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWNvbiA9IDxBdHRhY2ggY29sb3I9XCJyZ2JhKDEzNSwgNjQsIDE5MSwgMSlcIiB3aWR0aD17MTh9IGhlaWdodD17MTh9IC8+XG4gICAgICB9XG4gICAgfVxuICAgIGxldCBwcm9jZXNzZWRGaWxlID0gZmlsZVxuXG4gICAgLy8gU2kgZXMgdW5hIGltYWdlbiwgcHJlLXByb2Nlc2FybGEgcGFyYSBlbCBiYWNrZW5kXG4gICAgaWYgKGlzSW1hZ2UpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIC8vIFByb2Nlc2FuZG8gaW1hZ2VuXG4gICAgICAgIHByb2Nlc3NlZEZpbGUgPSBhd2FpdCBwcmVwcm9jZXNzSW1hZ2VGb3JCYWNrZW5kKGZpbGUpXG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBwcmUtcHJvY2VzYW5kbyBpbWFnZW46JywgZXJyb3IpXG4gICAgICAgIC8vIENvbnRpbnVhciBjb24gZWwgYXJjaGl2byBvcmlnaW5hbCBzaSBoYXkgZXJyb3JcbiAgICAgIH1cblxuICAgICAgY29uc3QgaW1hZ2VVcmwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGZpbGUpXG5cbiAgICAgIGljb24gPSA8SW1hZ2VQcmV2aWV3IHNyYz17aW1hZ2VVcmx9IGFsdD17ZmlsZS5uYW1lfSB3aWR0aD1cIjYzcHhcIiBoZWlnaHQ9XCI2M3B4XCIgYm9yZGVyUmFkaXVzPVwiNnB4XCIgLz5cbiAgICB9XG5cbiAgICBjb25zdCBuZXdBdHRhY2htZW50OiBBdHRhY2htZW50RmlsZSA9IHtcbiAgICAgIGZpbGU6IHByb2Nlc3NlZEZpbGUsXG4gICAgICBvcmlnaW5hbEZpbGU6IGlzSW1hZ2UgPyBmaWxlIDogdW5kZWZpbmVkLFxuICAgICAgaWQ6IGAke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKX1gLFxuICAgICAgbmFtZTogZmlsZS5uYW1lLFxuICAgICAgc2l6ZTogcHJvY2Vzc2VkRmlsZS5zaXplLFxuICAgICAgdHlwZTogcHJvY2Vzc2VkRmlsZS50eXBlLFxuICAgICAgaWNvbixcbiAgICB9XG5cbiAgICBzZXRBdHRhY2htZW50cyhwcmV2ID0+IFsuLi5wcmV2LCBuZXdBdHRhY2htZW50XSlcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZURlbGV0ZUF0dGFjaG1lbnQgPSAoZmlsZUlkOiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCBuZXdBdHRhY2htZW50cyA9IGF0dGFjaG1lbnRzLmZpbHRlcihhdHRhY2htZW50ID0+IGF0dGFjaG1lbnQuaWQgIT09IGZpbGVJZClcbiAgICBzZXRBdHRhY2htZW50cyhuZXdBdHRhY2htZW50cylcbiAgfVxuXG4gIGNvbnN0IGlzTUFJQSA9IHZhbGlkYXRlSXNNYWlhKGFnZW50IGFzIEFnZW50KVxuICBjb25zdCBkaXNjbGFpbWVyTWVzc2FnZSA9IGlzTUFJQVxuICAgID8gdCgnY2hhdC5mb290ZXIuZGlzY2xhaW1lcicsIHsgYWdlbnROYW1lOiB0KCdnbG9iYWxzLmJyYW5kTmFtZScpIH0pXG4gICAgOiB0KCdjaGF0LmZvb3Rlci5kaXNjbGFpbWVyQWdlbnQnKVxuXG4gIGNvbnN0IGlzRmFxSW50ZXJhY3Rpb25EaXNhYmxlZCA9IEJvb2xlYW4oZGlzYWJsZWQgfHwgaXNTdHJlYW1pbmcgfHwgaXNXcml0aW5nKVxuICBjb25zdCBzaG91bGRTaG93RmFxcyA9IHNob3dGYXFzICYmIHNlY3Rpb24gIT09ICd0YXNrJ1xuICBjb25zdCBoYXNDb3JBY2Nlc3MgPSBCb29sZWFuKFxuICAgIGFnZW50Py50eXBlID09PSAnY3VzdG9tJyAmJlxuICAgIGFnZW50LmNvbm5lY3RvcnM/LnNvbWUoXG4gICAgICBjb25uZWN0b3IgPT5cbiAgICAgICAgY29ubmVjdG9yLmdyb3VwID09PSAnQ09SJyAmJiBjb25uZWN0b3Iuc2x1Z3Muc29tZShzbHVnID0+IHR5cGVvZiBzbHVnID09PSAnc3RyaW5nJyAmJiBzbHVnLnRyaW0oKS5sZW5ndGggPiAwKVxuICAgIClcbiAgKVxuICBjb25zdCBzaG91bGRTaG93Q29udGV4dEJhciA9IChpc01BSUEgfHwgaGFzQ29yQWNjZXNzKSAmJiAhbG9hZGluZ01lc3NhZ2VzXG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkQ2hhdEZvb3Rlcj5cbiAgICAgIHtzaG91bGRTaG93Q29udGV4dEJhciAmJiAoXG4gICAgICAgIDxDaGlwc0FuZEZhcXNSb3cgcmVmPXtjb250ZXh0QmFyQW5jaG9yUmVmfT5cbiAgICAgICAgICA8Q29udGV4dEJhckxlZnQ+XG4gICAgICAgICAgICB7aXNNQUlBICYmXG4gICAgICAgICAgICAgIChjaGlwSXRlbXMubGVuZ3RoID8gKFxuICAgICAgICAgICAgICAgIDxDaGlwXG4gICAgICAgICAgICAgICAgICBpdGVtcz17Y2hpcEl0ZW1zfVxuICAgICAgICAgICAgICAgICAgdHlwZT17Y2hpcFR5cGV9XG4gICAgICAgICAgICAgICAgICBsZWFkaW5nSWNvbj17XG4gICAgICAgICAgICAgICAgICAgIGNoaXBUeXBlID09PSAndGFzaycgPyA8TGlzdENoZWNrbGlzdCBjb2xvcj1cIiM2NjZcIiB3aWR0aD1cIjE0cHhcIiBoZWlnaHQ9XCIxNHB4XCIgLz4gOiB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgIGlzT3JjaGVzdHJhdG9yICYmIChcbiAgICAgICAgICAgICAgICAgIDxDaGlwXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1zPXtbdCgnY29udGV4dFBpbi5hZGRDb250ZXh0JywgeyBkZWZhdWx0VmFsdWU6ICdDb250ZXh0byBnbG9iYWwnIH0pXX1cbiAgICAgICAgICAgICAgICAgICAgbGVhZGluZ0ljb249ezxHbG9iZSBjb2xvcj1cIiM2NjZcIiB3aWR0aD1cIjE0cHhcIiBoZWlnaHQ9XCIxNHB4XCIgLz59XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgPC9Db250ZXh0QmFyTGVmdD5cbiAgICAgICAgICA8Rm9vdGVyQWN0aW9uc1JpZ2h0PlxuICAgICAgICAgICAge2hhc0NvckFjY2VzcyAmJiA8Q2hhdEZvb3RlckNvckFjY2VzcyB0b29sdGlwWkluZGV4PXt0b29sdGlwWkluZGV4fSAvPn1cbiAgICAgICAgICAgIHsvKiB7aXNNQUlBICYmIHNob3VsZFNob3dGYXFzICYmIChcbiAgICAgICAgICAgICAgPENoYXRGb290ZXJGYXFzIG9uU2VsZWN0RmFxPXtoYW5kbGVTZWxlY3RGYXF9IGRpc2FibGVkPXtpc0ZhcUludGVyYWN0aW9uRGlzYWJsZWR9IC8+XG4gICAgICAgICAgICApfSAqL31cbiAgICAgICAgICA8L0Zvb3RlckFjdGlvbnNSaWdodD5cbiAgICAgICAgPC9DaGlwc0FuZEZhcXNSb3c+XG4gICAgICApfVxuICAgICAgPE1BSUFJbnB1dFxuICAgICAgICBwb3BvdmVyQW5jaG9yUmVmPXtpbnB1dFBvcG92ZXJBbmNob3JSZWZ9XG4gICAgICAgIG9uU2VuZE1lc3NhZ2U9e2hhbmRsZVNlbmRNZXNzYWdlfVxuICAgICAgICBjbGFzc05hbWU9e01PREFMX0VMRU1FTlRTfVxuICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgIHBsYWNlaG9sZGVyPXtcbiAgICAgICAgICBhZ2VudD8uaW5wdXRfcGxhY2Vob2xkZXIgfHxcbiAgICAgICAgICAoaXNPcmNoZXN0cmF0b3IgPyB0KCdjaGF0LmZvb3Rlci5vcmNoZXN0cmF0b3JQbGFjZWhvbGRlcicpIDogdCgnY2hhdC5mb290ZXIucGxhY2Vob2xkZXInKSlcbiAgICAgICAgfVxuICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgIG9uRmlsZUF0dGFjaD17aGFuZGxlRmlsZUF0dGFjaH1cbiAgICAgICAgb25EZWxldGVBdHRhY2htZW50PXtoYW5kbGVEZWxldGVBdHRhY2htZW50fVxuICAgICAgICBhdHRhY2htZW50cz17YXR0YWNobWVudHNcbiAgICAgICAgICAuZmlsdGVyKGF0dCA9PiAhIWF0dC5maWxlKVxuICAgICAgICAgIC5tYXAoYXR0ID0+ICh7XG4gICAgICAgICAgICBmaWxlOiBhdHQuZmlsZSEsXG4gICAgICAgICAgICBvcmlnaW5hbEZpbGU6IGF0dC5vcmlnaW5hbEZpbGUsXG4gICAgICAgICAgICBpZDogYXR0LmlkLFxuICAgICAgICAgICAgbmFtZTogYXR0Lm5hbWUsXG4gICAgICAgICAgICBzaXplOiB0eXBlb2YgYXR0LnNpemUgPT09ICdudW1iZXInID8gYXR0LnNpemUgOiBOdW1iZXIoYXR0LnNpemUpIHx8IDAsXG4gICAgICAgICAgICB0eXBlOiBhdHQudHlwZSxcbiAgICAgICAgICAgIGljb246IGF0dC5pY29uLFxuICAgICAgICAgIH0pKX1cbiAgICAgICAgaXNTdHJlYW1pbmc9e2lzU3RyZWFtaW5nfVxuICAgICAgICBpc1dyaXRpbmc9e2lzV3JpdGluZ31cbiAgICAgICAgb25TdG9wR2VuZXJhdGlvbj17b25TdG9wR2VuZXJhdGlvbn1cbiAgICAgICAgY2hhdElkPXtjaGF0SWQgfHwgdW5kZWZpbmVkfVxuICAgICAgICBuZXdDaGF0S2V5PXtuZXdDaGF0S2V5fVxuICAgICAgICB0b29sdGlwWkluZGV4PXt0b29sdGlwWkluZGV4fVxuICAgICAgICBsYXlvdXRNb2RlPXtsYXlvdXRNb2RlfVxuICAgICAgLz5cbiAgICAgIDxDaGF0RGlzY2xhaW1lck1lc3NhZ2UgbWVzc2FnZT17ZGlzY2xhaW1lck1lc3NhZ2V9IC8+XG4gICAgPC9TdHlsZWRDaGF0Rm9vdGVyPlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQW9CQSxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsUUFBUSxFQUFFQyxTQUFTLFFBQVEsT0FBTztBQUN2RSxTQUFTQyxNQUFNLFFBQVEseUNBQXlDO0FBQ2hFLFNBQVNDLEtBQUssUUFBUSx3Q0FBd0M7QUFDOUQsU0FBU0MsYUFBYSxRQUFRLGdEQUFnRDtBQUM5RSxTQUFTQyxjQUFjLFFBQVEsa0NBQWtDO0FBRWpFLFNBQVNDLElBQUksUUFBUSxrQkFBa0I7QUFDdkM7QUFDQSxTQUFTQyxTQUFTLFFBQVEsdUJBQXVCO0FBRWpELFNBQVNDLG1CQUFtQixRQUFRLHVCQUF1QjtBQUUzRCxTQUFTQyxnQkFBZ0IsUUFBUSxpQ0FBaUM7QUFDbEUsU0FBU0MsSUFBSSxRQUFRLHFCQUFxQjtBQUMxQyxTQUFTQyxNQUFNLEVBQUVDLFFBQVEsUUFBUSx5QkFBeUI7QUFFMUQsU0FBU0MsZ0JBQWdCLEVBQUVDLGVBQWUsRUFBRUMsY0FBYyxFQUFFQyxrQkFBa0IsUUFBUSxVQUFVO0FBQ2hHLFNBQ0VDLFdBQVcsRUFDWEMsVUFBVSxFQUNWQyxXQUFXLEVBQ1hDLFlBQVksRUFDWkMsV0FBVyxFQUNYQyxZQUFZLEVBQ1pDLFlBQVksRUFDWkMsV0FBVyxFQUNYQyxhQUFhLEVBQ2JDLFlBQVksRUFDWkMsV0FBVyxFQUNYQyxXQUFXLEVBQ1hDLFdBQVcsRUFDWEMsWUFBWSxFQUNaQyxXQUFXLEVBQ1hDLFdBQVcsRUFDWEMsV0FBVyxFQUNYQyxXQUFXLEVBQ1hDLFlBQVksUUFDUCxtQkFBbUI7QUFDMUIsU0FBU0MsWUFBWSxRQUFRLHVDQUF1QztBQUNwRSxTQUFTQyx5QkFBeUIsUUFBUSxrQ0FBa0M7QUFDNUUsU0FBU0MsY0FBYyxRQUFRLHdDQUF3QztBQUN2RSxTQUFTQyxjQUFj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LGFBQWEsRUFBRXVELGlCQUFrQjtNQUNqQytGLFNBQVMsRUFBRWxNLGNBQWU7TUFDMUI4QyxRQUFRLEVBQUVBLFFBQVM7TUFDbkJxSixXQUFXLEVBQ1QsQ0FBQXpJLEtBQUssYUFBTEEsS0FBSyx1QkFBTEEsS0FBSyxDQUFFMEksaUJBQWlCLE1BQ3ZCL0gsY0FBYyxHQUFHSixDQUFDLENBQUMscUNBQXFDLENBQUMsR0FBR0EsQ0FBQyxDQUFDLHlCQUF5QixDQUFDLENBQzFGO01BQ0QrQixRQUFRLEVBQUVBLFFBQVM7TUFDbkJxRyxZQUFZLEVBQUVoRixnQkFBaUI7TUFDL0JpRixrQkFBa0IsRUFBRTNCLHNCQUF1QjtNQUMzQ2pHLFdBQVcsRUFBRUEsV0FBVyxDQUNyQm1HLE1BQU0sQ0FBQyxVQUFBMEIsR0FBRztRQUFBLE9BQUksQ0FBQyxDQUFDQSxHQUFHLENBQUM1RSxJQUFJO01BQUEsRUFBQyxDQUN6QjZFLEdBQUcsQ0FBQyxVQUFBRCxHQUFHO1FBQUEsT0FBSztVQUNYNUUsSUFBSSxFQUFFNEUsR0FBRyxDQUFDNUUsSUFBSztVQUNmcUMsWUFBWSxFQUFFdUMsR0FBRyxDQUFDdkMsWUFBWTtVQUM5QmhELEVBQUUsRUFBRXVGLEdBQUcsQ0FBQ3ZGLEVBQUU7VUFDVnBCLElBQUksRUFBRTJHLEdBQUcsQ0FBQzNHLElBQUk7VUFDZHlFLElBQUksRUFBRSxPQUFPa0MsR0FBRyxDQUFDbEMsSUFBSSxLQUFLLFFBQVEsR0FBR2tDLEdBQUcsQ0FBQ2xDLElBQUksR0FBR29DLE1BQU0sQ0FBQ0YsR0FBRyxDQUFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQztVQUNyRS9GLElBQUksRUFBRWlJLEdBQUcsQ0FBQ2pJLElBQUk7VUFDZDZELElBQUksRUFBRW9FLEdBQUcsQ0FBQ3BFO1FBQ1osQ0FBQztNQUFBLENBQUMsQ0FBRTtNQUNOcEYsV0FBVyxFQUFFQSxXQUFZO01BQ3pCQyxTQUFTLEVBQUVBLFNBQVU7TUFDckJDLGdCQUFnQixFQUFFQSxnQkFBaUI7TUFDbkNDLE1BQU0sRUFBRUEsTUFBTSxJQUFJa0UsU0FBVTtNQUM1QmpFLFVBQVUsRUFBRUEsVUFBVztNQUN2QkcsYUFBYSxFQUFFQSxhQUFjO01BQzdCQyxVQUFVLEVBQUVBO0lBQVcsQ0FDeEIsQ0FBQyxlQUNGbEIsSUFBQSxDQUFDRixxQkFBcUI7TUFBQ2lFLE9BQU8sRUFBRTRFO0lBQWtCLENBQUUsQ0FBQztFQUFBLENBQ3JDLENBQUM7QUFFdkIiLCJpZ25vcmVMaXN0IjpbXX0=