decap-cms-core 3.3.6 → 3.3.7
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.
- package/dist/decap-cms-core.js +1 -1
- package/dist/decap-cms-core.js.map +1 -1
- package/dist/esm/bootstrap.js +2 -2
- package/dist/esm/components/App/Header.js +7 -7
- package/dist/esm/components/Editor/EditorToolbar.js +31 -31
- package/dist/esm/components/UI/ErrorBoundary.js +2 -2
- package/package.json +2 -2
- package/src/components/App/Header.js +1 -1
- package/src/components/Editor/EditorToolbar.js +1 -1
- package/src/components/Editor/__tests__/__snapshots__/EditorToolbar.spec.js.snap +15 -15
|
@@ -26,7 +26,7 @@ const styles = {
|
|
|
26
26
|
} : {
|
|
27
27
|
name: "1ctb18k-noOverflow",
|
|
28
28
|
styles: "overflow:hidden;white-space:nowrap;text-overflow:ellipsis;label:noOverflow;",
|
|
29
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXVCaUIiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */",
|
|
29
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXVCaUIiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */",
|
|
30
30
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
31
31
|
},
|
|
32
32
|
buttonMargin: process.env.NODE_ENV === "production" ? {
|
|
@@ -35,11 +35,11 @@ const styles = {
|
|
|
35
35
|
} : {
|
|
36
36
|
name: "bx8mhy-buttonMargin",
|
|
37
37
|
styles: "margin:0 10px;label:buttonMargin;",
|
|
38
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTRCbUIiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */",
|
|
38
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTRCbUIiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */",
|
|
39
39
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
40
40
|
},
|
|
41
|
-
toolbarSection: /*#__PURE__*/(0, _react2.css)("height:100%;display:flex;align-items:center;border:0 solid ", _decapCmsUiDefault.colors.textFieldBorder, ";;label:toolbarSection;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQStCcUIiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */")),
|
|
42
|
-
publishedButton: /*#__PURE__*/(0, _react2.css)("background-color:", _decapCmsUiDefault.colorsRaw.tealLight, ";color:", _decapCmsUiDefault.colorsRaw.tealDark, ";;label:publishedButton;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFDc0IiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"))
|
|
41
|
+
toolbarSection: /*#__PURE__*/(0, _react2.css)("height:100%;display:flex;align-items:center;border:0 solid ", _decapCmsUiDefault.colors.textFieldBorder, ";;label:toolbarSection;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQStCcUIiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */")),
|
|
42
|
+
publishedButton: /*#__PURE__*/(0, _react2.css)("background-color:", _decapCmsUiDefault.colorsRaw.tealLight, ";color:", _decapCmsUiDefault.colorsRaw.tealDark, ";;label:publishedButton;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFDc0IiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"))
|
|
43
43
|
};
|
|
44
44
|
const TooltipText = /*#__PURE__*/(0, _base.default)("div", {
|
|
45
45
|
target: "e1d2l9mo26",
|
|
@@ -50,13 +50,13 @@ const TooltipText = /*#__PURE__*/(0, _base.default)("div", {
|
|
|
50
50
|
} : {
|
|
51
51
|
name: "1ykbu60",
|
|
52
52
|
styles: "visibility:hidden;width:321px;background-color:#555;color:#fff;text-align:unset;border-radius:6px;padding:5px;position:absolute;z-index:1;top:145%;left:50%;margin-left:-320px;opacity:0;transition:opacity 0.3s",
|
|
53
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTJDOEIiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */",
|
|
53
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTJDOEIiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */",
|
|
54
54
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
55
55
|
});
|
|
56
56
|
const Tooltip = /*#__PURE__*/(0, _base.default)("div", {
|
|
57
57
|
target: "e1d2l9mo25",
|
|
58
58
|
label: "Tooltip"
|
|
59
|
-
})("position:relative;display:inline-block;&:hover+", TooltipText, "{visibility:visible;opacity:0.9;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdFMEIiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
59
|
+
})("position:relative;display:inline-block;&:hover+", TooltipText, "{visibility:visible;opacity:0.9;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdFMEIiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
60
60
|
const TooltipContainer = /*#__PURE__*/(0, _base.default)("div", {
|
|
61
61
|
target: "e1d2l9mo24",
|
|
62
62
|
label: "TooltipContainer"
|
|
@@ -66,21 +66,21 @@ const TooltipContainer = /*#__PURE__*/(0, _base.default)("div", {
|
|
|
66
66
|
} : {
|
|
67
67
|
name: "bjn8wh",
|
|
68
68
|
styles: "position:relative",
|
|
69
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlFbUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */",
|
|
69
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlFbUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */",
|
|
70
70
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
71
71
|
});
|
|
72
72
|
const DropdownButton = /*#__PURE__*/(0, _base.default)(_decapCmsUiDefault.StyledDropdownButton, {
|
|
73
73
|
target: "e1d2l9mo23",
|
|
74
74
|
label: "DropdownButton"
|
|
75
|
-
})(styles.noOverflow, "@media (max-width: 1200px){padding-left:10px;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZFbUQiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
75
|
+
})(styles.noOverflow, "@media (max-width: 1200px){padding-left:10px;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZFbUQiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
76
76
|
const ToolbarContainer = /*#__PURE__*/(0, _base.default)("div", {
|
|
77
77
|
target: "e1d2l9mo22",
|
|
78
78
|
label: "ToolbarContainer"
|
|
79
|
-
})("box-shadow:0 2px 6px 0 rgba(68, 74, 87, 0.05),0 1px 3px 0 rgba(68, 74, 87, 0.1),0 2px 54px rgba(0, 0, 0, 0.1);position:fixed;top:0;left:0;width:100%;min-width:800px;z-index:", _decapCmsUiDefault.zIndex.zIndex300, ";background-color:#fff;height:66px;display:flex;justify-content:space-between;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9GbUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
79
|
+
})("box-shadow:0 2px 6px 0 rgba(68, 74, 87, 0.05),0 1px 3px 0 rgba(68, 74, 87, 0.1),0 2px 54px rgba(0, 0, 0, 0.1);position:absolute;top:0;left:0;width:100%;min-width:800px;z-index:", _decapCmsUiDefault.zIndex.zIndex300, ";background-color:#fff;height:66px;display:flex;justify-content:space-between;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9GbUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
80
80
|
const ToolbarSectionMain = /*#__PURE__*/(0, _base.default)("div", {
|
|
81
81
|
target: "e1d2l9mo21",
|
|
82
82
|
label: "ToolbarSectionMain"
|
|
83
|
-
})(styles.toolbarSection, ";flex:10;display:flex;justify-content:space-between;padding:0 10px;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW1HcUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
83
|
+
})(styles.toolbarSection, ";flex:10;display:flex;justify-content:space-between;padding:0 10px;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW1HcUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
84
84
|
const ToolbarSubSectionFirst = /*#__PURE__*/(0, _base.default)("div", {
|
|
85
85
|
target: "e1d2l9mo20",
|
|
86
86
|
label: "ToolbarSubSectionFirst"
|
|
@@ -90,7 +90,7 @@ const ToolbarSubSectionFirst = /*#__PURE__*/(0, _base.default)("div", {
|
|
|
90
90
|
} : {
|
|
91
91
|
name: "s5xdrg",
|
|
92
92
|
styles: "display:flex;align-items:center",
|
|
93
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTJHeUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */",
|
|
93
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTJHeUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */",
|
|
94
94
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
95
95
|
});
|
|
96
96
|
const ToolbarSubSectionLast = /*#__PURE__*/(0, _base.default)(ToolbarSubSectionFirst, {
|
|
@@ -102,29 +102,29 @@ const ToolbarSubSectionLast = /*#__PURE__*/(0, _base.default)(ToolbarSubSectionF
|
|
|
102
102
|
} : {
|
|
103
103
|
name: "1f60if8",
|
|
104
104
|
styles: "justify-content:flex-end",
|
|
105
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdINEQiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */",
|
|
105
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdINEQiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */",
|
|
106
106
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
107
107
|
});
|
|
108
108
|
const ToolbarSectionBackLink = /*#__PURE__*/(0, _base.default)(_reactRouterDom.Link, {
|
|
109
109
|
target: "e1d2l9mo18",
|
|
110
110
|
label: "ToolbarSectionBackLink"
|
|
111
|
-
})(styles.toolbarSection, ";border-right-width:1px;font-weight:normal;padding:0 20px;&:hover,&:focus{background-color:#f1f2f4;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9IMkMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
111
|
+
})(styles.toolbarSection, ";border-right-width:1px;font-weight:normal;padding:0 20px;&:hover,&:focus{background-color:#f1f2f4;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9IMkMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
112
112
|
const ToolbarSectionMeta = /*#__PURE__*/(0, _base.default)("div", {
|
|
113
113
|
target: "e1d2l9mo17",
|
|
114
114
|
label: "ToolbarSectionMeta"
|
|
115
|
-
})(styles.toolbarSection, ";border-left-width:1px;padding:0 7px;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdJcUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
115
|
+
})(styles.toolbarSection, ";border-left-width:1px;padding:0 7px;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdJcUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
116
116
|
const ToolbarDropdown = /*#__PURE__*/(0, _base.default)(_decapCmsUiDefault.Dropdown, {
|
|
117
117
|
target: "e1d2l9mo16",
|
|
118
118
|
label: "ToolbarDropdown"
|
|
119
|
-
})(styles.buttonMargin, ";", _decapCmsUiDefault.Icon, "{color:", _decapCmsUiDefault.colorsRaw.teal, ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNJd0MiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
119
|
+
})(styles.buttonMargin, ";", _decapCmsUiDefault.Icon, "{color:", _decapCmsUiDefault.colorsRaw.teal, ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNJd0MiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
120
120
|
const BackArrow = /*#__PURE__*/(0, _base.default)("div", {
|
|
121
121
|
target: "e1d2l9mo15",
|
|
122
122
|
label: "BackArrow"
|
|
123
|
-
})("color:", _decapCmsUiDefault.colors.textLead, ";font-size:21px;font-weight:600;margin-right:16px;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThJNEIiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
123
|
+
})("color:", _decapCmsUiDefault.colors.textLead, ";font-size:21px;font-weight:600;margin-right:16px;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThJNEIiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
124
124
|
const BackCollection = /*#__PURE__*/(0, _base.default)("div", {
|
|
125
125
|
target: "e1d2l9mo14",
|
|
126
126
|
label: "BackCollection"
|
|
127
|
-
})("color:", _decapCmsUiDefault.colors.textLead, ";font-size:14px;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFKaUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
127
|
+
})("color:", _decapCmsUiDefault.colors.textLead, ";font-size:14px;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFKaUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
128
128
|
const BackStatus = /*#__PURE__*/(0, _base.default)("div", {
|
|
129
129
|
target: "e1d2l9mo13",
|
|
130
130
|
label: "BackStatus"
|
|
@@ -134,53 +134,53 @@ const BackStatus = /*#__PURE__*/(0, _base.default)("div", {
|
|
|
134
134
|
} : {
|
|
135
135
|
name: "j9a02z",
|
|
136
136
|
styles: "margin-top:6px",
|
|
137
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTBKNkIiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */",
|
|
137
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTBKNkIiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */",
|
|
138
138
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
139
139
|
});
|
|
140
140
|
const BackStatusUnchanged = /*#__PURE__*/(0, _base.default)(BackStatus, {
|
|
141
141
|
target: "e1d2l9mo12",
|
|
142
142
|
label: "BackStatusUnchanged"
|
|
143
|
-
})(_decapCmsUiDefault.components.textBadgeSuccess, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThKOEMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
143
|
+
})(_decapCmsUiDefault.components.textBadgeSuccess, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThKOEMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
144
144
|
const BackStatusChanged = /*#__PURE__*/(0, _base.default)(BackStatus, {
|
|
145
145
|
target: "e1d2l9mo11",
|
|
146
146
|
label: "BackStatusChanged"
|
|
147
|
-
})(_decapCmsUiDefault.components.textBadgeDanger, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtLNEMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
147
|
+
})(_decapCmsUiDefault.components.textBadgeDanger, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtLNEMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
148
148
|
const ToolbarButton = /*#__PURE__*/(0, _base.default)("button", {
|
|
149
149
|
target: "e1d2l9mo10",
|
|
150
150
|
label: "ToolbarButton"
|
|
151
|
-
})(_decapCmsUiDefault.buttons.button, ";", _decapCmsUiDefault.buttons.default, ";", styles.buttonMargin, ";", styles.noOverflow, ";display:block;@media (max-width: 1200px){padding:0 10px;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNLbUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
151
|
+
})(_decapCmsUiDefault.buttons.button, ";", _decapCmsUiDefault.buttons.default, ";", styles.buttonMargin, ";", styles.noOverflow, ";display:block;@media (max-width: 1200px){padding:0 10px;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNLbUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
152
152
|
const DeleteButton = /*#__PURE__*/(0, _base.default)(ToolbarButton, {
|
|
153
153
|
target: "e1d2l9mo9",
|
|
154
154
|
label: "DeleteButton"
|
|
155
|
-
})(_decapCmsUiDefault.buttons.lightRed, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtMMEMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
155
|
+
})(_decapCmsUiDefault.buttons.lightRed, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtMMEMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
156
156
|
const SaveButton = /*#__PURE__*/(0, _base.default)(ToolbarButton, {
|
|
157
157
|
target: "e1d2l9mo8",
|
|
158
158
|
label: "SaveButton"
|
|
159
|
-
})(_decapCmsUiDefault.buttons.lightBlue, ";&[disabled]{", _decapCmsUiDefault.buttons.disabled, ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNMd0MiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
159
|
+
})(_decapCmsUiDefault.buttons.lightBlue, ";&[disabled]{", _decapCmsUiDefault.buttons.disabled, ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNMd0MiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
160
160
|
const PublishedToolbarButton = /*#__PURE__*/(0, _base.default)(DropdownButton, {
|
|
161
161
|
target: "e1d2l9mo7",
|
|
162
162
|
label: "PublishedToolbarButton"
|
|
163
|
-
})(styles.publishedButton, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZMcUQiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
163
|
+
})(styles.publishedButton, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZMcUQiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
164
164
|
const PublishedButton = /*#__PURE__*/(0, _base.default)(ToolbarButton, {
|
|
165
165
|
target: "e1d2l9mo6",
|
|
166
166
|
label: "PublishedButton"
|
|
167
|
-
})(styles.publishedButton, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlNNkMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
167
|
+
})(styles.publishedButton, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlNNkMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
168
168
|
const PublishButton = /*#__PURE__*/(0, _base.default)(DropdownButton, {
|
|
169
169
|
target: "e1d2l9mo5",
|
|
170
170
|
label: "PublishButton"
|
|
171
|
-
})("background-color:", _decapCmsUiDefault.colorsRaw.teal, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFNNEMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
171
|
+
})("background-color:", _decapCmsUiDefault.colorsRaw.teal, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFNNEMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
172
172
|
const StatusButton = /*#__PURE__*/(0, _base.default)(DropdownButton, {
|
|
173
173
|
target: "e1d2l9mo4",
|
|
174
174
|
label: "StatusButton"
|
|
175
|
-
})("background-color:", _decapCmsUiDefault.colorsRaw.tealLight, ";color:", _decapCmsUiDefault.colorsRaw.teal, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlNMkMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
175
|
+
})("background-color:", _decapCmsUiDefault.colorsRaw.tealLight, ";color:", _decapCmsUiDefault.colorsRaw.teal, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlNMkMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
176
176
|
const PreviewButtonContainer = /*#__PURE__*/(0, _base.default)("div", {
|
|
177
177
|
target: "e1d2l9mo3",
|
|
178
178
|
label: "PreviewButtonContainer"
|
|
179
|
-
})("margin-right:12px;color:", _decapCmsUiDefault.colorsRaw.blue, ";display:flex;align-items:center;a,", _decapCmsUiDefault.Icon, "{color:", _decapCmsUiDefault.colorsRaw.blue, ";}", _decapCmsUiDefault.Icon, "{position:relative;top:1px;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThNeUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
179
|
+
})("margin-right:12px;color:", _decapCmsUiDefault.colorsRaw.blue, ";display:flex;align-items:center;a,", _decapCmsUiDefault.Icon, "{color:", _decapCmsUiDefault.colorsRaw.blue, ";}", _decapCmsUiDefault.Icon, "{position:relative;top:1px;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThNeUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
180
180
|
const RefreshPreviewButton = /*#__PURE__*/(0, _base.default)("button", {
|
|
181
181
|
target: "e1d2l9mo2",
|
|
182
182
|
label: "RefreshPreviewButton"
|
|
183
|
-
})("background:none;border:0;cursor:pointer;color:", _decapCmsUiDefault.colorsRaw.blue, ";span{margin-right:6px;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQStOMEMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
183
|
+
})("background:none;border:0;cursor:pointer;color:", _decapCmsUiDefault.colorsRaw.blue, ";span{margin-right:6px;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQStOMEMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
184
184
|
const PreviewLink = RefreshPreviewButton.withComponent('a', {
|
|
185
185
|
target: "e1d2l9mo27",
|
|
186
186
|
label: "PreviewLink"
|
|
@@ -194,13 +194,13 @@ const PublishDropDownItem = /*#__PURE__*/(0, _base.default)(_decapCmsUiDefault.D
|
|
|
194
194
|
} : {
|
|
195
195
|
name: "svxjwj",
|
|
196
196
|
styles: "min-width:initial",
|
|
197
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTRPZ0QiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */",
|
|
197
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTRPZ0QiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */",
|
|
198
198
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
199
199
|
});
|
|
200
200
|
const StatusDropdownItem = /*#__PURE__*/(0, _base.default)(_decapCmsUiDefault.DropdownItem, {
|
|
201
201
|
target: "e1d2l9mo0",
|
|
202
202
|
label: "StatusDropdownItem"
|
|
203
|
-
})(_decapCmsUiDefault.Icon, "{color:", _decapCmsUiDefault.colors.infoText, ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdQK0MiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
203
|
+
})(_decapCmsUiDefault.Icon, "{color:", _decapCmsUiDefault.colors.infoText, ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdQK0MiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
204
204
|
class EditorToolbar extends _react.default.Component {
|
|
205
205
|
constructor(...args) {
|
|
206
206
|
super(...args);
|