@simpleangularcontrols/sac-common 16.0.0-rc.20 → 16.0.0-rc.21

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.
Files changed (91) hide show
  1. package/common/basedatetimecontrol.d.ts +7 -3
  2. package/common/basedatetimecontrol.d.ts.map +1 -1
  3. package/common/basemodelcontrol.d.ts +5 -1
  4. package/common/basemodelcontrol.d.ts.map +1 -1
  5. package/common/baseuploadcontrol.d.ts +4 -0
  6. package/common/baseuploadcontrol.d.ts.map +1 -1
  7. package/controls/buttons/button.d.ts +26 -22
  8. package/controls/buttons/button.d.ts.map +1 -1
  9. package/controls/contextmenu/contextmenu.d.ts +9 -1
  10. package/controls/contextmenu/contextmenu.d.ts.map +1 -1
  11. package/controls/datetime/dateselector.d.ts +10 -2
  12. package/controls/datetime/dateselector.d.ts.map +1 -1
  13. package/controls/dialog/dialog.d.ts +6 -2
  14. package/controls/dialog/dialog.d.ts.map +1 -1
  15. package/controls/grid/grid.d.ts +23 -19
  16. package/controls/grid/grid.d.ts.map +1 -1
  17. package/controls/grid/gridbutton.d.ts +24 -5
  18. package/controls/grid/gridbutton.d.ts.map +1 -1
  19. package/controls/grid/gridcolumnbase.d.ts +18 -6
  20. package/controls/grid/gridcolumnbase.d.ts.map +1 -1
  21. package/controls/grid/gridimage.d.ts.map +1 -1
  22. package/controls/grid/paging.d.ts +34 -30
  23. package/controls/grid/paging.d.ts.map +1 -1
  24. package/controls/list/dropdown.d.ts +3 -3
  25. package/controls/list/dropdown.d.ts.map +1 -1
  26. package/controls/list/listbox.d.ts +2 -2
  27. package/controls/list/listbox.d.ts.map +1 -1
  28. package/controls/tabs/tab.d.ts +20 -16
  29. package/controls/tabs/tab.d.ts.map +1 -1
  30. package/controls/tinymce/tinymce.d.ts +26 -22
  31. package/controls/tinymce/tinymce.d.ts.map +1 -1
  32. package/controls/tooltip/tooltip.d.ts +9 -1
  33. package/controls/tooltip/tooltip.d.ts.map +1 -1
  34. package/controls/upload/dropzonemultiple.d.ts +4 -0
  35. package/controls/upload/dropzonemultiple.d.ts.map +1 -1
  36. package/controls/upload/dropzonesingle.d.ts +4 -0
  37. package/controls/upload/dropzonesingle.d.ts.map +1 -1
  38. package/controls/upload/uploadmultiple.d.ts +4 -0
  39. package/controls/upload/uploadmultiple.d.ts.map +1 -1
  40. package/controls/upload/uploadsingle.d.ts +4 -0
  41. package/controls/upload/uploadsingle.d.ts.map +1 -1
  42. package/controls/validation/validationsummary.d.ts +9 -5
  43. package/controls/validation/validationsummary.d.ts.map +1 -1
  44. package/esm2022/common/basedatetimecontrol.mjs +23 -23
  45. package/esm2022/common/basemodelcontrol.mjs +62 -60
  46. package/esm2022/common/baseuploadcontrol.mjs +52 -50
  47. package/esm2022/controls/buttons/button.mjs +23 -21
  48. package/esm2022/controls/contextmenu/contextmenu.mjs +20 -16
  49. package/esm2022/controls/datetime/dateselector.mjs +57 -49
  50. package/esm2022/controls/dialog/dialog.mjs +30 -19
  51. package/esm2022/controls/grid/grid.mjs +23 -19
  52. package/esm2022/controls/grid/gridbutton.mjs +20 -11
  53. package/esm2022/controls/grid/gridcolumnbase.mjs +17 -15
  54. package/esm2022/controls/grid/gridimage.mjs +3 -3
  55. package/esm2022/controls/grid/paging.mjs +44 -40
  56. package/esm2022/controls/list/dropdown.mjs +18 -9
  57. package/esm2022/controls/list/listbox.mjs +5 -5
  58. package/esm2022/controls/tabs/tab.mjs +23 -18
  59. package/esm2022/controls/tinymce/tinymce.mjs +35 -33
  60. package/esm2022/controls/tooltip/tooltip.mjs +31 -27
  61. package/esm2022/controls/upload/dropzonemultiple.mjs +7 -3
  62. package/esm2022/controls/upload/dropzonesingle.mjs +7 -3
  63. package/esm2022/controls/upload/uploadmultiple.mjs +7 -3
  64. package/esm2022/controls/upload/uploadsingle.mjs +7 -3
  65. package/esm2022/controls/validation/validationsummary.mjs +16 -14
  66. package/esm2022/interfaces/ISacConfigurationService.mjs +3 -3
  67. package/esm2022/interfaces/ISacIconService.mjs +3 -3
  68. package/esm2022/interfaces/ISacLabelSizes.mjs +3 -3
  69. package/esm2022/public_api.mjs +4 -4
  70. package/esm2022/services/sac-configuration.service.mjs +26 -20
  71. package/esm2022/services/sac-icon.service.mjs +27 -17
  72. package/esm2022/utilities/testingattribute.pipe.mjs +12 -0
  73. package/fesm2022/simpleangularcontrols-sac-common.mjs +1294 -1183
  74. package/fesm2022/simpleangularcontrols-sac-common.mjs.map +1 -1
  75. package/interfaces/ISacConfigurationService.d.ts +16 -12
  76. package/interfaces/ISacConfigurationService.d.ts.map +1 -1
  77. package/interfaces/ISacIconService.d.ts +20 -0
  78. package/interfaces/ISacIconService.d.ts.map +1 -1
  79. package/interfaces/ISacLabelSizes.d.ts +12 -12
  80. package/interfaces/ISacLabelSizes.d.ts.map +1 -1
  81. package/package.json +1 -1
  82. package/public_api.d.ts +1 -0
  83. package/public_api.d.ts.map +1 -1
  84. package/services/sac-configuration.service.d.ts +13 -5
  85. package/services/sac-configuration.service.d.ts.map +1 -1
  86. package/services/sac-icon.service.d.ts +40 -0
  87. package/services/sac-icon.service.d.ts.map +1 -1
  88. package/simpleangularcontrols-sac-common-16.0.0-rc.21.tgz +0 -0
  89. package/utilities/testingattribute.pipe.d.ts +16 -0
  90. package/utilities/testingattribute.pipe.d.ts.map +1 -0
  91. package/simpleangularcontrols-sac-common-16.0.0-rc.20.tgz +0 -0
@@ -1,5 +1,5 @@
1
- function cov_185odvtuut(){var path="/home/runner/work/simpleangularcontrols/simpleangularcontrols/ch.jnetwork.sac-controls/dist/sac-common/esm2022/controls/contextmenu/contextmenu.mjs";var hash="ad98b2ddb1c19733728f65c9ee76f1cb0ac33e40";var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"/home/runner/work/simpleangularcontrols/simpleangularcontrols/ch.jnetwork.sac-controls/dist/sac-common/esm2022/controls/contextmenu/contextmenu.mjs",statementMap:{"0":{start:{line:24,column:8},end:{line:24,column:33}},"1":{start:{line:25,column:8},end:{line:25,column:29}},"2":{start:{line:26,column:8},end:{line:26,column:37}},"3":{start:{line:27,column:8},end:{line:27,column:33}},"4":{start:{line:31,column:8},end:{line:31,column:34}},"5":{start:{line:35,column:8},end:{line:35,column:32}},"6":{start:{line:39,column:8},end:{line:39,column:27}},"7":{start:{line:43,column:8},end:{line:43,column:28}},"8":{start:{line:57,column:8},end:{line:57,column:82}},"9":{start:{line:58,column:8},end:{line:60,column:11}},"10":{start:{line:59,column:12},end:{line:59,column:33}},"11":{start:{line:61,column:8},end:{line:61,column:86}},"12":{start:{line:69,column:8},end:{line:69,column:52}},"13":{start:{line:77,column:8},end:{line:77,column:31}},"14":{start:{line:78,column:8},end:{line:78,column:28}},"15":{start:{line:81,column:8},end:{line:81,column:72}},"16":{start:{line:81,column:44},end:{line:81,column:69}},"17":{start:{line:87,column:8},end:{line:89,column:9}},"18":{start:{line:88,column:12},end:{line:88,column:25}},"19":{start:{line:90,column:8},end:{line:90,column:44}},"20":{start:{line:96,column:23},end:{line:96,column:59}},"21":{start:{line:97,column:8},end:{line:101,column:9}},"22":{start:{line:100,column:12},end:{line:100,column:25}},"23":{start:{line:107,column:8},end:{line:107,column:45}},"24":{start:{line:108,column:8},end:{line:108,column:27}},"25":{start:{line:114,column:8},end:{line:119,column:9}},"26":{start:{line:115,column:12},end:{line:115,column:25}},"27":{start:{line:118,column:12},end:{line:118,column:24}},"28":{start:{line:127,column:23},end:{line:127,column:59}},"29":{start:{line:128,column:8},end:{line:130,column:9}},"30":{start:{line:129,column:12},end:{line:129,column:142}},"31":{start:{line:141,column:8},end:{line:141,column:31}},"32":{start:{line:142,column:8},end:{line:152,column:9}},"33":{start:{line:143,column:29},end:{line:143,column:42}},"34":{start:{line:144,column:40},end:{line:144,column:64}},"35":{start:{line:145,column:35},end:{line:145,column:107}},"36":{start:{line:147,column:12},end:{line:147,column:69}},"37":{start:{line:148,column:12},end:{line:148,column:73}},"38":{start:{line:149,column:12},end:{line:149,column:64}},"39":{start:{line:150,column:12},end:{line:150,column:69}},"40":{start:{line:151,column:12},end:{line:151,column:68}},"41":{start:{line:158,column:25},end:{line:158,column:38}},"42":{start:{line:159,column:8},end:{line:165,column:9}},"43":{start:{line:160,column:36},end:{line:160,column:65}},"44":{start:{line:161,column:40},end:{line:161,column:64}},"45":{start:{line:162,column:12},end:{line:162,column:71}},"46":{start:{line:163,column:12},end:{line:163,column:66}},"47":{start:{line:164,column:12},end:{line:164,column:67}},"48":{start:{line:166,column:8},end:{line:169,column:9}},"49":{start:{line:167,column:12},end:{line:167,column:73}},"50":{start:{line:168,column:12},end:{line:168,column:38}},"51":{start:{line:171,column:13},end:{line:171,column:299}},"52":{start:{line:172,column:13},end:{line:172,column:744}},"53":{start:{line:175,column:0},end:{line:205,column:20}},"54":{start:{line:177,column:42},end:{line:180,column:115}}},fnMap:{"0":{name:"(anonymous_0)",decl:{start:{line:23,column:4},end:{line:23,column:5}},loc:{start:{line:23,column:66},end:{line:62,column:5}},line:23},"1":{name:"(anonymous_1)",decl:{start:{line:58,column:63},end:{line:58,column:64}},loc:{start:{line:58,column:69},end:{line:60,column:9}},line:58},"2":{name:"(anonymous_2)",decl:{start:{line:68,column:4},end:{line:68,column:5}},loc:{start:{line:68,column:26},end:{line:70,column:5}},line:68},"3":{name:"(anonymous_3)",decl:{start:{line:76,column:4},end:{line:76,column:5}},loc:{start:{line:76,column:12},end:{line:79,column:5}},line:76},"4":{name:"(anonymous_4)",decl:{start:{line:80,column:4},end:{line:80,column:5}},loc:{start:{line:80,column:25},end:{line:82,column:5}},line:80},"5":{name:"(anonymous_5)",decl:{start:{line:81,column:31},end:{line:81,column:32}},loc:{start:{line:81,column:44},end:{line:81,column:69}},line:81},"6":{name:"(anonymous_6)",decl:{start:{line:86,column:4},end:{line:86,column:5}},loc:{start:{line:86,column:18},end:{line:91,column:5}},line:86},"7":{name:"(anonymous_7)",decl:{start:{line:95,column:4},end:{line:95,column:5}},loc:{start:{line:95,column:27},end:{line:102,column:5}},line:95},"8":{name:"(anonymous_8)",decl:{start:{line:106,column:4},end:{line:106,column:5}},loc:{start:{line:106,column:11},end:{line:109,column:5}},line:106},"9":{name:"(anonymous_9)",decl:{start:{line:113,column:4},end:{line:113,column:5}},loc:{start:{line:113,column:13},end:{line:120,column:5}},line:113},"10":{name:"(anonymous_10)",decl:{start:{line:126,column:4},end:{line:126,column:5}},loc:{start:{line:126,column:20},end:{line:131,column:5}},line:126},"11":{name:"(anonymous_11)",decl:{start:{line:139,column:4},end:{line:139,column:5}},loc:{start:{line:139,column:38},end:{line:153,column:5}},line:139},"12":{name:"(anonymous_12)",decl:{start:{line:157,column:4},end:{line:157,column:5}},loc:{start:{line:157,column:22},end:{line:170,column:5}},line:157},"13":{name:"(anonymous_13)",decl:{start:{line:177,column:28},end:{line:177,column:29}},loc:{start:{line:177,column:40},end:{line:180,column:117}},line:177}},branchMap:{"0":{loc:{start:{line:87,column:8},end:{line:89,column:9}},type:"if",locations:[{start:{line:87,column:8},end:{line:89,column:9}},{start:{line:87,column:8},end:{line:89,column:9}}],line:87},"1":{loc:{start:{line:96,column:23},end:{line:96,column:59}},type:"binary-expr",locations:[{start:{line:96,column:23},end:{line:96,column:35}},{start:{line:96,column:39},end:{line:96,column:59}}],line:96},"2":{loc:{start:{line:97,column:8},end:{line:101,column:9}},type:"if",locations:[{start:{line:97,column:8},end:{line:101,column:9}},{start:{line:97,column:8},end:{line:101,column:9}}],line:97},"3":{loc:{start:{line:97,column:12},end:{line:99,column:57}},type:"binary-expr",locations:[{start:{line:97,column:12},end:{line:97,column:22}},{start:{line:98,column:12},end:{line:98,column:61}},{start:{line:99,column:12},end:{line:99,column:57}}],line:97},"4":{loc:{start:{line:114,column:8},end:{line:119,column:9}},type:"if",locations:[{start:{line:114,column:8},end:{line:119,column:9}},{start:{line:114,column:8},end:{line:119,column:9}}],line:114},"5":{loc:{start:{line:127,column:23},end:{line:127,column:59}},type:"binary-expr",locations:[{start:{line:127,column:23},end:{line:127,column:35}},{start:{line:127,column:39},end:{line:127,column:59}}],line:127},"6":{loc:{start:{line:128,column:8},end:{line:130,column:9}},type:"if",locations:[{start:{line:128,column:8},end:{line:130,column:9}},{start:{line:128,column:8},end:{line:130,column:9}}],line:128},"7":{loc:{start:{line:128,column:12},end:{line:128,column:32}},type:"binary-expr",locations:[{start:{line:128,column:12},end:{line:128,column:18}},{start:{line:128,column:22},end:{line:128,column:32}}],line:128},"8":{loc:{start:{line:129,column:51},end:{line:129,column:97}},type:"binary-expr",locations:[{start:{line:129,column:51},end:{line:129,column:69}},{start:{line:129,column:73},end:{line:129,column:97}}],line:129},"9":{loc:{start:{line:139,column:20},end:{line:139,column:36}},type:"default-arg",locations:[{start:{line:139,column:32},end:{line:139,column:36}}],line:139},"10":{loc:{start:{line:142,column:8},end:{line:152,column:9}},type:"if",locations:[{start:{line:142,column:8},end:{line:152,column:9}},{start:{line:142,column:8},end:{line:152,column:9}}],line:142},"11":{loc:{start:{line:145,column:56},end:{line:145,column:107}},type:"binary-expr",locations:[{start:{line:145,column:56},end:{line:145,column:74}},{start:{line:145,column:78},end:{line:145,column:107}}],line:145},"12":{loc:{start:{line:159,column:8},end:{line:165,column:9}},type:"if",locations:[{start:{line:159,column:8},end:{line:165,column:9}},{start:{line:159,column:8},end:{line:165,column:9}}],line:159},"13":{loc:{start:{line:166,column:8},end:{line:169,column:9}},type:"if",locations:[{start:{line:166,column:8},end:{line:169,column:9}},{start:{line:166,column:8},end:{line:169,column:9}}],line:166}},s:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0},f:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0},b:{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0]},inputSourceMap:{version:3,file:"contextmenu.js",sourceRoot:"",sources:["../../../../../projects/sac-common/src/controls/contextmenu/contextmenu.ts"],names:[],mappings:"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",sourcesContent:["import { ISacIconService } from '../../interfaces/ISacIconService';\nimport { SACICON_SERVICE, SacDefaultIconService } from '../../services';\nimport { PlacementArray, positionElements } from '../../utilities/positioning';\nimport { ISacContextmenuCommon } from './contextmenu.interface';\nimport { SacContextmenuAnchorCommon } from './contextmenuanchor';\nimport { SacContextMenuContrainerCommon } from './contextmenucontainer';\nimport { SacContextmenuItemCommon } from './contextmenuitem';\nimport { DOCUMENT } from '@angular/common';\nimport {\n AfterContentInit,\n ContentChild,\n ContentChildren,\n Directive,\n ElementRef,\n HostListener,\n Inject,\n Injector,\n Input,\n NgZone,\n OnDestroy,\n QueryList,\n Renderer2,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\n/**\n * Base Context Men\xFC Element. Die Logik wurde aus NG-BOOTSTRAP \xFCbernommen.\n */\n@Directive()\nexport class SacContextmenuCommon implements ISacContextmenuCommon, AfterContentInit, OnDestroy {\n // #region Properties\n\n /**\n * Button f\xFCr Open/Close Event\n */\n @ViewChild(SacContextmenuAnchorCommon, { static: false })\n private readonly _anchor: SacContextmenuAnchorCommon;\n\n /**\n * Button f\xFCr Open/Close Event aus Template\n */\n @ContentChild(SacContextmenuAnchorCommon, { static: false })\n private readonly _anchorTemplate: SacContextmenuAnchorCommon;\n\n /**\n * Container Element f\xFCr Dropdown\n */\n @ViewChild(SacContextMenuContrainerCommon, { static: false })\n private readonly _menu: SacContextMenuContrainerCommon;\n\n /**\n * Zone Subscription f\xFCr Postitonierung des Elements\n */\n private readonly zoneSubscription: Subscription;\n\n /**\n * Body HTML Element\n */\n private bodyContainer: HTMLElement | null = null;\n\n /**\n * icon service\n */\n protected iconService: ISacIconService;\n\n /**\n * Custom HTML Template f\xFCr Dropdown Button. Button muss den Marker \"ngContextmenuAnchor\" beinhalten, damit das Control korrekt funktioniert.\n */\n @Input()\n public buttontemplate: TemplateRef<any>;\n\n /**\n * Container an welchem die Position ausgerichtet wird. Aktuell wird nun Body Supported\n */\n @Input()\n public container: null | 'body' = 'body';\n\n /**\n * Extra CSS Klassen f\xFCr das Control\n */\n @Input()\n public cssclass: string = '';\n\n /**\n * Definiert ob das Dropdown offen ist.\n */\n @Input()\n public isopen: boolean = false;\n\n /**\n * All directly assigned context menu elements that are defined in the direct template for the context menu.\n */\n @ContentChildren(SacContextmenuItemCommon)\n public menuitems!: QueryList<SacContextmenuItemCommon>;\n\n /**\n * The preferred placement of the dropdown.\n *\n * Possible values are `\"top\"`, `\"top-left\"`, `\"top-right\"`, `\"bottom\"`, `\"bottom-left\"`,\n * `\"bottom-right\"`, `\"left\"`, `\"left-top\"`, `\"left-bottom\"`, `\"right\"`, `\"right-top\"`,\n * `\"right-bottom\"`\n *\n * Accepts an array of strings or a string with space separated possible values.\n *\n * The default order of preference is `\"bottom-left bottom-right top-left top-right\"`\n *\n * Please see the [positioning overview](#/positioning) for more details.\n */\n @Input() public placement: PlacementArray = ['bottom-left', 'bottom-right', 'top-left', 'top-right'];\n\n // #endregion Properties\n\n // #region Constructors\n\n /**\n * Konstruktor\n * @param document HTML Document Element\n * @param ngZone Angular Zone Service\n * @param elementRef HTML Element des aktuellen Controls\n * @param renderer Angular Rendering Service\n * @param injector injector to resolve the icon service\n */\n constructor(\n @Inject(DOCUMENT) private readonly document: any,\n private readonly ngZone: NgZone,\n private readonly elementRef: ElementRef<HTMLElement>,\n private readonly renderer: Renderer2,\n injector: Injector\n ) {\n this.zoneSubscription = this.ngZone.onStable.subscribe(() => {\n this._positionMenu();\n });\n\n this.iconService = injector.get(SACICON_SERVICE, new SacDefaultIconService());\n }\n\n // #endregion Constructors\n\n // #region Public Getters And Setters\n\n /**\n * icon for default context men\xFC button\n */\n public get IconContextMenu(): string {\n return this.iconService.ContextMenuOpenIcon;\n }\n\n // #endregion Public Getters And Setters\n\n // #region Public Methods\n\n /**\n * Schliesst das Dropdown\n */\n public close(): void {\n this._resetContainer();\n this.isopen = false;\n }\n\n public ngAfterContentInit(): void {\n this.menuitems.forEach((button) => (button.contextmenu = this));\n }\n\n /**\n * Event wenn Component entfernt wird.\n */\n public ngOnDestroy(): void {\n if (this.isopen) {\n this.close();\n }\n\n this.zoneSubscription.unsubscribe();\n }\n\n /**\n * HostListener um das Dropdown zu schliessen wenn nicht auf das Element geklickt wird.\n */\n @HostListener('document:click', ['$event.target'])\n /**\n * Click Event\n */\n public onClick(targetElement) {\n const anchor: SacContextmenuAnchorCommon = this._anchor || this._anchorTemplate;\n\n if (\n this._menu &&\n !this._menu.nativeElement.contains(targetElement) &&\n !anchor.nativeElement.contains(targetElement)\n ) {\n this.close();\n }\n }\n\n /**\n * \xD6ffnet das Dropdown / Zeigt das Men\xFC an.\n */\n public open(): void {\n this._applyContainer(this.container);\n this.isopen = true;\n }\n\n /**\n * Toggle von Dropdown\n */\n public toggle(): void {\n if (this.isopen) {\n this.close();\n } else {\n this.open();\n }\n }\n\n // #endregion Public Methods\n\n // #region Protected Methods\n\n /**\n * Setzt die Position des Men\xFCs im Markup\n */\n protected _positionMenu() {\n const anchor: SacContextmenuAnchorCommon = this._anchor || this._anchorTemplate;\n\n if (anchor && this._menu) {\n positionElements(\n anchor.nativeElement,\n this.bodyContainer || this._menu.nativeElement,\n this.placement,\n this.container === 'body'\n );\n }\n }\n\n // #endregion Protected Methods\n\n // #region Private Methods\n\n /**\n * Setzt die Position des Men\xFCs innerhalb der Seite. Die Ausrichtung passiert innerhalb der Seite\n * damit das Men\xFC innerhalb eines Dialogs sauber funktionioniert.\n * @param container Definiert wo das Men\xFC ausgerichtet wird. Im Moment nur BODY Supported\n */\n private _applyContainer(container: null | 'body' = null) {\n // Reset Classes on Container\n this._resetContainer();\n\n if (container === 'body') {\n const renderer = this.renderer;\n const dropdownMenuElement = this._menu.nativeElement;\n const bodyContainer = (this.bodyContainer = this.bodyContainer || renderer.createElement('div'));\n\n // Override some styles to have the positioning working\n renderer.setStyle(bodyContainer, 'position', 'absolute');\n renderer.setStyle(dropdownMenuElement, 'position', 'static');\n renderer.setStyle(bodyContainer, 'z-index', '1050');\n\n renderer.appendChild(bodyContainer, dropdownMenuElement);\n renderer.appendChild(this.document.body, bodyContainer);\n }\n }\n\n /**\n * Setzt die CSS Klassen auf dem Men\xFC Container auf den Standard zur\xFCck\n */\n private _resetContainer() {\n const renderer = this.renderer;\n if (this._menu) {\n const dropdownElement = this.elementRef.nativeElement;\n const dropdownMenuElement = this._menu.nativeElement;\n\n renderer.appendChild(dropdownElement, dropdownMenuElement);\n renderer.removeStyle(dropdownMenuElement, 'position');\n renderer.removeStyle(dropdownMenuElement, 'transform');\n }\n if (this.bodyContainer) {\n renderer.removeChild(this.document.body, this.bodyContainer);\n this.bodyContainer = null;\n }\n }\n\n // #endregion Private Methods\n}\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"ad98b2ddb1c19733728f65c9ee76f1cb0ac33e40"};var coverage=global[gcv]||(global[gcv]={});if(!coverage[path]||coverage[path].hash!==hash){coverage[path]=coverageData;}var actualCoverage=coverage[path];{// @ts-ignore
2
- cov_185odvtuut=function(){return actualCoverage;};}return actualCoverage;}cov_185odvtuut();import{SACICON_SERVICE,SacDefaultIconService}from'../../services';import{positionElements}from'../../utilities/positioning';import{SacContextmenuAnchorCommon}from'./contextmenuanchor';import{SacContextMenuContrainerCommon}from'./contextmenucontainer';import{SacContextmenuItemCommon}from'./contextmenuitem';import{DOCUMENT}from'@angular/common';import{ContentChild,ContentChildren,Directive,HostListener,Inject,Input,ViewChild}from'@angular/core';import*as i0 from"@angular/core";/**
1
+ function cov_185odvtuut(){var path="/home/runner/work/simpleangularcontrols/simpleangularcontrols/ch.jnetwork.sac-controls/dist/sac-common/esm2022/controls/contextmenu/contextmenu.mjs";var hash="921b69ccebf4ac543ea4d468537461027e1130a3";var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"/home/runner/work/simpleangularcontrols/simpleangularcontrols/ch.jnetwork.sac-controls/dist/sac-common/esm2022/controls/contextmenu/contextmenu.mjs",statementMap:{"0":{start:{line:25,column:8},end:{line:25,column:33}},"1":{start:{line:26,column:8},end:{line:26,column:29}},"2":{start:{line:27,column:8},end:{line:27,column:37}},"3":{start:{line:28,column:8},end:{line:28,column:33}},"4":{start:{line:32,column:8},end:{line:32,column:34}},"5":{start:{line:36,column:8},end:{line:36,column:32}},"6":{start:{line:40,column:8},end:{line:40,column:27}},"7":{start:{line:44,column:8},end:{line:44,column:34}},"8":{start:{line:48,column:8},end:{line:48,column:28}},"9":{start:{line:52,column:8},end:{line:52,column:33}},"10":{start:{line:66,column:8},end:{line:66,column:82}},"11":{start:{line:67,column:8},end:{line:69,column:11}},"12":{start:{line:68,column:12},end:{line:68,column:33}},"13":{start:{line:70,column:8},end:{line:70,column:86}},"14":{start:{line:78,column:8},end:{line:78,column:52}},"15":{start:{line:86,column:8},end:{line:86,column:31}},"16":{start:{line:87,column:8},end:{line:87,column:28}},"17":{start:{line:90,column:8},end:{line:90,column:72}},"18":{start:{line:90,column:44},end:{line:90,column:69}},"19":{start:{line:96,column:8},end:{line:98,column:9}},"20":{start:{line:97,column:12},end:{line:97,column:25}},"21":{start:{line:99,column:8},end:{line:99,column:44}},"22":{start:{line:105,column:23},end:{line:105,column:59}},"23":{start:{line:106,column:8},end:{line:110,column:9}},"24":{start:{line:109,column:12},end:{line:109,column:25}},"25":{start:{line:116,column:8},end:{line:116,column:45}},"26":{start:{line:117,column:8},end:{line:117,column:27}},"27":{start:{line:123,column:8},end:{line:128,column:9}},"28":{start:{line:124,column:12},end:{line:124,column:25}},"29":{start:{line:127,column:12},end:{line:127,column:24}},"30":{start:{line:136,column:23},end:{line:136,column:59}},"31":{start:{line:137,column:8},end:{line:139,column:9}},"32":{start:{line:138,column:12},end:{line:138,column:142}},"33":{start:{line:150,column:8},end:{line:150,column:31}},"34":{start:{line:151,column:8},end:{line:161,column:9}},"35":{start:{line:152,column:29},end:{line:152,column:42}},"36":{start:{line:153,column:40},end:{line:153,column:64}},"37":{start:{line:154,column:35},end:{line:154,column:107}},"38":{start:{line:156,column:12},end:{line:156,column:69}},"39":{start:{line:157,column:12},end:{line:157,column:73}},"40":{start:{line:158,column:12},end:{line:158,column:64}},"41":{start:{line:159,column:12},end:{line:159,column:69}},"42":{start:{line:160,column:12},end:{line:160,column:68}},"43":{start:{line:167,column:25},end:{line:167,column:38}},"44":{start:{line:168,column:8},end:{line:174,column:9}},"45":{start:{line:169,column:36},end:{line:169,column:65}},"46":{start:{line:170,column:40},end:{line:170,column:64}},"47":{start:{line:171,column:12},end:{line:171,column:71}},"48":{start:{line:172,column:12},end:{line:172,column:66}},"49":{start:{line:173,column:12},end:{line:173,column:67}},"50":{start:{line:175,column:8},end:{line:178,column:9}},"51":{start:{line:176,column:12},end:{line:176,column:73}},"52":{start:{line:177,column:12},end:{line:177,column:38}},"53":{start:{line:180,column:13},end:{line:180,column:299}},"54":{start:{line:181,column:13},end:{line:181,column:790}},"55":{start:{line:184,column:0},end:{line:218,column:20}},"56":{start:{line:186,column:42},end:{line:189,column:115}}},fnMap:{"0":{name:"(anonymous_0)",decl:{start:{line:24,column:4},end:{line:24,column:5}},loc:{start:{line:24,column:66},end:{line:71,column:5}},line:24},"1":{name:"(anonymous_1)",decl:{start:{line:67,column:63},end:{line:67,column:64}},loc:{start:{line:67,column:69},end:{line:69,column:9}},line:67},"2":{name:"(anonymous_2)",decl:{start:{line:77,column:4},end:{line:77,column:5}},loc:{start:{line:77,column:26},end:{line:79,column:5}},line:77},"3":{name:"(anonymous_3)",decl:{start:{line:85,column:4},end:{line:85,column:5}},loc:{start:{line:85,column:12},end:{line:88,column:5}},line:85},"4":{name:"(anonymous_4)",decl:{start:{line:89,column:4},end:{line:89,column:5}},loc:{start:{line:89,column:25},end:{line:91,column:5}},line:89},"5":{name:"(anonymous_5)",decl:{start:{line:90,column:31},end:{line:90,column:32}},loc:{start:{line:90,column:44},end:{line:90,column:69}},line:90},"6":{name:"(anonymous_6)",decl:{start:{line:95,column:4},end:{line:95,column:5}},loc:{start:{line:95,column:18},end:{line:100,column:5}},line:95},"7":{name:"(anonymous_7)",decl:{start:{line:104,column:4},end:{line:104,column:5}},loc:{start:{line:104,column:27},end:{line:111,column:5}},line:104},"8":{name:"(anonymous_8)",decl:{start:{line:115,column:4},end:{line:115,column:5}},loc:{start:{line:115,column:11},end:{line:118,column:5}},line:115},"9":{name:"(anonymous_9)",decl:{start:{line:122,column:4},end:{line:122,column:5}},loc:{start:{line:122,column:13},end:{line:129,column:5}},line:122},"10":{name:"(anonymous_10)",decl:{start:{line:135,column:4},end:{line:135,column:5}},loc:{start:{line:135,column:20},end:{line:140,column:5}},line:135},"11":{name:"(anonymous_11)",decl:{start:{line:148,column:4},end:{line:148,column:5}},loc:{start:{line:148,column:38},end:{line:162,column:5}},line:148},"12":{name:"(anonymous_12)",decl:{start:{line:166,column:4},end:{line:166,column:5}},loc:{start:{line:166,column:22},end:{line:179,column:5}},line:166},"13":{name:"(anonymous_13)",decl:{start:{line:186,column:28},end:{line:186,column:29}},loc:{start:{line:186,column:40},end:{line:189,column:117}},line:186}},branchMap:{"0":{loc:{start:{line:96,column:8},end:{line:98,column:9}},type:"if",locations:[{start:{line:96,column:8},end:{line:98,column:9}},{start:{line:96,column:8},end:{line:98,column:9}}],line:96},"1":{loc:{start:{line:105,column:23},end:{line:105,column:59}},type:"binary-expr",locations:[{start:{line:105,column:23},end:{line:105,column:35}},{start:{line:105,column:39},end:{line:105,column:59}}],line:105},"2":{loc:{start:{line:106,column:8},end:{line:110,column:9}},type:"if",locations:[{start:{line:106,column:8},end:{line:110,column:9}},{start:{line:106,column:8},end:{line:110,column:9}}],line:106},"3":{loc:{start:{line:106,column:12},end:{line:108,column:57}},type:"binary-expr",locations:[{start:{line:106,column:12},end:{line:106,column:22}},{start:{line:107,column:12},end:{line:107,column:61}},{start:{line:108,column:12},end:{line:108,column:57}}],line:106},"4":{loc:{start:{line:123,column:8},end:{line:128,column:9}},type:"if",locations:[{start:{line:123,column:8},end:{line:128,column:9}},{start:{line:123,column:8},end:{line:128,column:9}}],line:123},"5":{loc:{start:{line:136,column:23},end:{line:136,column:59}},type:"binary-expr",locations:[{start:{line:136,column:23},end:{line:136,column:35}},{start:{line:136,column:39},end:{line:136,column:59}}],line:136},"6":{loc:{start:{line:137,column:8},end:{line:139,column:9}},type:"if",locations:[{start:{line:137,column:8},end:{line:139,column:9}},{start:{line:137,column:8},end:{line:139,column:9}}],line:137},"7":{loc:{start:{line:137,column:12},end:{line:137,column:32}},type:"binary-expr",locations:[{start:{line:137,column:12},end:{line:137,column:18}},{start:{line:137,column:22},end:{line:137,column:32}}],line:137},"8":{loc:{start:{line:138,column:51},end:{line:138,column:97}},type:"binary-expr",locations:[{start:{line:138,column:51},end:{line:138,column:69}},{start:{line:138,column:73},end:{line:138,column:97}}],line:138},"9":{loc:{start:{line:148,column:20},end:{line:148,column:36}},type:"default-arg",locations:[{start:{line:148,column:32},end:{line:148,column:36}}],line:148},"10":{loc:{start:{line:151,column:8},end:{line:161,column:9}},type:"if",locations:[{start:{line:151,column:8},end:{line:161,column:9}},{start:{line:151,column:8},end:{line:161,column:9}}],line:151},"11":{loc:{start:{line:154,column:56},end:{line:154,column:107}},type:"binary-expr",locations:[{start:{line:154,column:56},end:{line:154,column:74}},{start:{line:154,column:78},end:{line:154,column:107}}],line:154},"12":{loc:{start:{line:168,column:8},end:{line:174,column:9}},type:"if",locations:[{start:{line:168,column:8},end:{line:174,column:9}},{start:{line:168,column:8},end:{line:174,column:9}}],line:168},"13":{loc:{start:{line:175,column:8},end:{line:178,column:9}},type:"if",locations:[{start:{line:175,column:8},end:{line:178,column:9}},{start:{line:175,column:8},end:{line:178,column:9}}],line:175}},s:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0},f:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0},b:{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0]},inputSourceMap:{version:3,file:"contextmenu.js",sourceRoot:"",sources:["../../../../../projects/sac-common/src/controls/contextmenu/contextmenu.ts"],names:[],mappings:"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",sourcesContent:["import { ISacIconService } from '../../interfaces/ISacIconService';\nimport { SACICON_SERVICE, SacDefaultIconService } from '../../services';\nimport { createGuid } from '../../utilities/guid';\nimport { PlacementArray, positionElements } from '../../utilities/positioning';\nimport { ISacContextmenuCommon } from './contextmenu.interface';\nimport { SacContextmenuAnchorCommon } from './contextmenuanchor';\nimport { SacContextMenuContrainerCommon } from './contextmenucontainer';\nimport { SacContextmenuItemCommon } from './contextmenuitem';\nimport { DOCUMENT } from '@angular/common';\nimport {\n AfterContentInit,\n ContentChild,\n ContentChildren,\n Directive,\n ElementRef,\n HostListener,\n Inject,\n Injector,\n Input,\n NgZone,\n OnDestroy,\n QueryList,\n Renderer2,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\n/**\n * Base Context Men\xFC Element. Die Logik wurde aus NG-BOOTSTRAP \xFCbernommen.\n */\n@Directive()\nexport class SacContextmenuCommon implements ISacContextmenuCommon, AfterContentInit, OnDestroy {\n // #region Properties\n\n /**\n * Button f\xFCr Open/Close Event\n */\n @ViewChild(SacContextmenuAnchorCommon, { static: false })\n private readonly _anchor: SacContextmenuAnchorCommon;\n\n /**\n * Button f\xFCr Open/Close Event aus Template\n */\n @ContentChild(SacContextmenuAnchorCommon, { static: false })\n private readonly _anchorTemplate: SacContextmenuAnchorCommon;\n\n /**\n * Container Element f\xFCr Dropdown\n */\n @ViewChild(SacContextMenuContrainerCommon, { static: false })\n private readonly _menu: SacContextMenuContrainerCommon;\n\n /**\n * Zone Subscription f\xFCr Postitonierung des Elements\n */\n private readonly zoneSubscription: Subscription;\n\n /**\n * Body HTML Element\n */\n private bodyContainer: HTMLElement | null = null;\n\n /**\n * icon service\n */\n protected iconService: ISacIconService;\n\n /**\n * Custom HTML Template f\xFCr Dropdown Button. Button muss den Marker \"ngContextmenuAnchor\" beinhalten, damit das Control korrekt funktioniert.\n */\n @Input()\n public buttontemplate: TemplateRef<any>;\n\n /**\n * Container an welchem die Position ausgerichtet wird. Aktuell wird nun Body Supported\n */\n @Input()\n public container: null | 'body' = 'body';\n\n /**\n * Extra CSS Klassen f\xFCr das Control\n */\n @Input()\n public cssclass: string = '';\n\n /**\n * Identifier used for the E2E data attribute.\n */\n @Input()\n public e2eidentifier: string | null = null;\n\n /**\n * Definiert ob das Dropdown offen ist.\n */\n @Input()\n public isopen: boolean = false;\n\n /**\n * All directly assigned context menu elements that are defined in the direct template for the context menu.\n */\n @ContentChildren(SacContextmenuItemCommon)\n public menuitems!: QueryList<SacContextmenuItemCommon>;\n\n /**\n * name of control\n */\n @Input()\n public name: string = createGuid();\n\n /**\n * The preferred placement of the dropdown.\n *\n * Possible values are `\"top\"`, `\"top-left\"`, `\"top-right\"`, `\"bottom\"`, `\"bottom-left\"`,\n * `\"bottom-right\"`, `\"left\"`, `\"left-top\"`, `\"left-bottom\"`, `\"right\"`, `\"right-top\"`,\n * `\"right-bottom\"`\n *\n * Accepts an array of strings or a string with space separated possible values.\n *\n * The default order of preference is `\"bottom-left bottom-right top-left top-right\"`\n *\n * Please see the [positioning overview](#/positioning) for more details.\n */\n @Input() public placement: PlacementArray = ['bottom-left', 'bottom-right', 'top-left', 'top-right'];\n\n // #endregion Properties\n\n // #region Constructors\n\n /**\n * Konstruktor\n * @param document HTML Document Element\n * @param ngZone Angular Zone Service\n * @param elementRef HTML Element des aktuellen Controls\n * @param renderer Angular Rendering Service\n * @param injector injector to resolve the icon service\n */\n constructor(\n @Inject(DOCUMENT) private readonly document: any,\n private readonly ngZone: NgZone,\n private readonly elementRef: ElementRef<HTMLElement>,\n private readonly renderer: Renderer2,\n injector: Injector\n ) {\n this.zoneSubscription = this.ngZone.onStable.subscribe(() => {\n this._positionMenu();\n });\n\n this.iconService = injector.get(SACICON_SERVICE, new SacDefaultIconService());\n }\n\n // #endregion Constructors\n\n // #region Public Getters And Setters\n\n /**\n * icon for default context men\xFC button\n */\n public get IconContextMenu(): string {\n return this.iconService.ContextMenuOpenIcon;\n }\n\n // #endregion Public Getters And Setters\n\n // #region Public Methods\n\n /**\n * Schliesst das Dropdown\n */\n public close(): void {\n this._resetContainer();\n this.isopen = false;\n }\n\n public ngAfterContentInit(): void {\n this.menuitems.forEach((button) => (button.contextmenu = this));\n }\n\n /**\n * Event wenn Component entfernt wird.\n */\n public ngOnDestroy(): void {\n if (this.isopen) {\n this.close();\n }\n\n this.zoneSubscription.unsubscribe();\n }\n\n /**\n * HostListener um das Dropdown zu schliessen wenn nicht auf das Element geklickt wird.\n */\n @HostListener('document:click', ['$event.target'])\n /**\n * Click Event\n */\n public onClick(targetElement) {\n const anchor: SacContextmenuAnchorCommon = this._anchor || this._anchorTemplate;\n\n if (\n this._menu &&\n !this._menu.nativeElement.contains(targetElement) &&\n !anchor.nativeElement.contains(targetElement)\n ) {\n this.close();\n }\n }\n\n /**\n * \xD6ffnet das Dropdown / Zeigt das Men\xFC an.\n */\n public open(): void {\n this._applyContainer(this.container);\n this.isopen = true;\n }\n\n /**\n * Toggle von Dropdown\n */\n public toggle(): void {\n if (this.isopen) {\n this.close();\n } else {\n this.open();\n }\n }\n\n // #endregion Public Methods\n\n // #region Protected Methods\n\n /**\n * Setzt die Position des Men\xFCs im Markup\n */\n protected _positionMenu() {\n const anchor: SacContextmenuAnchorCommon = this._anchor || this._anchorTemplate;\n\n if (anchor && this._menu) {\n positionElements(\n anchor.nativeElement,\n this.bodyContainer || this._menu.nativeElement,\n this.placement,\n this.container === 'body'\n );\n }\n }\n\n // #endregion Protected Methods\n\n // #region Private Methods\n\n /**\n * Setzt die Position des Men\xFCs innerhalb der Seite. Die Ausrichtung passiert innerhalb der Seite\n * damit das Men\xFC innerhalb eines Dialogs sauber funktionioniert.\n * @param container Definiert wo das Men\xFC ausgerichtet wird. Im Moment nur BODY Supported\n */\n private _applyContainer(container: null | 'body' = null) {\n // Reset Classes on Container\n this._resetContainer();\n\n if (container === 'body') {\n const renderer = this.renderer;\n const dropdownMenuElement = this._menu.nativeElement;\n const bodyContainer = (this.bodyContainer = this.bodyContainer || renderer.createElement('div'));\n\n // Override some styles to have the positioning working\n renderer.setStyle(bodyContainer, 'position', 'absolute');\n renderer.setStyle(dropdownMenuElement, 'position', 'static');\n renderer.setStyle(bodyContainer, 'z-index', '1050');\n\n renderer.appendChild(bodyContainer, dropdownMenuElement);\n renderer.appendChild(this.document.body, bodyContainer);\n }\n }\n\n /**\n * Setzt die CSS Klassen auf dem Men\xFC Container auf den Standard zur\xFCck\n */\n private _resetContainer() {\n const renderer = this.renderer;\n if (this._menu) {\n const dropdownElement = this.elementRef.nativeElement;\n const dropdownMenuElement = this._menu.nativeElement;\n\n renderer.appendChild(dropdownElement, dropdownMenuElement);\n renderer.removeStyle(dropdownMenuElement, 'position');\n renderer.removeStyle(dropdownMenuElement, 'transform');\n }\n if (this.bodyContainer) {\n renderer.removeChild(this.document.body, this.bodyContainer);\n this.bodyContainer = null;\n }\n }\n\n // #endregion Private Methods\n}\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"921b69ccebf4ac543ea4d468537461027e1130a3"};var coverage=global[gcv]||(global[gcv]={});if(!coverage[path]||coverage[path].hash!==hash){coverage[path]=coverageData;}var actualCoverage=coverage[path];{// @ts-ignore
2
+ cov_185odvtuut=function(){return actualCoverage;};}return actualCoverage;}cov_185odvtuut();import{SACICON_SERVICE,SacDefaultIconService}from'../../services';import{createGuid}from'../../utilities/guid';import{positionElements}from'../../utilities/positioning';import{SacContextmenuAnchorCommon}from'./contextmenuanchor';import{SacContextMenuContrainerCommon}from'./contextmenucontainer';import{SacContextmenuItemCommon}from'./contextmenuitem';import{DOCUMENT}from'@angular/common';import{ContentChild,ContentChildren,Directive,HostListener,Inject,Input,ViewChild}from'@angular/core';import*as i0 from"@angular/core";/**
3
3
  * Base Context Menü Element. Die Logik wurde aus NG-BOOTSTRAP übernommen.
4
4
  */class SacContextmenuCommon{// #endregion Properties
5
5
  // #region Constructors
@@ -17,8 +17,12 @@ cov_185odvtuut=function(){return actualCoverage;};}return actualCoverage;}cov_18
17
17
  */cov_185odvtuut().s[5]++;this.container='body';/**
18
18
  * Extra CSS Klassen für das Control
19
19
  */cov_185odvtuut().s[6]++;this.cssclass='';/**
20
+ * Identifier used for the E2E data attribute.
21
+ */cov_185odvtuut().s[7]++;this.e2eidentifier=null;/**
20
22
  * Definiert ob das Dropdown offen ist.
21
- */cov_185odvtuut().s[7]++;this.isopen=false;/**
23
+ */cov_185odvtuut().s[8]++;this.isopen=false;/**
24
+ * name of control
25
+ */cov_185odvtuut().s[9]++;this.name=createGuid();/**
22
26
  * The preferred placement of the dropdown.
23
27
  *
24
28
  * Possible values are `"top"`, `"top-left"`, `"top-right"`, `"bottom"`, `"bottom-left"`,
@@ -30,35 +34,35 @@ cov_185odvtuut=function(){return actualCoverage;};}return actualCoverage;}cov_18
30
34
  * The default order of preference is `"bottom-left bottom-right top-left top-right"`
31
35
  *
32
36
  * Please see the [positioning overview](#/positioning) for more details.
33
- */cov_185odvtuut().s[8]++;this.placement=['bottom-left','bottom-right','top-left','top-right'];cov_185odvtuut().s[9]++;this.zoneSubscription=this.ngZone.onStable.subscribe(()=>{cov_185odvtuut().f[1]++;cov_185odvtuut().s[10]++;this._positionMenu();});cov_185odvtuut().s[11]++;this.iconService=injector.get(SACICON_SERVICE,new SacDefaultIconService());}// #endregion Constructors
37
+ */cov_185odvtuut().s[10]++;this.placement=['bottom-left','bottom-right','top-left','top-right'];cov_185odvtuut().s[11]++;this.zoneSubscription=this.ngZone.onStable.subscribe(()=>{cov_185odvtuut().f[1]++;cov_185odvtuut().s[12]++;this._positionMenu();});cov_185odvtuut().s[13]++;this.iconService=injector.get(SACICON_SERVICE,new SacDefaultIconService());}// #endregion Constructors
34
38
  // #region Public Getters And Setters
35
39
  /**
36
40
  * icon for default context menü button
37
- */get IconContextMenu(){cov_185odvtuut().f[2]++;cov_185odvtuut().s[12]++;return this.iconService.ContextMenuOpenIcon;}// #endregion Public Getters And Setters
41
+ */get IconContextMenu(){cov_185odvtuut().f[2]++;cov_185odvtuut().s[14]++;return this.iconService.ContextMenuOpenIcon;}// #endregion Public Getters And Setters
38
42
  // #region Public Methods
39
43
  /**
40
44
  * Schliesst das Dropdown
41
- */close(){cov_185odvtuut().f[3]++;cov_185odvtuut().s[13]++;this._resetContainer();cov_185odvtuut().s[14]++;this.isopen=false;}ngAfterContentInit(){cov_185odvtuut().f[4]++;cov_185odvtuut().s[15]++;this.menuitems.forEach(button=>{cov_185odvtuut().f[5]++;cov_185odvtuut().s[16]++;return button.contextmenu=this;});}/**
45
+ */close(){cov_185odvtuut().f[3]++;cov_185odvtuut().s[15]++;this._resetContainer();cov_185odvtuut().s[16]++;this.isopen=false;}ngAfterContentInit(){cov_185odvtuut().f[4]++;cov_185odvtuut().s[17]++;this.menuitems.forEach(button=>{cov_185odvtuut().f[5]++;cov_185odvtuut().s[18]++;return button.contextmenu=this;});}/**
42
46
  * Event wenn Component entfernt wird.
43
- */ngOnDestroy(){cov_185odvtuut().f[6]++;cov_185odvtuut().s[17]++;if(this.isopen){cov_185odvtuut().b[0][0]++;cov_185odvtuut().s[18]++;this.close();}else{cov_185odvtuut().b[0][1]++;}cov_185odvtuut().s[19]++;this.zoneSubscription.unsubscribe();}/**
47
+ */ngOnDestroy(){cov_185odvtuut().f[6]++;cov_185odvtuut().s[19]++;if(this.isopen){cov_185odvtuut().b[0][0]++;cov_185odvtuut().s[20]++;this.close();}else{cov_185odvtuut().b[0][1]++;}cov_185odvtuut().s[21]++;this.zoneSubscription.unsubscribe();}/**
44
48
  * HostListener um das Dropdown zu schliessen wenn nicht auf das Element geklickt wird.
45
- */onClick(targetElement){cov_185odvtuut().f[7]++;const anchor=(cov_185odvtuut().s[20]++,(cov_185odvtuut().b[1][0]++,this._anchor)||(cov_185odvtuut().b[1][1]++,this._anchorTemplate));cov_185odvtuut().s[21]++;if((cov_185odvtuut().b[3][0]++,this._menu)&&(cov_185odvtuut().b[3][1]++,!this._menu.nativeElement.contains(targetElement))&&(cov_185odvtuut().b[3][2]++,!anchor.nativeElement.contains(targetElement))){cov_185odvtuut().b[2][0]++;cov_185odvtuut().s[22]++;this.close();}else{cov_185odvtuut().b[2][1]++;}}/**
49
+ */onClick(targetElement){cov_185odvtuut().f[7]++;const anchor=(cov_185odvtuut().s[22]++,(cov_185odvtuut().b[1][0]++,this._anchor)||(cov_185odvtuut().b[1][1]++,this._anchorTemplate));cov_185odvtuut().s[23]++;if((cov_185odvtuut().b[3][0]++,this._menu)&&(cov_185odvtuut().b[3][1]++,!this._menu.nativeElement.contains(targetElement))&&(cov_185odvtuut().b[3][2]++,!anchor.nativeElement.contains(targetElement))){cov_185odvtuut().b[2][0]++;cov_185odvtuut().s[24]++;this.close();}else{cov_185odvtuut().b[2][1]++;}}/**
46
50
  * Öffnet das Dropdown / Zeigt das Menü an.
47
- */open(){cov_185odvtuut().f[8]++;cov_185odvtuut().s[23]++;this._applyContainer(this.container);cov_185odvtuut().s[24]++;this.isopen=true;}/**
51
+ */open(){cov_185odvtuut().f[8]++;cov_185odvtuut().s[25]++;this._applyContainer(this.container);cov_185odvtuut().s[26]++;this.isopen=true;}/**
48
52
  * Toggle von Dropdown
49
- */toggle(){cov_185odvtuut().f[9]++;cov_185odvtuut().s[25]++;if(this.isopen){cov_185odvtuut().b[4][0]++;cov_185odvtuut().s[26]++;this.close();}else{cov_185odvtuut().b[4][1]++;cov_185odvtuut().s[27]++;this.open();}}// #endregion Public Methods
53
+ */toggle(){cov_185odvtuut().f[9]++;cov_185odvtuut().s[27]++;if(this.isopen){cov_185odvtuut().b[4][0]++;cov_185odvtuut().s[28]++;this.close();}else{cov_185odvtuut().b[4][1]++;cov_185odvtuut().s[29]++;this.open();}}// #endregion Public Methods
50
54
  // #region Protected Methods
51
55
  /**
52
56
  * Setzt die Position des Menüs im Markup
53
- */_positionMenu(){cov_185odvtuut().f[10]++;const anchor=(cov_185odvtuut().s[28]++,(cov_185odvtuut().b[5][0]++,this._anchor)||(cov_185odvtuut().b[5][1]++,this._anchorTemplate));cov_185odvtuut().s[29]++;if((cov_185odvtuut().b[7][0]++,anchor)&&(cov_185odvtuut().b[7][1]++,this._menu)){cov_185odvtuut().b[6][0]++;cov_185odvtuut().s[30]++;positionElements(anchor.nativeElement,(cov_185odvtuut().b[8][0]++,this.bodyContainer)||(cov_185odvtuut().b[8][1]++,this._menu.nativeElement),this.placement,this.container==='body');}else{cov_185odvtuut().b[6][1]++;}}// #endregion Protected Methods
57
+ */_positionMenu(){cov_185odvtuut().f[10]++;const anchor=(cov_185odvtuut().s[30]++,(cov_185odvtuut().b[5][0]++,this._anchor)||(cov_185odvtuut().b[5][1]++,this._anchorTemplate));cov_185odvtuut().s[31]++;if((cov_185odvtuut().b[7][0]++,anchor)&&(cov_185odvtuut().b[7][1]++,this._menu)){cov_185odvtuut().b[6][0]++;cov_185odvtuut().s[32]++;positionElements(anchor.nativeElement,(cov_185odvtuut().b[8][0]++,this.bodyContainer)||(cov_185odvtuut().b[8][1]++,this._menu.nativeElement),this.placement,this.container==='body');}else{cov_185odvtuut().b[6][1]++;}}// #endregion Protected Methods
54
58
  // #region Private Methods
55
59
  /**
56
60
  * Setzt die Position des Menüs innerhalb der Seite. Die Ausrichtung passiert innerhalb der Seite
57
61
  * damit das Menü innerhalb eines Dialogs sauber funktionioniert.
58
62
  * @param container Definiert wo das Menü ausgerichtet wird. Im Moment nur BODY Supported
59
- */_applyContainer(container=(cov_185odvtuut().b[9][0]++,null)){cov_185odvtuut().f[11]++;cov_185odvtuut().s[31]++;// Reset Classes on Container
60
- this._resetContainer();cov_185odvtuut().s[32]++;if(container==='body'){cov_185odvtuut().b[10][0]++;const renderer=(cov_185odvtuut().s[33]++,this.renderer);const dropdownMenuElement=(cov_185odvtuut().s[34]++,this._menu.nativeElement);const bodyContainer=(cov_185odvtuut().s[35]++,this.bodyContainer=(cov_185odvtuut().b[11][0]++,this.bodyContainer)||(cov_185odvtuut().b[11][1]++,renderer.createElement('div')));// Override some styles to have the positioning working
61
- cov_185odvtuut().s[36]++;renderer.setStyle(bodyContainer,'position','absolute');cov_185odvtuut().s[37]++;renderer.setStyle(dropdownMenuElement,'position','static');cov_185odvtuut().s[38]++;renderer.setStyle(bodyContainer,'z-index','1050');cov_185odvtuut().s[39]++;renderer.appendChild(bodyContainer,dropdownMenuElement);cov_185odvtuut().s[40]++;renderer.appendChild(this.document.body,bodyContainer);}else{cov_185odvtuut().b[10][1]++;}}/**
63
+ */_applyContainer(container=(cov_185odvtuut().b[9][0]++,null)){cov_185odvtuut().f[11]++;cov_185odvtuut().s[33]++;// Reset Classes on Container
64
+ this._resetContainer();cov_185odvtuut().s[34]++;if(container==='body'){cov_185odvtuut().b[10][0]++;const renderer=(cov_185odvtuut().s[35]++,this.renderer);const dropdownMenuElement=(cov_185odvtuut().s[36]++,this._menu.nativeElement);const bodyContainer=(cov_185odvtuut().s[37]++,this.bodyContainer=(cov_185odvtuut().b[11][0]++,this.bodyContainer)||(cov_185odvtuut().b[11][1]++,renderer.createElement('div')));// Override some styles to have the positioning working
65
+ cov_185odvtuut().s[38]++;renderer.setStyle(bodyContainer,'position','absolute');cov_185odvtuut().s[39]++;renderer.setStyle(dropdownMenuElement,'position','static');cov_185odvtuut().s[40]++;renderer.setStyle(bodyContainer,'z-index','1050');cov_185odvtuut().s[41]++;renderer.appendChild(bodyContainer,dropdownMenuElement);cov_185odvtuut().s[42]++;renderer.appendChild(this.document.body,bodyContainer);}else{cov_185odvtuut().b[10][1]++;}}/**
62
66
  * Setzt die CSS Klassen auf dem Menü Container auf den Standard zurück
63
- */_resetContainer(){cov_185odvtuut().f[12]++;const renderer=(cov_185odvtuut().s[41]++,this.renderer);cov_185odvtuut().s[42]++;if(this._menu){cov_185odvtuut().b[12][0]++;const dropdownElement=(cov_185odvtuut().s[43]++,this.elementRef.nativeElement);const dropdownMenuElement=(cov_185odvtuut().s[44]++,this._menu.nativeElement);cov_185odvtuut().s[45]++;renderer.appendChild(dropdownElement,dropdownMenuElement);cov_185odvtuut().s[46]++;renderer.removeStyle(dropdownMenuElement,'position');cov_185odvtuut().s[47]++;renderer.removeStyle(dropdownMenuElement,'transform');}else{cov_185odvtuut().b[12][1]++;}cov_185odvtuut().s[48]++;if(this.bodyContainer){cov_185odvtuut().b[13][0]++;cov_185odvtuut().s[49]++;renderer.removeChild(this.document.body,this.bodyContainer);cov_185odvtuut().s[50]++;this.bodyContainer=null;}else{cov_185odvtuut().b[13][1]++;}}static{cov_185odvtuut().s[51]++;this.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"16.2.12",ngImport:i0,type:SacContextmenuCommon,deps:[{token:DOCUMENT},{token:i0.NgZone},{token:i0.ElementRef},{token:i0.Renderer2},{token:i0.Injector}],target:i0.ɵɵFactoryTarget.Directive});}static{cov_185odvtuut().s[52]++;this.ɵdir=i0.ɵɵngDeclareDirective({minVersion:"14.0.0",version:"16.2.12",type:SacContextmenuCommon,inputs:{buttontemplate:"buttontemplate",container:"container",cssclass:"cssclass",isopen:"isopen",placement:"placement"},host:{listeners:{"document:click":"onClick($event.target)"}},queries:[{propertyName:"_anchorTemplate",first:true,predicate:SacContextmenuAnchorCommon,descendants:true},{propertyName:"menuitems",predicate:SacContextmenuItemCommon}],viewQueries:[{propertyName:"_anchor",first:true,predicate:SacContextmenuAnchorCommon,descendants:true},{propertyName:"_menu",first:true,predicate:SacContextMenuContrainerCommon,descendants:true}],ngImport:i0});}}export{SacContextmenuCommon};cov_185odvtuut().s[53]++;i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"16.2.12",ngImport:i0,type:SacContextmenuCommon,decorators:[{type:Directive}],ctorParameters:function(){cov_185odvtuut().f[13]++;cov_185odvtuut().s[54]++;return[{type:undefined,decorators:[{type:Inject,args:[DOCUMENT]}]},{type:i0.NgZone},{type:i0.ElementRef},{type:i0.Renderer2},{type:i0.Injector}];},propDecorators:{_anchor:[{type:ViewChild,args:[SacContextmenuAnchorCommon,{static:false}]}],_anchorTemplate:[{type:ContentChild,args:[SacContextmenuAnchorCommon,{static:false}]}],_menu:[{type:ViewChild,args:[SacContextMenuContrainerCommon,{static:false}]}],buttontemplate:[{type:Input}],container:[{type:Input}],cssclass:[{type:Input}],isopen:[{type:Input}],menuitems:[{type:ContentChildren,args:[SacContextmenuItemCommon]}],placement:[{type:Input}],onClick:[{type:HostListener,args:['document:click',['$event.target']]}]}});//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dG1lbnUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy9jb250cm9scy9jb250ZXh0bWVudS9jb250ZXh0bWVudS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZUFBZSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEUsT0FBTyxFQUFrQixnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRS9FLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzdELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBRUgsWUFBWSxFQUNaLGVBQWUsRUFDZixTQUFTLEVBRVQsWUFBWSxFQUNaLE1BQU0sRUFFTixLQUFLLEVBTUwsU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDOztBQUd2Qjs7R0FFRztBQUNILE1BQ2Esb0JBQW9CO0lBaUY3Qix3QkFBd0I7SUFFeEIsdUJBQXVCO0lBRXZCOzs7Ozs7O09BT0c7SUFDSCxZQUN1QyxRQUFhLEVBQy9CLE1BQWMsRUFDZCxVQUFtQyxFQUNuQyxRQUFtQixFQUNwQyxRQUFrQjtRQUppQixhQUFRLEdBQVIsUUFBUSxDQUFLO1FBQy9CLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQUNuQyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBdkV4Qzs7V0FFRztRQUNLLGtCQUFhLEdBQXVCLElBQUksQ0FBQztRQWFqRDs7V0FFRztRQUVJLGNBQVMsR0FBa0IsTUFBTSxDQUFDO1FBRXpDOztXQUVHO1FBRUksYUFBUSxHQUFXLEVBQUUsQ0FBQztRQUU3Qjs7V0FFRztRQUVJLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFRL0I7Ozs7Ozs7Ozs7OztXQVlHO1FBQ2EsY0FBUyxHQUFtQixDQUFDLGFBQWEsRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBcUJqRyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUN4RCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLElBQUkscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFFRCwwQkFBMEI7SUFFMUIscUNBQXFDO0lBRXJDOztPQUVHO0lBQ0gsSUFBVyxlQUFlO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQztJQUNoRCxDQUFDO0lBRUQsd0NBQXdDO0lBRXhDLHlCQUF5QjtJQUV6Qjs7T0FFRztJQUNJLEtBQUs7UUFDUixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQUVNLGtCQUFrQjtRQUNyQixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksV0FBVztRQUNkLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNiLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNoQjtRQUVELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7O09BRUc7SUFLSSxPQUFPLENBQUMsYUFBYTtRQUN4QixNQUFNLE1BQU0sR0FBK0IsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDO1FBRWhGLElBQ0ksSUFBSSxDQUFDLEtBQUs7WUFDVixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUM7WUFDakQsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFDL0M7WUFDRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDaEI7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxJQUFJO1FBQ1AsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7SUFDdkIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTTtRQUNULElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNiLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNoQjthQUFNO1lBQ0gsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ2Y7SUFDTCxDQUFDO0lBRUQsNEJBQTRCO0lBRTVCLDRCQUE0QjtJQUU1Qjs7T0FFRztJQUNPLGFBQWE7UUFDbkIsTUFBTSxNQUFNLEdBQStCLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUVoRixJQUFJLE1BQU0sSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ3RCLGdCQUFnQixDQUNaLE1BQU0sQ0FBQyxhQUFhLEVBQ3BCLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQzlDLElBQUksQ0FBQyxTQUFTLEVBQ2QsSUFBSSxDQUFDLFNBQVMsS0FBSyxNQUFNLENBQzVCLENBQUM7U0FDTDtJQUNMLENBQUM7SUFFRCwrQkFBK0I7SUFFL0IsMEJBQTBCO0lBRTFCOzs7O09BSUc7SUFDSyxlQUFlLENBQUMsWUFBMkIsSUFBSTtRQUNuRCw2QkFBNkI7UUFDN0IsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRXZCLElBQUksU0FBUyxLQUFLLE1BQU0sRUFBRTtZQUN0QixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQy9CLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUM7WUFDckQsTUFBTSxhQUFhLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLElBQUksUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBRWpHLHVEQUF1RDtZQUN2RCxRQUFRLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDekQsUUFBUSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDN0QsUUFBUSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBRXBELFFBQVEsQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLG1CQUFtQixDQUFDLENBQUM7WUFDekQsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxhQUFhLENBQUMsQ0FBQztTQUMzRDtJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNLLGVBQWU7UUFDbkIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUMvQixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDWixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztZQUN0RCxNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDO1lBRXJELFFBQVEsQ0FBQyxXQUFXLENBQUMsZUFBZSxFQUFFLG1CQUFtQixDQUFDLENBQUM7WUFDM0QsUUFBUSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsRUFBRSxVQUFVLENBQUMsQ0FBQztZQUN0RCxRQUFRLENBQUMsV0FBVyxDQUFDLG1CQUFtQixFQUFFLFdBQVcsQ0FBQyxDQUFDO1NBQzFEO1FBQ0QsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3BCLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQzdELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1NBQzdCO0lBQ0wsQ0FBQzsrR0F4UFEsb0JBQW9CLGtCQThGakIsUUFBUTttR0E5Rlgsb0JBQW9CLGtSQVlmLDBCQUEwQiwrREFtRHZCLHdCQUF3QixzRUF6RDlCLDBCQUEwQix3RUFZMUIsOEJBQThCOztTQWxCaEMsb0JBQW9COzRGQUFwQixvQkFBb0I7a0JBRGhDLFNBQVM7OzBCQStGRCxNQUFNOzJCQUFDLFFBQVE7eUlBdkZILE9BQU87c0JBRHZCLFNBQVM7dUJBQUMsMEJBQTBCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQU92QyxlQUFlO3NCQUQvQixZQUFZO3VCQUFDLDBCQUEwQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFPMUMsS0FBSztzQkFEckIsU0FBUzt1QkFBQyw4QkFBOEIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBc0JyRCxjQUFjO3NCQURwQixLQUFLO2dCQU9DLFNBQVM7c0JBRGYsS0FBSztnQkFPQyxRQUFRO3NCQURkLEtBQUs7Z0JBT0MsTUFBTTtzQkFEWixLQUFLO2dCQU9DLFNBQVM7c0JBRGYsZUFBZTt1QkFBQyx3QkFBd0I7Z0JBZ0J6QixTQUFTO3NCQUF4QixLQUFLO2dCQXlFQyxPQUFPO3NCQUpiLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJU2FjSWNvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lTYWNJY29uU2VydmljZSc7XG5pbXBvcnQgeyBTQUNJQ09OX1NFUlZJQ0UsIFNhY0RlZmF1bHRJY29uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IFBsYWNlbWVudEFycmF5LCBwb3NpdGlvbkVsZW1lbnRzIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL3Bvc2l0aW9uaW5nJztcbmltcG9ydCB7IElTYWNDb250ZXh0bWVudUNvbW1vbiB9IGZyb20gJy4vY29udGV4dG1lbnUuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNhY0NvbnRleHRtZW51QW5jaG9yQ29tbW9uIH0gZnJvbSAnLi9jb250ZXh0bWVudWFuY2hvcic7XG5pbXBvcnQgeyBTYWNDb250ZXh0TWVudUNvbnRyYWluZXJDb21tb24gfSBmcm9tICcuL2NvbnRleHRtZW51Y29udGFpbmVyJztcbmltcG9ydCB7IFNhY0NvbnRleHRtZW51SXRlbUNvbW1vbiB9IGZyb20gJy4vY29udGV4dG1lbnVpdGVtJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5qZWN0b3IsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIE9uRGVzdHJveSxcbiAgICBRdWVyeUxpc3QsXG4gICAgUmVuZGVyZXIyLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBCYXNlIENvbnRleHQgTWVuw7wgRWxlbWVudC4gRGllIExvZ2lrIHd1cmRlIGF1cyBORy1CT09UU1RSQVAgw7xiZXJub21tZW4uXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIFNhY0NvbnRleHRtZW51Q29tbW9uIGltcGxlbWVudHMgSVNhY0NvbnRleHRtZW51Q29tbW9uLCBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuICAgIC8vICNyZWdpb24gUHJvcGVydGllc1xuXG4gICAgLyoqXG4gICAgICogQnV0dG9uIGbDvHIgT3Blbi9DbG9zZSBFdmVudFxuICAgICAqL1xuICAgIEBWaWV3Q2hpbGQoU2FjQ29udGV4dG1lbnVBbmNob3JDb21tb24sIHsgc3RhdGljOiBmYWxzZSB9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2FuY2hvcjogU2FjQ29udGV4dG1lbnVBbmNob3JDb21tb247XG5cbiAgICAvKipcbiAgICAgKiBCdXR0b24gZsO8ciBPcGVuL0Nsb3NlIEV2ZW50IGF1cyBUZW1wbGF0ZVxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoU2FjQ29udGV4dG1lbnVBbmNob3JDb21tb24sIHsgc3RhdGljOiBmYWxzZSB9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2FuY2hvclRlbXBsYXRlOiBTYWNDb250ZXh0bWVudUFuY2hvckNvbW1vbjtcblxuICAgIC8qKlxuICAgICAqIENvbnRhaW5lciBFbGVtZW50IGbDvHIgRHJvcGRvd25cbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKFNhY0NvbnRleHRNZW51Q29udHJhaW5lckNvbW1vbiwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gICAgcHJpdmF0ZSByZWFkb25seSBfbWVudTogU2FjQ29udGV4dE1lbnVDb250cmFpbmVyQ29tbW9uO1xuXG4gICAgLyoqXG4gICAgICogWm9uZSBTdWJzY3JpcHRpb24gZsO8ciBQb3N0aXRvbmllcnVuZyBkZXMgRWxlbWVudHNcbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHpvbmVTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIC8qKlxuICAgICAqIEJvZHkgSFRNTCBFbGVtZW50XG4gICAgICovXG4gICAgcHJpdmF0ZSBib2R5Q29udGFpbmVyOiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogaWNvbiBzZXJ2aWNlXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGljb25TZXJ2aWNlOiBJU2FjSWNvblNlcnZpY2U7XG5cbiAgICAvKipcbiAgICAgKiBDdXN0b20gSFRNTCBUZW1wbGF0ZSBmw7xyIERyb3Bkb3duIEJ1dHRvbi4gQnV0dG9uIG11c3MgZGVuIE1hcmtlciBcIm5nQ29udGV4dG1lbnVBbmNob3JcIiBiZWluaGFsdGVuLCBkYW1pdCBkYXMgQ29udHJvbCBrb3JyZWt0IGZ1bmt0aW9uaWVydC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBidXR0b250ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKlxuICAgICAqIENvbnRhaW5lciBhbiB3ZWxjaGVtIGRpZSBQb3NpdGlvbiBhdXNnZXJpY2h0ZXQgd2lyZC4gQWt0dWVsbCB3aXJkIG51biBCb2R5IFN1cHBvcnRlZFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGNvbnRhaW5lcjogbnVsbCB8ICdib2R5JyA9ICdib2R5JztcblxuICAgIC8qKlxuICAgICAqIEV4dHJhIENTUyBLbGFzc2VuIGbDvHIgZGFzIENvbnRyb2xcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBjc3NjbGFzczogc3RyaW5nID0gJyc7XG5cbiAgICAvKipcbiAgICAgKiBEZWZpbmllcnQgb2IgZGFzIERyb3Bkb3duIG9mZmVuIGlzdC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpc29wZW46IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEFsbCBkaXJlY3RseSBhc3NpZ25lZCBjb250ZXh0IG1lbnUgZWxlbWVudHMgdGhhdCBhcmUgZGVmaW5lZCBpbiB0aGUgZGlyZWN0IHRlbXBsYXRlIGZvciB0aGUgY29udGV4dCBtZW51LlxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oU2FjQ29udGV4dG1lbnVJdGVtQ29tbW9uKVxuICAgIHB1YmxpYyBtZW51aXRlbXMhOiBRdWVyeUxpc3Q8U2FjQ29udGV4dG1lbnVJdGVtQ29tbW9uPjtcblxuICAgIC8qKlxuICAgICAqIFRoZSBwcmVmZXJyZWQgcGxhY2VtZW50IG9mIHRoZSBkcm9wZG93bi5cbiAgICAgKlxuICAgICAqIFBvc3NpYmxlIHZhbHVlcyBhcmUgYFwidG9wXCJgLCBgXCJ0b3AtbGVmdFwiYCwgYFwidG9wLXJpZ2h0XCJgLCBgXCJib3R0b21cImAsIGBcImJvdHRvbS1sZWZ0XCJgLFxuICAgICAqIGBcImJvdHRvbS1yaWdodFwiYCwgYFwibGVmdFwiYCwgYFwibGVmdC10b3BcImAsIGBcImxlZnQtYm90dG9tXCJgLCBgXCJyaWdodFwiYCwgYFwicmlnaHQtdG9wXCJgLFxuICAgICAqIGBcInJpZ2h0LWJvdHRvbVwiYFxuICAgICAqXG4gICAgICogQWNjZXB0cyBhbiBhcnJheSBvZiBzdHJpbmdzIG9yIGEgc3RyaW5nIHdpdGggc3BhY2Ugc2VwYXJhdGVkIHBvc3NpYmxlIHZhbHVlcy5cbiAgICAgKlxuICAgICAqIFRoZSBkZWZhdWx0IG9yZGVyIG9mIHByZWZlcmVuY2UgaXMgYFwiYm90dG9tLWxlZnQgYm90dG9tLXJpZ2h0IHRvcC1sZWZ0IHRvcC1yaWdodFwiYFxuICAgICAqXG4gICAgICogUGxlYXNlIHNlZSB0aGUgW3Bvc2l0aW9uaW5nIG92ZXJ2aWV3XSgjL3Bvc2l0aW9uaW5nKSBmb3IgbW9yZSBkZXRhaWxzLlxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBwbGFjZW1lbnQ6IFBsYWNlbWVudEFycmF5ID0gWydib3R0b20tbGVmdCcsICdib3R0b20tcmlnaHQnLCAndG9wLWxlZnQnLCAndG9wLXJpZ2h0J107XG5cbiAgICAvLyAjZW5kcmVnaW9uIFByb3BlcnRpZXNcblxuICAgIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgICAvKipcbiAgICAgKiBLb25zdHJ1a3RvclxuICAgICAqIEBwYXJhbSBkb2N1bWVudCBIVE1MIERvY3VtZW50IEVsZW1lbnRcbiAgICAgKiBAcGFyYW0gbmdab25lIEFuZ3VsYXIgWm9uZSBTZXJ2aWNlXG4gICAgICogQHBhcmFtIGVsZW1lbnRSZWYgSFRNTCBFbGVtZW50IGRlcyBha3R1ZWxsZW4gQ29udHJvbHNcbiAgICAgKiBAcGFyYW0gcmVuZGVyZXIgQW5ndWxhciBSZW5kZXJpbmcgU2VydmljZVxuICAgICAqIEBwYXJhbSBpbmplY3RvciBpbmplY3RvciB0byByZXNvbHZlIHRoZSBpY29uIHNlcnZpY2VcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudDogYW55LFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZTogTmdab25lLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvclxuICAgICkge1xuICAgICAgICB0aGlzLnpvbmVTdWJzY3JpcHRpb24gPSB0aGlzLm5nWm9uZS5vblN0YWJsZS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fcG9zaXRpb25NZW51KCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuaWNvblNlcnZpY2UgPSBpbmplY3Rvci5nZXQoU0FDSUNPTl9TRVJWSUNFLCBuZXcgU2FjRGVmYXVsdEljb25TZXJ2aWNlKCkpO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXG5cbiAgICAvKipcbiAgICAgKiBpY29uIGZvciBkZWZhdWx0IGNvbnRleHQgbWVuw7wgYnV0dG9uXG4gICAgICovXG4gICAgcHVibGljIGdldCBJY29uQ29udGV4dE1lbnUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaWNvblNlcnZpY2UuQ29udGV4dE1lbnVPcGVuSWNvbjtcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXG5cbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBNZXRob2RzXG5cbiAgICAvKipcbiAgICAgKiBTY2hsaWVzc3QgZGFzIERyb3Bkb3duXG4gICAgICovXG4gICAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9yZXNldENvbnRhaW5lcigpO1xuICAgICAgICB0aGlzLmlzb3BlbiA9IGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubWVudWl0ZW1zLmZvckVhY2goKGJ1dHRvbikgPT4gKGJ1dHRvbi5jb250ZXh0bWVudSA9IHRoaXMpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCB3ZW5uIENvbXBvbmVudCBlbnRmZXJudCB3aXJkLlxuICAgICAqL1xuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNvcGVuKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnpvbmVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIb3N0TGlzdGVuZXIgdW0gZGFzIERyb3Bkb3duIHp1IHNjaGxpZXNzZW4gd2VubiBuaWNodCBhdWYgZGFzIEVsZW1lbnQgZ2VrbGlja3Qgd2lyZC5cbiAgICAgKi9cbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50LnRhcmdldCddKVxuICAgIC8qKlxuICAgICAqIENsaWNrIEV2ZW50XG4gICAgICovXG4gICAgcHVibGljIG9uQ2xpY2sodGFyZ2V0RWxlbWVudCkge1xuICAgICAgICBjb25zdCBhbmNob3I6IFNhY0NvbnRleHRtZW51QW5jaG9yQ29tbW9uID0gdGhpcy5fYW5jaG9yIHx8IHRoaXMuX2FuY2hvclRlbXBsYXRlO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMuX21lbnUgJiZcbiAgICAgICAgICAgICF0aGlzLl9tZW51Lm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0RWxlbWVudCkgJiZcbiAgICAgICAgICAgICFhbmNob3IubmF0aXZlRWxlbWVudC5jb250YWlucyh0YXJnZXRFbGVtZW50KVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIMOWZmZuZXQgZGFzIERyb3Bkb3duIC8gWmVpZ3QgZGFzIE1lbsO8IGFuLlxuICAgICAqL1xuICAgIHB1YmxpYyBvcGVuKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9hcHBseUNvbnRhaW5lcih0aGlzLmNvbnRhaW5lcik7XG4gICAgICAgIHRoaXMuaXNvcGVuID0gdHJ1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUb2dnbGUgdm9uIERyb3Bkb3duXG4gICAgICovXG4gICAgcHVibGljIHRvZ2dsZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNvcGVuKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHVibGljIE1ldGhvZHNcblxuICAgIC8vICNyZWdpb24gUHJvdGVjdGVkIE1ldGhvZHNcblxuICAgIC8qKlxuICAgICAqIFNldHp0IGRpZSBQb3NpdGlvbiBkZXMgTWVuw7xzIGltIE1hcmt1cFxuICAgICAqL1xuICAgIHByb3RlY3RlZCBfcG9zaXRpb25NZW51KCkge1xuICAgICAgICBjb25zdCBhbmNob3I6IFNhY0NvbnRleHRtZW51QW5jaG9yQ29tbW9uID0gdGhpcy5fYW5jaG9yIHx8IHRoaXMuX2FuY2hvclRlbXBsYXRlO1xuXG4gICAgICAgIGlmIChhbmNob3IgJiYgdGhpcy5fbWVudSkge1xuICAgICAgICAgICAgcG9zaXRpb25FbGVtZW50cyhcbiAgICAgICAgICAgICAgICBhbmNob3IubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICB0aGlzLmJvZHlDb250YWluZXIgfHwgdGhpcy5fbWVudS5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAgIHRoaXMucGxhY2VtZW50LFxuICAgICAgICAgICAgICAgIHRoaXMuY29udGFpbmVyID09PSAnYm9keSdcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFByb3RlY3RlZCBNZXRob2RzXG5cbiAgICAvLyAjcmVnaW9uIFByaXZhdGUgTWV0aG9kc1xuXG4gICAgLyoqXG4gICAgICogU2V0enQgZGllIFBvc2l0aW9uIGRlcyBNZW7DvHMgaW5uZXJoYWxiIGRlciBTZWl0ZS4gRGllIEF1c3JpY2h0dW5nIHBhc3NpZXJ0IGlubmVyaGFsYiBkZXIgU2VpdGVcbiAgICAgKiBkYW1pdCBkYXMgTWVuw7wgaW5uZXJoYWxiIGVpbmVzIERpYWxvZ3Mgc2F1YmVyIGZ1bmt0aW9uaW9uaWVydC5cbiAgICAgKiBAcGFyYW0gY29udGFpbmVyIERlZmluaWVydCB3byBkYXMgTWVuw7wgYXVzZ2VyaWNodGV0IHdpcmQuIEltIE1vbWVudCBudXIgQk9EWSBTdXBwb3J0ZWRcbiAgICAgKi9cbiAgICBwcml2YXRlIF9hcHBseUNvbnRhaW5lcihjb250YWluZXI6IG51bGwgfCAnYm9keScgPSBudWxsKSB7XG4gICAgICAgIC8vIFJlc2V0IENsYXNzZXMgb24gQ29udGFpbmVyXG4gICAgICAgIHRoaXMuX3Jlc2V0Q29udGFpbmVyKCk7XG5cbiAgICAgICAgaWYgKGNvbnRhaW5lciA9PT0gJ2JvZHknKSB7XG4gICAgICAgICAgICBjb25zdCByZW5kZXJlciA9IHRoaXMucmVuZGVyZXI7XG4gICAgICAgICAgICBjb25zdCBkcm9wZG93bk1lbnVFbGVtZW50ID0gdGhpcy5fbWVudS5uYXRpdmVFbGVtZW50O1xuICAgICAgICAgICAgY29uc3QgYm9keUNvbnRhaW5lciA9ICh0aGlzLmJvZHlDb250YWluZXIgPSB0aGlzLmJvZHlDb250YWluZXIgfHwgcmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2JykpO1xuXG4gICAgICAgICAgICAvLyBPdmVycmlkZSBzb21lIHN0eWxlcyB0byBoYXZlIHRoZSBwb3NpdGlvbmluZyB3b3JraW5nXG4gICAgICAgICAgICByZW5kZXJlci5zZXRTdHlsZShib2R5Q29udGFpbmVyLCAncG9zaXRpb24nLCAnYWJzb2x1dGUnKTtcbiAgICAgICAgICAgIHJlbmRlcmVyLnNldFN0eWxlKGRyb3Bkb3duTWVudUVsZW1lbnQsICdwb3NpdGlvbicsICdzdGF0aWMnKTtcbiAgICAgICAgICAgIHJlbmRlcmVyLnNldFN0eWxlKGJvZHlDb250YWluZXIsICd6LWluZGV4JywgJzEwNTAnKTtcblxuICAgICAgICAgICAgcmVuZGVyZXIuYXBwZW5kQ2hpbGQoYm9keUNvbnRhaW5lciwgZHJvcGRvd25NZW51RWxlbWVudCk7XG4gICAgICAgICAgICByZW5kZXJlci5hcHBlbmRDaGlsZCh0aGlzLmRvY3VtZW50LmJvZHksIGJvZHlDb250YWluZXIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0enQgZGllIENTUyBLbGFzc2VuIGF1ZiBkZW0gTWVuw7wgQ29udGFpbmVyIGF1ZiBkZW4gU3RhbmRhcmQgenVyw7xja1xuICAgICAqL1xuICAgIHByaXZhdGUgX3Jlc2V0Q29udGFpbmVyKCkge1xuICAgICAgICBjb25zdCByZW5kZXJlciA9IHRoaXMucmVuZGVyZXI7XG4gICAgICAgIGlmICh0aGlzLl9tZW51KSB7XG4gICAgICAgICAgICBjb25zdCBkcm9wZG93bkVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgICAgIGNvbnN0IGRyb3Bkb3duTWVudUVsZW1lbnQgPSB0aGlzLl9tZW51Lm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgICAgIHJlbmRlcmVyLmFwcGVuZENoaWxkKGRyb3Bkb3duRWxlbWVudCwgZHJvcGRvd25NZW51RWxlbWVudCk7XG4gICAgICAgICAgICByZW5kZXJlci5yZW1vdmVTdHlsZShkcm9wZG93bk1lbnVFbGVtZW50LCAncG9zaXRpb24nKTtcbiAgICAgICAgICAgIHJlbmRlcmVyLnJlbW92ZVN0eWxlKGRyb3Bkb3duTWVudUVsZW1lbnQsICd0cmFuc2Zvcm0nKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5ib2R5Q29udGFpbmVyKSB7XG4gICAgICAgICAgICByZW5kZXJlci5yZW1vdmVDaGlsZCh0aGlzLmRvY3VtZW50LmJvZHksIHRoaXMuYm9keUNvbnRhaW5lcik7XG4gICAgICAgICAgICB0aGlzLmJvZHlDb250YWluZXIgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBQcml2YXRlIE1ldGhvZHNcbn1cbiJdfQ==
64
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTQUNJQ09OX1NFUlZJQ0UiLCJTYWNEZWZhdWx0SWNvblNlcnZpY2UiLCJwb3NpdGlvbkVsZW1lbnRzIiwiU2FjQ29udGV4dG1lbnVBbmNob3JDb21tb24iLCJTYWNDb250ZXh0TWVudUNvbnRyYWluZXJDb21tb24iLCJTYWNDb250ZXh0bWVudUl0ZW1Db21tb24iLCJET0NVTUVOVCIsIkNvbnRlbnRDaGlsZCIsIkNvbnRlbnRDaGlsZHJlbiIsIkRpcmVjdGl2ZSIsIkhvc3RMaXN0ZW5lciIsIkluamVjdCIsIklucHV0IiwiVmlld0NoaWxkIiwiU2FjQ29udGV4dG1lbnVDb21tb24iLCJjb25zdHJ1Y3RvciIsImRvY3VtZW50Iiwibmdab25lIiwiZWxlbWVudFJlZiIsInJlbmRlcmVyIiwiaW5qZWN0b3IiLCJjb3ZfMTg1b2R2dHV1dCIsImYiLCJzIiwiYm9keUNvbnRhaW5lciIsImNvbnRhaW5lciIsImNzc2NsYXNzIiwiaXNvcGVuIiwicGxhY2VtZW50Iiwiem9uZVN1YnNjcmlwdGlvbiIsIm9uU3RhYmxlIiwic3Vic2NyaWJlIiwiX3Bvc2l0aW9uTWVudSIsImljb25TZXJ2aWNlIiwiZ2V0IiwiSWNvbkNvbnRleHRNZW51IiwiQ29udGV4dE1lbnVPcGVuSWNvbiIsImNsb3NlIiwiX3Jlc2V0Q29udGFpbmVyIiwibmdBZnRlckNvbnRlbnRJbml0IiwibWVudWl0ZW1zIiwiZm9yRWFjaCIsImJ1dHRvbiIsImNvbnRleHRtZW51IiwibmdPbkRlc3Ryb3kiLCJiIiwidW5zdWJzY3JpYmUiLCJvbkNsaWNrIiwidGFyZ2V0RWxlbWVudCIsImFuY2hvciIsIl9hbmNob3IiLCJfYW5jaG9yVGVtcGxhdGUiLCJfbWVudSIsIm5hdGl2ZUVsZW1lbnQiLCJjb250YWlucyIsIm9wZW4iLCJfYXBwbHlDb250YWluZXIiLCJ0b2dnbGUiLCJkcm9wZG93bk1lbnVFbGVtZW50IiwiY3JlYXRlRWxlbWVudCIsInNldFN0eWxlIiwiYXBwZW5kQ2hpbGQiLCJib2R5IiwiZHJvcGRvd25FbGVtZW50IiwicmVtb3ZlU3R5bGUiLCJyZW1vdmVDaGlsZCIsImRlcHMiLCJ0b2tlbiIsImkwIiwiTmdab25lIiwiRWxlbWVudFJlZiIsIlJlbmRlcmVyMiIsIkluamVjdG9yIiwidGFyZ2V0IiwiybXJtUZhY3RvcnlUYXJnZXQiLCJpbnB1dHMiLCJidXR0b250ZW1wbGF0ZSIsImhvc3QiLCJsaXN0ZW5lcnMiLCJxdWVyaWVzIiwicHJvcGVydHlOYW1lIiwiZmlyc3QiLCJwcmVkaWNhdGUiLCJkZXNjZW5kYW50cyIsInZpZXdRdWVyaWVzIiwibmdJbXBvcnQiLCJkZWNvcmF0b3JzIiwic3RhdGljIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvY29udHJvbHMvY29udGV4dG1lbnUvY29udGV4dG1lbnUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVNhY0ljb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JU2FjSWNvblNlcnZpY2UnO1xuaW1wb3J0IHsgU0FDSUNPTl9TRVJWSUNFLCBTYWNEZWZhdWx0SWNvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBQbGFjZW1lbnRBcnJheSwgcG9zaXRpb25FbGVtZW50cyB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9wb3NpdGlvbmluZyc7XG5pbXBvcnQgeyBJU2FjQ29udGV4dG1lbnVDb21tb24gfSBmcm9tICcuL2NvbnRleHRtZW51LmludGVyZmFjZSc7XG5pbXBvcnQgeyBTYWNDb250ZXh0bWVudUFuY2hvckNvbW1vbiB9IGZyb20gJy4vY29udGV4dG1lbnVhbmNob3InO1xuaW1wb3J0IHsgU2FjQ29udGV4dE1lbnVDb250cmFpbmVyQ29tbW9uIH0gZnJvbSAnLi9jb250ZXh0bWVudWNvbnRhaW5lcic7XG5pbXBvcnQgeyBTYWNDb250ZXh0bWVudUl0ZW1Db21tb24gfSBmcm9tICcuL2NvbnRleHRtZW51aXRlbSc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0LFxuICAgIEluamVjdG9yLFxuICAgIElucHV0LFxuICAgIE5nWm9uZSxcbiAgICBPbkRlc3Ryb3ksXG4gICAgUXVlcnlMaXN0LFxuICAgIFJlbmRlcmVyMixcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogQmFzZSBDb250ZXh0IE1lbsO8IEVsZW1lbnQuIERpZSBMb2dpayB3dXJkZSBhdXMgTkctQk9PVFNUUkFQIMO8YmVybm9tbWVuLlxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBTYWNDb250ZXh0bWVudUNvbW1vbiBpbXBsZW1lbnRzIElTYWNDb250ZXh0bWVudUNvbW1vbiwgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcbiAgICAvLyAjcmVnaW9uIFByb3BlcnRpZXNcblxuICAgIC8qKlxuICAgICAqIEJ1dHRvbiBmw7xyIE9wZW4vQ2xvc2UgRXZlbnRcbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKFNhY0NvbnRleHRtZW51QW5jaG9yQ29tbW9uLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9hbmNob3I6IFNhY0NvbnRleHRtZW51QW5jaG9yQ29tbW9uO1xuXG4gICAgLyoqXG4gICAgICogQnV0dG9uIGbDvHIgT3Blbi9DbG9zZSBFdmVudCBhdXMgVGVtcGxhdGVcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKFNhY0NvbnRleHRtZW51QW5jaG9yQ29tbW9uLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9hbmNob3JUZW1wbGF0ZTogU2FjQ29udGV4dG1lbnVBbmNob3JDb21tb247XG5cbiAgICAvKipcbiAgICAgKiBDb250YWluZXIgRWxlbWVudCBmw7xyIERyb3Bkb3duXG4gICAgICovXG4gICAgQFZpZXdDaGlsZChTYWNDb250ZXh0TWVudUNvbnRyYWluZXJDb21tb24sIHsgc3RhdGljOiBmYWxzZSB9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgX21lbnU6IFNhY0NvbnRleHRNZW51Q29udHJhaW5lckNvbW1vbjtcblxuICAgIC8qKlxuICAgICAqIFpvbmUgU3Vic2NyaXB0aW9uIGbDvHIgUG9zdGl0b25pZXJ1bmcgZGVzIEVsZW1lbnRzXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSB6b25lU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgICAvKipcbiAgICAgKiBCb2R5IEhUTUwgRWxlbWVudFxuICAgICAqL1xuICAgIHByaXZhdGUgYm9keUNvbnRhaW5lcjogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIGljb24gc2VydmljZVxuICAgICAqL1xuICAgIHByb3RlY3RlZCBpY29uU2VydmljZTogSVNhY0ljb25TZXJ2aWNlO1xuXG4gICAgLyoqXG4gICAgICogQ3VzdG9tIEhUTUwgVGVtcGxhdGUgZsO8ciBEcm9wZG93biBCdXR0b24uIEJ1dHRvbiBtdXNzIGRlbiBNYXJrZXIgXCJuZ0NvbnRleHRtZW51QW5jaG9yXCIgYmVpbmhhbHRlbiwgZGFtaXQgZGFzIENvbnRyb2wga29ycmVrdCBmdW5rdGlvbmllcnQuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgYnV0dG9udGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKipcbiAgICAgKiBDb250YWluZXIgYW4gd2VsY2hlbSBkaWUgUG9zaXRpb24gYXVzZ2VyaWNodGV0IHdpcmQuIEFrdHVlbGwgd2lyZCBudW4gQm9keSBTdXBwb3J0ZWRcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBjb250YWluZXI6IG51bGwgfCAnYm9keScgPSAnYm9keSc7XG5cbiAgICAvKipcbiAgICAgKiBFeHRyYSBDU1MgS2xhc3NlbiBmw7xyIGRhcyBDb250cm9sXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY3NzY2xhc3M6IHN0cmluZyA9ICcnO1xuXG4gICAgLyoqXG4gICAgICogRGVmaW5pZXJ0IG9iIGRhcyBEcm9wZG93biBvZmZlbiBpc3QuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaXNvcGVuOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBBbGwgZGlyZWN0bHkgYXNzaWduZWQgY29udGV4dCBtZW51IGVsZW1lbnRzIHRoYXQgYXJlIGRlZmluZWQgaW4gdGhlIGRpcmVjdCB0ZW1wbGF0ZSBmb3IgdGhlIGNvbnRleHQgbWVudS5cbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkcmVuKFNhY0NvbnRleHRtZW51SXRlbUNvbW1vbilcbiAgICBwdWJsaWMgbWVudWl0ZW1zITogUXVlcnlMaXN0PFNhY0NvbnRleHRtZW51SXRlbUNvbW1vbj47XG5cbiAgICAvKipcbiAgICAgKiBUaGUgcHJlZmVycmVkIHBsYWNlbWVudCBvZiB0aGUgZHJvcGRvd24uXG4gICAgICpcbiAgICAgKiBQb3NzaWJsZSB2YWx1ZXMgYXJlIGBcInRvcFwiYCwgYFwidG9wLWxlZnRcImAsIGBcInRvcC1yaWdodFwiYCwgYFwiYm90dG9tXCJgLCBgXCJib3R0b20tbGVmdFwiYCxcbiAgICAgKiBgXCJib3R0b20tcmlnaHRcImAsIGBcImxlZnRcImAsIGBcImxlZnQtdG9wXCJgLCBgXCJsZWZ0LWJvdHRvbVwiYCwgYFwicmlnaHRcImAsIGBcInJpZ2h0LXRvcFwiYCxcbiAgICAgKiBgXCJyaWdodC1ib3R0b21cImBcbiAgICAgKlxuICAgICAqIEFjY2VwdHMgYW4gYXJyYXkgb2Ygc3RyaW5ncyBvciBhIHN0cmluZyB3aXRoIHNwYWNlIHNlcGFyYXRlZCBwb3NzaWJsZSB2YWx1ZXMuXG4gICAgICpcbiAgICAgKiBUaGUgZGVmYXVsdCBvcmRlciBvZiBwcmVmZXJlbmNlIGlzIGBcImJvdHRvbS1sZWZ0IGJvdHRvbS1yaWdodCB0b3AtbGVmdCB0b3AtcmlnaHRcImBcbiAgICAgKlxuICAgICAqIFBsZWFzZSBzZWUgdGhlIFtwb3NpdGlvbmluZyBvdmVydmlld10oIy9wb3NpdGlvbmluZykgZm9yIG1vcmUgZGV0YWlscy5cbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgcGxhY2VtZW50OiBQbGFjZW1lbnRBcnJheSA9IFsnYm90dG9tLWxlZnQnLCAnYm90dG9tLXJpZ2h0JywgJ3RvcC1sZWZ0JywgJ3RvcC1yaWdodCddO1xuXG4gICAgLy8gI2VuZHJlZ2lvbiBQcm9wZXJ0aWVzXG5cbiAgICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gICAgLyoqXG4gICAgICogS29uc3RydWt0b3JcbiAgICAgKiBAcGFyYW0gZG9jdW1lbnQgSFRNTCBEb2N1bWVudCBFbGVtZW50XG4gICAgICogQHBhcmFtIG5nWm9uZSBBbmd1bGFyIFpvbmUgU2VydmljZVxuICAgICAqIEBwYXJhbSBlbGVtZW50UmVmIEhUTUwgRWxlbWVudCBkZXMgYWt0dWVsbGVuIENvbnRyb2xzXG4gICAgICogQHBhcmFtIHJlbmRlcmVyIEFuZ3VsYXIgUmVuZGVyaW5nIFNlcnZpY2VcbiAgICAgKiBAcGFyYW0gaW5qZWN0b3IgaW5qZWN0b3IgdG8gcmVzb2x2ZSB0aGUgaWNvbiBzZXJ2aWNlXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnQ6IGFueSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3JcbiAgICApIHtcbiAgICAgICAgdGhpcy56b25lU3Vic2NyaXB0aW9uID0gdGhpcy5uZ1pvbmUub25TdGFibGUuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3Bvc2l0aW9uTWVudSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmljb25TZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KFNBQ0lDT05fU0VSVklDRSwgbmV3IFNhY0RlZmF1bHRJY29uU2VydmljZSgpKTtcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gICAgLy8gI3JlZ2lvbiBQdWJsaWMgR2V0dGVycyBBbmQgU2V0dGVyc1xuXG4gICAgLyoqXG4gICAgICogaWNvbiBmb3IgZGVmYXVsdCBjb250ZXh0IG1lbsO8IGJ1dHRvblxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgSWNvbkNvbnRleHRNZW51KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmljb25TZXJ2aWNlLkNvbnRleHRNZW51T3Blbkljb247XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgR2V0dGVycyBBbmQgU2V0dGVyc1xuXG4gICAgLy8gI3JlZ2lvbiBQdWJsaWMgTWV0aG9kc1xuXG4gICAgLyoqXG4gICAgICogU2NobGllc3N0IGRhcyBEcm9wZG93blxuICAgICAqL1xuICAgIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcmVzZXRDb250YWluZXIoKTtcbiAgICAgICAgdGhpcy5pc29wZW4gPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1lbnVpdGVtcy5mb3JFYWNoKChidXR0b24pID0+IChidXR0b24uY29udGV4dG1lbnUgPSB0aGlzKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRXZlbnQgd2VubiBDb21wb25lbnQgZW50ZmVybnQgd2lyZC5cbiAgICAgKi9cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzb3Blbikge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy56b25lU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSG9zdExpc3RlbmVyIHVtIGRhcyBEcm9wZG93biB6dSBzY2hsaWVzc2VuIHdlbm4gbmljaHQgYXVmIGRhcyBFbGVtZW50IGdla2xpY2t0IHdpcmQuXG4gICAgICovXG4gICAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudC50YXJnZXQnXSlcbiAgICAvKipcbiAgICAgKiBDbGljayBFdmVudFxuICAgICAqL1xuICAgIHB1YmxpYyBvbkNsaWNrKHRhcmdldEVsZW1lbnQpIHtcbiAgICAgICAgY29uc3QgYW5jaG9yOiBTYWNDb250ZXh0bWVudUFuY2hvckNvbW1vbiA9IHRoaXMuX2FuY2hvciB8fCB0aGlzLl9hbmNob3JUZW1wbGF0ZTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLl9tZW51ICYmXG4gICAgICAgICAgICAhdGhpcy5fbWVudS5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKHRhcmdldEVsZW1lbnQpICYmXG4gICAgICAgICAgICAhYW5jaG9yLm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0RWxlbWVudClcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDDlmZmbmV0IGRhcyBEcm9wZG93biAvIFplaWd0IGRhcyBNZW7DvCBhbi5cbiAgICAgKi9cbiAgICBwdWJsaWMgb3BlbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fYXBwbHlDb250YWluZXIodGhpcy5jb250YWluZXIpO1xuICAgICAgICB0aGlzLmlzb3BlbiA9IHRydWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVG9nZ2xlIHZvbiBEcm9wZG93blxuICAgICAqL1xuICAgIHB1YmxpYyB0b2dnbGUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzb3Blbikge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5vcGVuKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBNZXRob2RzXG5cbiAgICAvLyAjcmVnaW9uIFByb3RlY3RlZCBNZXRob2RzXG5cbiAgICAvKipcbiAgICAgKiBTZXR6dCBkaWUgUG9zaXRpb24gZGVzIE1lbsO8cyBpbSBNYXJrdXBcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgX3Bvc2l0aW9uTWVudSgpIHtcbiAgICAgICAgY29uc3QgYW5jaG9yOiBTYWNDb250ZXh0bWVudUFuY2hvckNvbW1vbiA9IHRoaXMuX2FuY2hvciB8fCB0aGlzLl9hbmNob3JUZW1wbGF0ZTtcblxuICAgICAgICBpZiAoYW5jaG9yICYmIHRoaXMuX21lbnUpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uRWxlbWVudHMoXG4gICAgICAgICAgICAgICAgYW5jaG9yLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgdGhpcy5ib2R5Q29udGFpbmVyIHx8IHRoaXMuX21lbnUubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICB0aGlzLnBsYWNlbWVudCxcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRhaW5lciA9PT0gJ2JvZHknXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBQcm90ZWN0ZWQgTWV0aG9kc1xuXG4gICAgLy8gI3JlZ2lvbiBQcml2YXRlIE1ldGhvZHNcblxuICAgIC8qKlxuICAgICAqIFNldHp0IGRpZSBQb3NpdGlvbiBkZXMgTWVuw7xzIGlubmVyaGFsYiBkZXIgU2VpdGUuIERpZSBBdXNyaWNodHVuZyBwYXNzaWVydCBpbm5lcmhhbGIgZGVyIFNlaXRlXG4gICAgICogZGFtaXQgZGFzIE1lbsO8IGlubmVyaGFsYiBlaW5lcyBEaWFsb2dzIHNhdWJlciBmdW5rdGlvbmlvbmllcnQuXG4gICAgICogQHBhcmFtIGNvbnRhaW5lciBEZWZpbmllcnQgd28gZGFzIE1lbsO8IGF1c2dlcmljaHRldCB3aXJkLiBJbSBNb21lbnQgbnVyIEJPRFkgU3VwcG9ydGVkXG4gICAgICovXG4gICAgcHJpdmF0ZSBfYXBwbHlDb250YWluZXIoY29udGFpbmVyOiBudWxsIHwgJ2JvZHknID0gbnVsbCkge1xuICAgICAgICAvLyBSZXNldCBDbGFzc2VzIG9uIENvbnRhaW5lclxuICAgICAgICB0aGlzLl9yZXNldENvbnRhaW5lcigpO1xuXG4gICAgICAgIGlmIChjb250YWluZXIgPT09ICdib2R5Jykge1xuICAgICAgICAgICAgY29uc3QgcmVuZGVyZXIgPSB0aGlzLnJlbmRlcmVyO1xuICAgICAgICAgICAgY29uc3QgZHJvcGRvd25NZW51RWxlbWVudCA9IHRoaXMuX21lbnUubmF0aXZlRWxlbWVudDtcbiAgICAgICAgICAgIGNvbnN0IGJvZHlDb250YWluZXIgPSAodGhpcy5ib2R5Q29udGFpbmVyID0gdGhpcy5ib2R5Q29udGFpbmVyIHx8IHJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpKTtcblxuICAgICAgICAgICAgLy8gT3ZlcnJpZGUgc29tZSBzdHlsZXMgdG8gaGF2ZSB0aGUgcG9zaXRpb25pbmcgd29ya2luZ1xuICAgICAgICAgICAgcmVuZGVyZXIuc2V0U3R5bGUoYm9keUNvbnRhaW5lciwgJ3Bvc2l0aW9uJywgJ2Fic29sdXRlJyk7XG4gICAgICAgICAgICByZW5kZXJlci5zZXRTdHlsZShkcm9wZG93bk1lbnVFbGVtZW50LCAncG9zaXRpb24nLCAnc3RhdGljJyk7XG4gICAgICAgICAgICByZW5kZXJlci5zZXRTdHlsZShib2R5Q29udGFpbmVyLCAnei1pbmRleCcsICcxMDUwJyk7XG5cbiAgICAgICAgICAgIHJlbmRlcmVyLmFwcGVuZENoaWxkKGJvZHlDb250YWluZXIsIGRyb3Bkb3duTWVudUVsZW1lbnQpO1xuICAgICAgICAgICAgcmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5kb2N1bWVudC5ib2R5LCBib2R5Q29udGFpbmVyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHp0IGRpZSBDU1MgS2xhc3NlbiBhdWYgZGVtIE1lbsO8IENvbnRhaW5lciBhdWYgZGVuIFN0YW5kYXJkIHp1csO8Y2tcbiAgICAgKi9cbiAgICBwcml2YXRlIF9yZXNldENvbnRhaW5lcigpIHtcbiAgICAgICAgY29uc3QgcmVuZGVyZXIgPSB0aGlzLnJlbmRlcmVyO1xuICAgICAgICBpZiAodGhpcy5fbWVudSkge1xuICAgICAgICAgICAgY29uc3QgZHJvcGRvd25FbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgICAgICBjb25zdCBkcm9wZG93bk1lbnVFbGVtZW50ID0gdGhpcy5fbWVudS5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgICAgICByZW5kZXJlci5hcHBlbmRDaGlsZChkcm9wZG93bkVsZW1lbnQsIGRyb3Bkb3duTWVudUVsZW1lbnQpO1xuICAgICAgICAgICAgcmVuZGVyZXIucmVtb3ZlU3R5bGUoZHJvcGRvd25NZW51RWxlbWVudCwgJ3Bvc2l0aW9uJyk7XG4gICAgICAgICAgICByZW5kZXJlci5yZW1vdmVTdHlsZShkcm9wZG93bk1lbnVFbGVtZW50LCAndHJhbnNmb3JtJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuYm9keUNvbnRhaW5lcikge1xuICAgICAgICAgICAgcmVuZGVyZXIucmVtb3ZlQ2hpbGQodGhpcy5kb2N1bWVudC5ib2R5LCB0aGlzLmJvZHlDb250YWluZXIpO1xuICAgICAgICAgICAgdGhpcy5ib2R5Q29udGFpbmVyID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHJpdmF0ZSBNZXRob2RzXG59XG4iXSwibWFwcGluZ3MiOiI7MkZBQ0EsT0FBU0EsZUFBZSxDQUFFQyxxQkFBcUIsS0FBUSxnQkFBZ0IsQ0FDdkUsT0FBeUJDLGdCQUFnQixLQUFRLDZCQUE2QixDQUU5RSxPQUFTQywwQkFBMEIsS0FBUSxxQkFBcUIsQ0FDaEUsT0FBU0MsOEJBQThCLEtBQVEsd0JBQXdCLENBQ3ZFLE9BQVNDLHdCQUF3QixLQUFRLG1CQUFtQixDQUM1RCxPQUFTQyxRQUFRLEtBQVEsaUJBQWlCLENBQzFDLE9BRUlDLFlBQVksQ0FDWkMsZUFBZSxDQUNmQyxTQUFTLENBRVRDLFlBQVksQ0FDWkMsTUFBTSxDQUVOQyxLQUFLLENBTUxDLFNBQVMsS0FDTixlQUFlLEMsaUNBR3RCOztHQUdBLEtBQ2EsQ0FBQUMsb0JBQW9CLENBaUY3QjtBQUVBO0FBRUE7Ozs7Ozs7T0FRQUMsWUFDdUNDLFFBQWEsQ0FDL0JDLE1BQWMsQ0FDZEMsVUFBbUMsQ0FDbkNDLFFBQW1CLENBQ3BDQyxRQUFrQixFQUFBQyxjQUFBLEdBQUFDLENBQUEsTUFBQUQsY0FBQSxHQUFBRSxDQUFBLE1BSmlCLEtBQUFQLFFBQVEsQ0FBUkEsUUFBUSxDQUFLSyxjQUFBLEdBQUFFLENBQUEsTUFDL0IsS0FBQU4sTUFBTSxDQUFOQSxNQUFNLENBQVFJLGNBQUEsR0FBQUUsQ0FBQSxNQUNkLEtBQUFMLFVBQVUsQ0FBVkEsVUFBVSxDQUF5QkcsY0FBQSxHQUFBRSxDQUFBLE1BQ25DLEtBQUFKLFFBQVEsQ0FBUkEsUUFBUSxDQXZFN0I7O1dBQUFFLGNBQUEsR0FBQUUsQ0FBQSxNQUdRLEtBQUFDLGFBQWEsQ0FBdUIsSUFBSSxDQWFoRDs7V0FBQUgsY0FBQSxHQUFBRSxDQUFBLE1BSU8sS0FBQUUsU0FBUyxDQUFrQixNQUFNLENBRXhDOztXQUFBSixjQUFBLEdBQUFFLENBQUEsTUFJTyxLQUFBRyxRQUFRLENBQVcsRUFBRSxD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
67
+ */_resetContainer(){cov_185odvtuut().f[12]++;const renderer=(cov_185odvtuut().s[43]++,this.renderer);cov_185odvtuut().s[44]++;if(this._menu){cov_185odvtuut().b[12][0]++;const dropdownElement=(cov_185odvtuut().s[45]++,this.elementRef.nativeElement);const dropdownMenuElement=(cov_185odvtuut().s[46]++,this._menu.nativeElement);cov_185odvtuut().s[47]++;renderer.appendChild(dropdownElement,dropdownMenuElement);cov_185odvtuut().s[48]++;renderer.removeStyle(dropdownMenuElement,'position');cov_185odvtuut().s[49]++;renderer.removeStyle(dropdownMenuElement,'transform');}else{cov_185odvtuut().b[12][1]++;}cov_185odvtuut().s[50]++;if(this.bodyContainer){cov_185odvtuut().b[13][0]++;cov_185odvtuut().s[51]++;renderer.removeChild(this.document.body,this.bodyContainer);cov_185odvtuut().s[52]++;this.bodyContainer=null;}else{cov_185odvtuut().b[13][1]++;}}static{cov_185odvtuut().s[53]++;this.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"16.2.12",ngImport:i0,type:SacContextmenuCommon,deps:[{token:DOCUMENT},{token:i0.NgZone},{token:i0.ElementRef},{token:i0.Renderer2},{token:i0.Injector}],target:i0.ɵɵFactoryTarget.Directive});}static{cov_185odvtuut().s[54]++;this.ɵdir=i0.ɵɵngDeclareDirective({minVersion:"14.0.0",version:"16.2.12",type:SacContextmenuCommon,inputs:{buttontemplate:"buttontemplate",container:"container",cssclass:"cssclass",e2eidentifier:"e2eidentifier",isopen:"isopen",name:"name",placement:"placement"},host:{listeners:{"document:click":"onClick($event.target)"}},queries:[{propertyName:"_anchorTemplate",first:true,predicate:SacContextmenuAnchorCommon,descendants:true},{propertyName:"menuitems",predicate:SacContextmenuItemCommon}],viewQueries:[{propertyName:"_anchor",first:true,predicate:SacContextmenuAnchorCommon,descendants:true},{propertyName:"_menu",first:true,predicate:SacContextMenuContrainerCommon,descendants:true}],ngImport:i0});}}export{SacContextmenuCommon};cov_185odvtuut().s[55]++;i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"16.2.12",ngImport:i0,type:SacContextmenuCommon,decorators:[{type:Directive}],ctorParameters:function(){cov_185odvtuut().f[13]++;cov_185odvtuut().s[56]++;return[{type:undefined,decorators:[{type:Inject,args:[DOCUMENT]}]},{type:i0.NgZone},{type:i0.ElementRef},{type:i0.Renderer2},{type:i0.Injector}];},propDecorators:{_anchor:[{type:ViewChild,args:[SacContextmenuAnchorCommon,{static:false}]}],_anchorTemplate:[{type:ContentChild,args:[SacContextmenuAnchorCommon,{static:false}]}],_menu:[{type:ViewChild,args:[SacContextMenuContrainerCommon,{static:false}]}],buttontemplate:[{type:Input}],container:[{type:Input}],cssclass:[{type:Input}],e2eidentifier:[{type:Input}],isopen:[{type:Input}],menuitems:[{type:ContentChildren,args:[SacContextmenuItemCommon]}],name:[{type:Input}],placement:[{type:Input}],onClick:[{type:HostListener,args:['document:click',['$event.target']]}]}});//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dG1lbnUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy9jb250cm9scy9jb250ZXh0bWVudS9jb250ZXh0bWVudS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZUFBZSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBa0IsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUvRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUVILFlBQVksRUFDWixlQUFlLEVBQ2YsU0FBUyxFQUVULFlBQVksRUFDWixNQUFNLEVBRU4sS0FBSyxFQU1MLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQzs7QUFHdkI7O0dBRUc7QUFDSCxNQUNhLG9CQUFvQjtJQTZGN0Isd0JBQXdCO0lBRXhCLHVCQUF1QjtJQUV2Qjs7Ozs7OztPQU9HO0lBQ0gsWUFDdUMsUUFBYSxFQUMvQixNQUFjLEVBQ2QsVUFBbUMsRUFDbkMsUUFBbUIsRUFDcEMsUUFBa0I7UUFKaUIsYUFBUSxHQUFSLFFBQVEsQ0FBSztRQUMvQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDbkMsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQW5GeEM7O1dBRUc7UUFDSyxrQkFBYSxHQUF1QixJQUFJLENBQUM7UUFhakQ7O1dBRUc7UUFFSSxjQUFTLEdBQWtCLE1BQU0sQ0FBQztRQUV6Qzs7V0FFRztRQUVJLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFFN0I7O1dBRUc7UUFFSSxrQkFBYSxHQUFrQixJQUFJLENBQUM7UUFFM0M7O1dBRUc7UUFFSSxXQUFNLEdBQVksS0FBSyxDQUFDO1FBUS9COztXQUVHO1FBRUksU0FBSSxHQUFXLFVBQVUsRUFBRSxDQUFDO1FBRW5DOzs7Ozs7Ozs7Ozs7V0FZRztRQUNhLGNBQVMsR0FBbUIsQ0FBQyxhQUFhLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxXQUFXLENBQUMsQ0FBQztRQXFCakcsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDeEQsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFdBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxJQUFJLHFCQUFxQixFQUFFLENBQUMsQ0FBQztJQUNsRixDQUFDO0lBRUQsMEJBQTBCO0lBRTFCLHFDQUFxQztJQUVyQzs7T0FFRztJQUNILElBQVcsZUFBZTtRQUN0QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsbUJBQW1CLENBQUM7SUFDaEQsQ0FBQztJQUVELHdDQUF3QztJQUV4Qyx5QkFBeUI7SUFFekI7O09BRUc7SUFDSSxLQUFLO1FBQ1IsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFFTSxrQkFBa0I7UUFDckIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRDs7T0FFRztJQUNJLFdBQVc7UUFDZCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDYixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDaEI7UUFFRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVEOztPQUVHO0lBS0ksT0FBTyxDQUFDLGFBQWE7UUFDeEIsTUFBTSxNQUFNLEdBQStCLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUVoRixJQUNJLElBQUksQ0FBQyxLQUFLO1lBQ1YsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDO1lBQ2pELENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEVBQy9DO1lBQ0UsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ2hCO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0ksSUFBSTtRQUNQLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU07UUFDVCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDYixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDaEI7YUFBTTtZQUNILElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNmO0lBQ0wsQ0FBQztJQUVELDRCQUE0QjtJQUU1Qiw0QkFBNEI7SUFFNUI7O09BRUc7SUFDTyxhQUFhO1FBQ25CLE1BQU0sTUFBTSxHQUErQixJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUM7UUFFaEYsSUFBSSxNQUFNLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUN0QixnQkFBZ0IsQ0FDWixNQUFNLENBQUMsYUFBYSxFQUNwQixJQUFJLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUM5QyxJQUFJLENBQUMsU0FBUyxFQUNkLElBQUksQ0FBQyxTQUFTLEtBQUssTUFBTSxDQUM1QixDQUFDO1NBQ0w7SUFDTCxDQUFDO0lBRUQsK0JBQStCO0lBRS9CLDBCQUEwQjtJQUUxQjs7OztPQUlHO0lBQ0ssZUFBZSxDQUFDLFlBQTJCLElBQUk7UUFDbkQsNkJBQTZCO1FBQzdCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV2QixJQUFJLFNBQVMsS0FBSyxNQUFNLEVBQUU7WUFDdEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUMvQixNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDO1lBQ3JELE1BQU0sYUFBYSxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxJQUFJLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUVqRyx1REFBdUQ7WUFDdkQsUUFBUSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ3pELFFBQVEsQ0FBQyxRQUFRLENBQUMsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQzdELFFBQVEsQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUVwRCxRQUFRLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1lBQ3pELFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLENBQUM7U0FDM0Q7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxlQUFlO1FBQ25CLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDL0IsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1osTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7WUFDdEQsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQztZQUVyRCxRQUFRLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1lBQzNELFFBQVEsQ0FBQyxXQUFXLENBQUMsbUJBQW1CLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDdEQsUUFBUSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsRUFBRSxXQUFXLENBQUMsQ0FBQztTQUMxRDtRQUNELElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNwQixRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUM3RCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztTQUM3QjtJQUNMLENBQUM7K0dBcFFRLG9CQUFvQixrQkEwR2pCLFFBQVE7bUdBMUdYLG9CQUFvQixnVUFZZiwwQkFBMEIsK0RBeUR2Qix3QkFBd0Isc0VBL0Q5QiwwQkFBMEIsd0VBWTFCLDhCQUE4Qjs7U0FsQmhDLG9CQUFvQjs0RkFBcEIsb0JBQW9CO2tCQURoQyxTQUFTOzswQkEyR0QsTUFBTTsyQkFBQyxRQUFRO3lJQW5HSCxPQUFPO3NCQUR2QixTQUFTO3VCQUFDLDBCQUEwQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFPdkMsZUFBZTtzQkFEL0IsWUFBWTt1QkFBQywwQkFBMEIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBTzFDLEtBQUs7c0JBRHJCLFNBQVM7dUJBQUMsOEJBQThCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQXNCckQsY0FBYztzQkFEcEIsS0FBSztnQkFPQyxTQUFTO3NCQURmLEtBQUs7Z0JBT0MsUUFBUTtzQkFEZCxLQUFLO2dCQU9DLGFBQWE7c0JBRG5CLEtBQUs7Z0JBT0MsTUFBTTtzQkFEWixLQUFLO2dCQU9DLFNBQVM7c0JBRGYsZUFBZTt1QkFBQyx3QkFBd0I7Z0JBT2xDLElBQUk7c0JBRFYsS0FBSztnQkFnQlUsU0FBUztzQkFBeEIsS0FBSztnQkF5RUMsT0FBTztzQkFKYixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVNhY0ljb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JU2FjSWNvblNlcnZpY2UnO1xuaW1wb3J0IHsgU0FDSUNPTl9TRVJWSUNFLCBTYWNEZWZhdWx0SWNvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBjcmVhdGVHdWlkIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2d1aWQnO1xuaW1wb3J0IHsgUGxhY2VtZW50QXJyYXksIHBvc2l0aW9uRWxlbWVudHMgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvcG9zaXRpb25pbmcnO1xuaW1wb3J0IHsgSVNhY0NvbnRleHRtZW51Q29tbW9uIH0gZnJvbSAnLi9jb250ZXh0bWVudS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU2FjQ29udGV4dG1lbnVBbmNob3JDb21tb24gfSBmcm9tICcuL2NvbnRleHRtZW51YW5jaG9yJztcbmltcG9ydCB7IFNhY0NvbnRleHRNZW51Q29udHJhaW5lckNvbW1vbiB9IGZyb20gJy4vY29udGV4dG1lbnVjb250YWluZXInO1xuaW1wb3J0IHsgU2FjQ29udGV4dG1lbnVJdGVtQ29tbW9uIH0gZnJvbSAnLi9jb250ZXh0bWVudWl0ZW0nO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBJbmplY3RvcixcbiAgICBJbnB1dCxcbiAgICBOZ1pvbmUsXG4gICAgT25EZXN0cm95LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBSZW5kZXJlcjIsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIEJhc2UgQ29udGV4dCBNZW7DvCBFbGVtZW50LiBEaWUgTG9naWsgd3VyZGUgYXVzIE5HLUJPT1RTVFJBUCDDvGJlcm5vbW1lbi5cbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgU2FjQ29udGV4dG1lbnVDb21tb24gaW1wbGVtZW50cyBJU2FjQ29udGV4dG1lbnVDb21tb24sIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSB7XG4gICAgLy8gI3JlZ2lvbiBQcm9wZXJ0aWVzXG5cbiAgICAvKipcbiAgICAgKiBCdXR0b24gZsO8ciBPcGVuL0Nsb3NlIEV2ZW50XG4gICAgICovXG4gICAgQFZpZXdDaGlsZChTYWNDb250ZXh0bWVudUFuY2hvckNvbW1vbiwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gICAgcHJpdmF0ZSByZWFkb25seSBfYW5jaG9yOiBTYWNDb250ZXh0bWVudUFuY2hvckNvbW1vbjtcblxuICAgIC8qKlxuICAgICAqIEJ1dHRvbiBmw7xyIE9wZW4vQ2xvc2UgRXZlbnQgYXVzIFRlbXBsYXRlXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZChTYWNDb250ZXh0bWVudUFuY2hvckNvbW1vbiwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gICAgcHJpdmF0ZSByZWFkb25seSBfYW5jaG9yVGVtcGxhdGU6IFNhY0NvbnRleHRtZW51QW5jaG9yQ29tbW9uO1xuXG4gICAgLyoqXG4gICAgICogQ29udGFpbmVyIEVsZW1lbnQgZsO8ciBEcm9wZG93blxuICAgICAqL1xuICAgIEBWaWV3Q2hpbGQoU2FjQ29udGV4dE1lbnVDb250cmFpbmVyQ29tbW9uLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9tZW51OiBTYWNDb250ZXh0TWVudUNvbnRyYWluZXJDb21tb247XG5cbiAgICAvKipcbiAgICAgKiBab25lIFN1YnNjcmlwdGlvbiBmw7xyIFBvc3RpdG9uaWVydW5nIGRlcyBFbGVtZW50c1xuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgem9uZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gICAgLyoqXG4gICAgICogQm9keSBIVE1MIEVsZW1lbnRcbiAgICAgKi9cbiAgICBwcml2YXRlIGJvZHlDb250YWluZXI6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBpY29uIHNlcnZpY2VcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgaWNvblNlcnZpY2U6IElTYWNJY29uU2VydmljZTtcblxuICAgIC8qKlxuICAgICAqIEN1c3RvbSBIVE1MIFRlbXBsYXRlIGbDvHIgRHJvcGRvd24gQnV0dG9uLiBCdXR0b24gbXVzcyBkZW4gTWFya2VyIFwibmdDb250ZXh0bWVudUFuY2hvclwiIGJlaW5oYWx0ZW4sIGRhbWl0IGRhcyBDb250cm9sIGtvcnJla3QgZnVua3Rpb25pZXJ0LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGJ1dHRvbnRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgLyoqXG4gICAgICogQ29udGFpbmVyIGFuIHdlbGNoZW0gZGllIFBvc2l0aW9uIGF1c2dlcmljaHRldCB3aXJkLiBBa3R1ZWxsIHdpcmQgbnVuIEJvZHkgU3VwcG9ydGVkXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY29udGFpbmVyOiBudWxsIHwgJ2JvZHknID0gJ2JvZHknO1xuXG4gICAgLyoqXG4gICAgICogRXh0cmEgQ1NTIEtsYXNzZW4gZsO8ciBkYXMgQ29udHJvbFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGNzc2NsYXNzOiBzdHJpbmcgPSAnJztcblxuICAgIC8qKlxuICAgICAqIElkZW50aWZpZXIgdXNlZCBmb3IgdGhlIEUyRSBkYXRhIGF0dHJpYnV0ZS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBlMmVpZGVudGlmaWVyOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIERlZmluaWVydCBvYiBkYXMgRHJvcGRvd24gb2ZmZW4gaXN0LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGlzb3BlbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogQWxsIGRpcmVjdGx5IGFzc2lnbmVkIGNvbnRleHQgbWVudSBlbGVtZW50cyB0aGF0IGFyZSBkZWZpbmVkIGluIHRoZSBkaXJlY3QgdGVtcGxhdGUgZm9yIHRoZSBjb250ZXh0IG1lbnUuXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZHJlbihTYWNDb250ZXh0bWVudUl0ZW1Db21tb24pXG4gICAgcHVibGljIG1lbnVpdGVtcyE6IFF1ZXJ5TGlzdDxTYWNDb250ZXh0bWVudUl0ZW1Db21tb24+O1xuXG4gICAgLyoqXG4gICAgICogbmFtZSBvZiBjb250cm9sXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbmFtZTogc3RyaW5nID0gY3JlYXRlR3VpZCgpO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHByZWZlcnJlZCBwbGFjZW1lbnQgb2YgdGhlIGRyb3Bkb3duLlxuICAgICAqXG4gICAgICogUG9zc2libGUgdmFsdWVzIGFyZSBgXCJ0b3BcImAsIGBcInRvcC1sZWZ0XCJgLCBgXCJ0b3AtcmlnaHRcImAsIGBcImJvdHRvbVwiYCwgYFwiYm90dG9tLWxlZnRcImAsXG4gICAgICogYFwiYm90dG9tLXJpZ2h0XCJgLCBgXCJsZWZ0XCJgLCBgXCJsZWZ0LXRvcFwiYCwgYFwibGVmdC1ib3R0b21cImAsIGBcInJpZ2h0XCJgLCBgXCJyaWdodC10b3BcImAsXG4gICAgICogYFwicmlnaHQtYm90dG9tXCJgXG4gICAgICpcbiAgICAgKiBBY2NlcHRzIGFuIGFycmF5IG9mIHN0cmluZ3Mgb3IgYSBzdHJpbmcgd2l0aCBzcGFjZSBzZXBhcmF0ZWQgcG9zc2libGUgdmFsdWVzLlxuICAgICAqXG4gICAgICogVGhlIGRlZmF1bHQgb3JkZXIgb2YgcHJlZmVyZW5jZSBpcyBgXCJib3R0b20tbGVmdCBib3R0b20tcmlnaHQgdG9wLWxlZnQgdG9wLXJpZ2h0XCJgXG4gICAgICpcbiAgICAgKiBQbGVhc2Ugc2VlIHRoZSBbcG9zaXRpb25pbmcgb3ZlcnZpZXddKCMvcG9zaXRpb25pbmcpIGZvciBtb3JlIGRldGFpbHMuXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIHBsYWNlbWVudDogUGxhY2VtZW50QXJyYXkgPSBbJ2JvdHRvbS1sZWZ0JywgJ2JvdHRvbS1yaWdodCcsICd0b3AtbGVmdCcsICd0b3AtcmlnaHQnXTtcblxuICAgIC8vICNlbmRyZWdpb24gUHJvcGVydGllc1xuXG4gICAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvcnNcblxuICAgIC8qKlxuICAgICAqIEtvbnN0cnVrdG9yXG4gICAgICogQHBhcmFtIGRvY3VtZW50IEhUTUwgRG9jdW1lbnQgRWxlbWVudFxuICAgICAqIEBwYXJhbSBuZ1pvbmUgQW5ndWxhciBab25lIFNlcnZpY2VcbiAgICAgKiBAcGFyYW0gZWxlbWVudFJlZiBIVE1MIEVsZW1lbnQgZGVzIGFrdHVlbGxlbiBDb250cm9sc1xuICAgICAqIEBwYXJhbSByZW5kZXJlciBBbmd1bGFyIFJlbmRlcmluZyBTZXJ2aWNlXG4gICAgICogQHBhcmFtIGluamVjdG9yIGluamVjdG9yIHRvIHJlc29sdmUgdGhlIGljb24gc2VydmljZVxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50OiBhbnksXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yXG4gICAgKSB7XG4gICAgICAgIHRoaXMuem9uZVN1YnNjcmlwdGlvbiA9IHRoaXMubmdab25lLm9uU3RhYmxlLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9wb3NpdGlvbk1lbnUoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5pY29uU2VydmljZSA9IGluamVjdG9yLmdldChTQUNJQ09OX1NFUlZJQ0UsIG5ldyBTYWNEZWZhdWx0SWNvblNlcnZpY2UoKSk7XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcblxuICAgIC8vICNyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcblxuICAgIC8qKlxuICAgICAqIGljb24gZm9yIGRlZmF1bHQgY29udGV4dCBtZW7DvCBidXR0b25cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IEljb25Db250ZXh0TWVudSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5pY29uU2VydmljZS5Db250ZXh0TWVudU9wZW5JY29uO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcblxuICAgIC8vICNyZWdpb24gUHVibGljIE1ldGhvZHNcblxuICAgIC8qKlxuICAgICAqIFNjaGxpZXNzdCBkYXMgRHJvcGRvd25cbiAgICAgKi9cbiAgICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Jlc2V0Q29udGFpbmVyKCk7XG4gICAgICAgIHRoaXMuaXNvcGVuID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tZW51aXRlbXMuZm9yRWFjaCgoYnV0dG9uKSA9PiAoYnV0dG9uLmNvbnRleHRtZW51ID0gdGhpcykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEV2ZW50IHdlbm4gQ29tcG9uZW50IGVudGZlcm50IHdpcmQuXG4gICAgICovXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc29wZW4pIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuem9uZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhvc3RMaXN0ZW5lciB1bSBkYXMgRHJvcGRvd24genUgc2NobGllc3NlbiB3ZW5uIG5pY2h0IGF1ZiBkYXMgRWxlbWVudCBnZWtsaWNrdCB3aXJkLlxuICAgICAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQudGFyZ2V0J10pXG4gICAgLyoqXG4gICAgICogQ2xpY2sgRXZlbnRcbiAgICAgKi9cbiAgICBwdWJsaWMgb25DbGljayh0YXJnZXRFbGVtZW50KSB7XG4gICAgICAgIGNvbnN0IGFuY2hvcjogU2FjQ29udGV4dG1lbnVBbmNob3JDb21tb24gPSB0aGlzLl9hbmNob3IgfHwgdGhpcy5fYW5jaG9yVGVtcGxhdGU7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgdGhpcy5fbWVudSAmJlxuICAgICAgICAgICAgIXRoaXMuX21lbnUubmF0aXZlRWxlbWVudC5jb250YWlucyh0YXJnZXRFbGVtZW50KSAmJlxuICAgICAgICAgICAgIWFuY2hvci5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKHRhcmdldEVsZW1lbnQpXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogw5ZmZm5ldCBkYXMgRHJvcGRvd24gLyBaZWlndCBkYXMgTWVuw7wgYW4uXG4gICAgICovXG4gICAgcHVibGljIG9wZW4oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2FwcGx5Q29udGFpbmVyKHRoaXMuY29udGFpbmVyKTtcbiAgICAgICAgdGhpcy5pc29wZW4gPSB0cnVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRvZ2dsZSB2b24gRHJvcGRvd25cbiAgICAgKi9cbiAgICBwdWJsaWMgdG9nZ2xlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc29wZW4pIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMub3BlbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgTWV0aG9kc1xuXG4gICAgLy8gI3JlZ2lvbiBQcm90ZWN0ZWQgTWV0aG9kc1xuXG4gICAgLyoqXG4gICAgICogU2V0enQgZGllIFBvc2l0aW9uIGRlcyBNZW7DvHMgaW0gTWFya3VwXG4gICAgICovXG4gICAgcHJvdGVjdGVkIF9wb3NpdGlvbk1lbnUoKSB7XG4gICAgICAgIGNvbnN0IGFuY2hvcjogU2FjQ29udGV4dG1lbnVBbmNob3JDb21tb24gPSB0aGlzLl9hbmNob3IgfHwgdGhpcy5fYW5jaG9yVGVtcGxhdGU7XG5cbiAgICAgICAgaWYgKGFuY2hvciAmJiB0aGlzLl9tZW51KSB7XG4gICAgICAgICAgICBwb3NpdGlvbkVsZW1lbnRzKFxuICAgICAgICAgICAgICAgIGFuY2hvci5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAgIHRoaXMuYm9keUNvbnRhaW5lciB8fCB0aGlzLl9tZW51Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgdGhpcy5wbGFjZW1lbnQsXG4gICAgICAgICAgICAgICAgdGhpcy5jb250YWluZXIgPT09ICdib2R5J1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHJvdGVjdGVkIE1ldGhvZHNcblxuICAgIC8vICNyZWdpb24gUHJpdmF0ZSBNZXRob2RzXG5cbiAgICAvKipcbiAgICAgKiBTZXR6dCBkaWUgUG9zaXRpb24gZGVzIE1lbsO8cyBpbm5lcmhhbGIgZGVyIFNlaXRlLiBEaWUgQXVzcmljaHR1bmcgcGFzc2llcnQgaW5uZXJoYWxiIGRlciBTZWl0ZVxuICAgICAqIGRhbWl0IGRhcyBNZW7DvCBpbm5lcmhhbGIgZWluZXMgRGlhbG9ncyBzYXViZXIgZnVua3Rpb25pb25pZXJ0LlxuICAgICAqIEBwYXJhbSBjb250YWluZXIgRGVmaW5pZXJ0IHdvIGRhcyBNZW7DvCBhdXNnZXJpY2h0ZXQgd2lyZC4gSW0gTW9tZW50IG51ciBCT0RZIFN1cHBvcnRlZFxuICAgICAqL1xuICAgIHByaXZhdGUgX2FwcGx5Q29udGFpbmVyKGNvbnRhaW5lcjogbnVsbCB8ICdib2R5JyA9IG51bGwpIHtcbiAgICAgICAgLy8gUmVzZXQgQ2xhc3NlcyBvbiBDb250YWluZXJcbiAgICAgICAgdGhpcy5fcmVzZXRDb250YWluZXIoKTtcblxuICAgICAgICBpZiAoY29udGFpbmVyID09PSAnYm9keScpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlbmRlcmVyID0gdGhpcy5yZW5kZXJlcjtcbiAgICAgICAgICAgIGNvbnN0IGRyb3Bkb3duTWVudUVsZW1lbnQgPSB0aGlzLl9tZW51Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgICAgICBjb25zdCBib2R5Q29udGFpbmVyID0gKHRoaXMuYm9keUNvbnRhaW5lciA9IHRoaXMuYm9keUNvbnRhaW5lciB8fCByZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKSk7XG5cbiAgICAgICAgICAgIC8vIE92ZXJyaWRlIHNvbWUgc3R5bGVzIHRvIGhhdmUgdGhlIHBvc2l0aW9uaW5nIHdvcmtpbmdcbiAgICAgICAgICAgIHJlbmRlcmVyLnNldFN0eWxlKGJvZHlDb250YWluZXIsICdwb3NpdGlvbicsICdhYnNvbHV0ZScpO1xuICAgICAgICAgICAgcmVuZGVyZXIuc2V0U3R5bGUoZHJvcGRvd25NZW51RWxlbWVudCwgJ3Bvc2l0aW9uJywgJ3N0YXRpYycpO1xuICAgICAgICAgICAgcmVuZGVyZXIuc2V0U3R5bGUoYm9keUNvbnRhaW5lciwgJ3otaW5kZXgnLCAnMTA1MCcpO1xuXG4gICAgICAgICAgICByZW5kZXJlci5hcHBlbmRDaGlsZChib2R5Q29udGFpbmVyLCBkcm9wZG93bk1lbnVFbGVtZW50KTtcbiAgICAgICAgICAgIHJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuZG9jdW1lbnQuYm9keSwgYm9keUNvbnRhaW5lcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXR6dCBkaWUgQ1NTIEtsYXNzZW4gYXVmIGRlbSBNZW7DvCBDb250YWluZXIgYXVmIGRlbiBTdGFuZGFyZCB6dXLDvGNrXG4gICAgICovXG4gICAgcHJpdmF0ZSBfcmVzZXRDb250YWluZXIoKSB7XG4gICAgICAgIGNvbnN0IHJlbmRlcmVyID0gdGhpcy5yZW5kZXJlcjtcbiAgICAgICAgaWYgKHRoaXMuX21lbnUpIHtcbiAgICAgICAgICAgIGNvbnN0IGRyb3Bkb3duRWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICAgICAgY29uc3QgZHJvcGRvd25NZW51RWxlbWVudCA9IHRoaXMuX21lbnUubmF0aXZlRWxlbWVudDtcblxuICAgICAgICAgICAgcmVuZGVyZXIuYXBwZW5kQ2hpbGQoZHJvcGRvd25FbGVtZW50LCBkcm9wZG93bk1lbnVFbGVtZW50KTtcbiAgICAgICAgICAgIHJlbmRlcmVyLnJlbW92ZVN0eWxlKGRyb3Bkb3duTWVudUVsZW1lbnQsICdwb3NpdGlvbicpO1xuICAgICAgICAgICAgcmVuZGVyZXIucmVtb3ZlU3R5bGUoZHJvcGRvd25NZW51RWxlbWVudCwgJ3RyYW5zZm9ybScpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmJvZHlDb250YWluZXIpIHtcbiAgICAgICAgICAgIHJlbmRlcmVyLnJlbW92ZUNoaWxkKHRoaXMuZG9jdW1lbnQuYm9keSwgdGhpcy5ib2R5Q29udGFpbmVyKTtcbiAgICAgICAgICAgIHRoaXMuYm9keUNvbnRhaW5lciA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFByaXZhdGUgTWV0aG9kc1xufVxuIl19
68
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb3ZfMTg1b2R2dHV1dCIsImFjdHVhbENvdmVyYWdlIiwiU0FDSUNPTl9TRVJWSUNFIiwiU2FjRGVmYXVsdEljb25TZXJ2aWNlIiwiY3JlYXRlR3VpZCIsInBvc2l0aW9uRWxlbWVudHMiLCJTYWNDb250ZXh0bWVudUFuY2hvckNvbW1vbiIsIlNhY0NvbnRleHRNZW51Q29udHJhaW5lckNvbW1vbiIsIlNhY0NvbnRleHRtZW51SXRlbUNvbW1vbiIsIkRPQ1VNRU5UIiwiQ29udGVudENoaWxkIiwiQ29udGVudENoaWxkcmVuIiwiRGlyZWN0aXZlIiwiSG9zdExpc3RlbmVyIiwiSW5qZWN0IiwiSW5wdXQiLCJWaWV3Q2hpbGQiLCJTYWNDb250ZXh0bWVudUNvbW1vbiIsImNvbnN0cnVjdG9yIiwiZG9jdW1lbnQiLCJuZ1pvbmUiLCJlbGVtZW50UmVmIiwicmVuZGVyZXIiLCJpbmplY3RvciIsImYiLCJzIiwiYm9keUNvbnRhaW5lciIsImNvbnRhaW5lciIsImNzc2NsYXNzIiwiZTJlaWRlbnRpZmllciIsImlzb3BlbiIsIm5hbWUiLCJwbGFjZW1lbnQiLCJ6b25lU3Vic2NyaXB0aW9uIiwib25TdGFibGUiLCJzdWJzY3JpYmUiLCJfcG9zaXRpb25NZW51IiwiaWNvblNlcnZpY2UiLCJnZXQiLCJJY29uQ29udGV4dE1lbnUiLCJDb250ZXh0TWVudU9wZW5JY29uIiwiY2xvc2UiLCJfcmVzZXRDb250YWluZXIiLCJuZ0FmdGVyQ29udGVudEluaXQiLCJtZW51aXRlbXMiLCJmb3JFYWNoIiwiYnV0dG9uIiwiY29udGV4dG1lbnUiLCJuZ09uRGVzdHJveSIsImIiLCJ1bnN1YnNjcmliZSIsIm9uQ2xpY2siLCJ0YXJnZXRFbGVtZW50IiwiYW5jaG9yIiwiX2FuY2hvciIsIl9hbmNob3JUZW1wbGF0ZSIsIl9tZW51IiwibmF0aXZlRWxlbWVudCIsImNvbnRhaW5zIiwib3BlbiIsIl9hcHBseUNvbnRhaW5lciIsInRvZ2dsZSIsImRyb3Bkb3duTWVudUVsZW1lbnQiLCJjcmVhdGVFbGVtZW50Iiwic2V0U3R5bGUiLCJhcHBlbmRDaGlsZCIsImJvZHkiLCJkcm9wZG93bkVsZW1lbnQiLCJyZW1vdmVTdHlsZSIsInJlbW92ZUNoaWxkIiwiZGVwcyIsInRva2VuIiwiaTAiLCJOZ1pvbmUiLCJFbGVtZW50UmVmIiwiUmVuZGVyZXIyIiwiSW5qZWN0b3IiLCJ0YXJnZXQiLCLJtcm1RmFjdG9yeVRhcmdldCIsImlucHV0cyIsImJ1dHRvbnRlbXBsYXRlIiwiaG9zdCIsImxpc3RlbmVycyIsInF1ZXJpZXMiLCJwcm9wZXJ0eU5hbWUiLCJmaXJzdCIsInByZWRpY2F0ZSIsImRlc2NlbmRhbnRzIiwidmlld1F1ZXJpZXMiLCJuZ0ltcG9ydCIsImRlY29yYXRvcnMiLCJzdGF0aWMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy9jb250cm9scy9jb250ZXh0bWVudS9jb250ZXh0bWVudS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJU2FjSWNvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lTYWNJY29uU2VydmljZSc7XG5pbXBvcnQgeyBTQUNJQ09OX1NFUlZJQ0UsIFNhY0RlZmF1bHRJY29uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IGNyZWF0ZUd1aWQgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvZ3VpZCc7XG5pbXBvcnQgeyBQbGFjZW1lbnRBcnJheSwgcG9zaXRpb25FbGVtZW50cyB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9wb3NpdGlvbmluZyc7XG5pbXBvcnQgeyBJU2FjQ29udGV4dG1lbnVDb21tb24gfSBmcm9tICcuL2NvbnRleHRtZW51LmludGVyZmFjZSc7XG5pbXBvcnQgeyBTYWNDb250ZXh0bWVudUFuY2hvckNvbW1vbiB9IGZyb20gJy4vY29udGV4dG1lbnVhbmNob3InO1xuaW1wb3J0IHsgU2FjQ29udGV4dE1lbnVDb250cmFpbmVyQ29tbW9uIH0gZnJvbSAnLi9jb250ZXh0bWVudWNvbnRhaW5lcic7XG5pbXBvcnQgeyBTYWNDb250ZXh0bWVudUl0ZW1Db21tb24gfSBmcm9tICcuL2NvbnRleHRtZW51aXRlbSc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0LFxuICAgIEluamVjdG9yLFxuICAgIElucHV0LFxuICAgIE5nWm9uZSxcbiAgICBPbkRlc3Ryb3ksXG4gICAgUXVlcnlMaXN0LFxuICAgIFJlbmRlcmVyMixcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogQmFzZSBDb250ZXh0IE1lbsO8IEVsZW1lbnQuIERpZSBMb2dpayB3dXJkZSBhdXMgTkctQk9PVFNUUkFQIMO8YmVybm9tbWVuLlxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBTYWNDb250ZXh0bWVudUNvbW1vbiBpbXBsZW1lbnRzIElTYWNDb250ZXh0bWVudUNvbW1vbiwgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcbiAgICAvLyAjcmVnaW9uIFByb3BlcnRpZXNcblxuICAgIC8qKlxuICAgICAqIEJ1dHRvbiBmw7xyIE9wZW4vQ2xvc2UgRXZlbnRcbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKFNhY0NvbnRleHRtZW51QW5jaG9yQ29tbW9uLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9hbmNob3I6IFNhY0NvbnRleHRtZW51QW5jaG9yQ29tbW9uO1xuXG4gICAgLyoqXG4gICAgICogQnV0dG9uIGbDvHIgT3Blbi9DbG9zZSBFdmVudCBhdXMgVGVtcGxhdGVcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKFNhY0NvbnRleHRtZW51QW5jaG9yQ29tbW9uLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9hbmNob3JUZW1wbGF0ZTogU2FjQ29udGV4dG1lbnVBbmNob3JDb21tb247XG5cbiAgICAvKipcbiAgICAgKiBDb250YWluZXIgRWxlbWVudCBmw7xyIERyb3Bkb3duXG4gICAgICovXG4gICAgQFZpZXdDaGlsZChTYWNDb250ZXh0TWVudUNvbnRyYWluZXJDb21tb24sIHsgc3RhdGljOiBmYWxzZSB9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgX21lbnU6IFNhY0NvbnRleHRNZW51Q29udHJhaW5lckNvbW1vbjtcblxuICAgIC8qKlxuICAgICAqIFpvbmUgU3Vic2NyaXB0aW9uIGbDvHIgUG9zdGl0b25pZXJ1bmcgZGVzIEVsZW1lbnRzXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSB6b25lU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgICAvKipcbiAgICAgKiBCb2R5IEhUTUwgRWxlbWVudFxuICAgICAqL1xuICAgIHByaXZhdGUgYm9keUNvbnRhaW5lcjogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIGljb24gc2VydmljZVxuICAgICAqL1xuICAgIHByb3RlY3RlZCBpY29uU2VydmljZTogSVNhY0ljb25TZXJ2aWNlO1xuXG4gICAgLyoqXG4gICAgICogQ3VzdG9tIEhUTUwgVGVtcGxhdGUgZsO8ciBEcm9wZG93biBCdXR0b24uIEJ1dHRvbiBtdXNzIGRlbiBNYXJrZXIgXCJuZ0NvbnRleHRtZW51QW5jaG9yXCIgYmVpbmhhbHRlbiwgZGFtaXQgZGFzIENvbnRyb2wga29ycmVrdCBmdW5rdGlvbmllcnQuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgYnV0dG9udGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKipcbiAgICAgKiBDb250YWluZXIgYW4gd2VsY2hlbSBkaWUgUG9zaXRpb24gYXVzZ2VyaWNodGV0IHdpcmQuIEFrdHVlbGwgd2lyZCBudW4gQm9keSBTdXBwb3J0ZWRcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBjb250YWluZXI6IG51bGwgfCAnYm9keScgPSAnYm9keSc7XG5cbiAgICAvKipcbiAgICAgKiBFeHRyYSBDU1MgS2xhc3NlbiBmw7xyIGRhcyBDb250cm9sXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY3NzY2xhc3M6IHN0cmluZyA9ICcnO1xuXG4gICAgLyoqXG4gICAgICogSWRlbnRpZmllciB1c2VkIGZvciB0aGUgRTJFIGRhdGEgYXR0cmlidXRlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGUyZWlkZW50aWZpZXI6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogRGVmaW5pZXJ0IG9iIGRhcyBEcm9wZG93biBvZmZlbiBpc3QuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaXNvcGVuOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBBbGwgZGlyZWN0bHkgYXNzaWduZWQgY29udGV4dCBtZW51IGVsZW1lbnRzIHRoYXQgYXJlIGRlZmluZWQgaW4gdGhlIGRpcmVjdCB0ZW1wbGF0ZSBmb3IgdGhlIGNvbnRleHQgbWVudS5cbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkcmVuKFNhY0NvbnRleHRtZW51SXRlbUNvbW1vbilcbiAgICBwdWJsaWMgbWVudWl0ZW1zITogUXVlcnlMaXN0PFNhY0NvbnRleHRtZW51SXRlbUNvbW1vbj47XG5cbiAgICAvKipcbiAgICAgKiBuYW1lIG9mIGNvbnRyb2xcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBuYW1lOiBzdHJpbmcgPSBjcmVhdGVHdWlkKCk7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgcHJlZmVycmVkIHBsYWNlbWVudCBvZiB0aGUgZHJvcGRvd24uXG4gICAgICpcbiAgICAgKiBQb3NzaWJsZSB2YWx1ZXMgYXJlIGBcInRvcFwiYCwgYFwidG9wLWxlZnRcImAsIGBcInRvcC1yaWdodFwiYCwgYFwiYm90dG9tXCJgLCBgXCJib3R0b20tbGVmdFwiYCxcbiAgICAgKiBgXCJib3R0b20tcmlnaHRcImAsIGBcImxlZnRcImAsIGBcImxlZnQtdG9wXCJgLCBgXCJsZWZ0LWJvdHRvbVwiYCwgYFwicmlnaHRcImAsIGBcInJpZ2h0LXRvcFwiYCxcbiAgICAgKiBgXCJyaWdodC1ib3R0b21cImBcbiAgICAgKlxuICAgICAqIEFjY2VwdHMgYW4gYXJyYXkgb2Ygc3RyaW5ncyBvciBhIHN0cmluZyB3aXRoIHNwYWNlIHNlcGFyYXRlZCBwb3NzaWJsZSB2YWx1ZXMuXG4gICAgICpcbiAgICAgKiBUaGUgZGVmYXVsdCBvcmRlciBvZiBwcmVmZXJlbmNlIGlzIGBcImJvdHRvbS1sZWZ0IGJvdHRvbS1yaWdodCB0b3AtbGVmdCB0b3AtcmlnaHRcImBcbiAgICAgKlxuICAgICAqIFBsZWFzZSBzZWUgdGhlIFtwb3NpdGlvbmluZyBvdmVydmlld10oIy9wb3NpdGlvbmluZykgZm9yIG1vcmUgZGV0YWlscy5cbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgcGxhY2VtZW50OiBQbGFjZW1lbnRBcnJheSA9IFsnYm90dG9tLWxlZnQnLCAnYm90dG9tLXJpZ2h0JywgJ3RvcC1sZWZ0JywgJ3RvcC1yaWdodCddO1xuXG4gICAgLy8gI2VuZHJlZ2lvbiBQcm9wZXJ0aWVzXG5cbiAgICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gICAgLyoqXG4gICAgICogS29uc3RydWt0b3JcbiAgICAgKiBAcGFyYW0gZG9jdW1lbnQgSFRNTCBEb2N1bWVudCBFbGVtZW50XG4gICAgICogQHBhcmFtIG5nWm9uZSBBbmd1bGFyIFpvbmUgU2VydmljZVxuICAgICAqIEBwYXJhbSBlbGVtZW50UmVmIEhUTUwgRWxlbWVudCBkZXMgYWt0dWVsbGVuIENvbnRyb2xzXG4gICAgICogQHBhcmFtIHJlbmRlcmVyIEFuZ3VsYXIgUmVuZGVyaW5nIFNlcnZpY2VcbiAgICAgKiBAcGFyYW0gaW5qZWN0b3IgaW5qZWN0b3IgdG8gcmVzb2x2ZSB0aGUgaWNvbiBzZXJ2aWNlXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnQ6IGFueSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3JcbiAgICApIHtcbiAgICAgICAgdGhpcy56b25lU3Vic2NyaXB0aW9uID0gdGhpcy5uZ1pvbmUub25TdGFibGUuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3Bvc2l0aW9uTWVudSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmljb25TZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KFNBQ0lDT05fU0VSVklDRSwgbmV3IFNhY0RlZmF1bHRJY29uU2VydmljZSgpKTtcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gICAgLy8gI3JlZ2lvbiBQdWJsaWMgR2V0dGVycyBBbmQgU2V0dGVyc1xuXG4gICAgLyoqXG4gICAgICogaWNvbiBmb3IgZGVmYXVsdCBjb250ZXh0IG1lbsO8IGJ1dHRvblxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgSWNvbkNvbnRleHRNZW51KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmljb25TZXJ2aWNlLkNvbnRleHRNZW51T3Blbkljb247XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgR2V0dGVycyBBbmQgU2V0dGVyc1xuXG4gICAgLy8gI3JlZ2lvbiBQdWJsaWMgTWV0aG9kc1xuXG4gICAgLyoqXG4gICAgICogU2NobGllc3N0IGRhcyBEcm9wZG93blxuICAgICAqL1xuICAgIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcmVzZXRDb250YWluZXIoKTtcbiAgICAgICAgdGhpcy5pc29wZW4gPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1lbnVpdGVtcy5mb3JFYWNoKChidXR0b24pID0+IChidXR0b24uY29udGV4dG1lbnUgPSB0aGlzKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRXZlbnQgd2VubiBDb21wb25lbnQgZW50ZmVybnQgd2lyZC5cbiAgICAgKi9cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzb3Blbikge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy56b25lU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSG9zdExpc3RlbmVyIHVtIGRhcyBEcm9wZG93biB6dSBzY2hsaWVzc2VuIHdlbm4gbmljaHQgYXVmIGRhcyBFbGVtZW50IGdla2xpY2t0IHdpcmQuXG4gICAgICovXG4gICAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudC50YXJnZXQnXSlcbiAgICAvKipcbiAgICAgKiBDbGljayBFdmVudFxuICAgICAqL1xuICAgIHB1YmxpYyBvbkNsaWNrKHRhcmdldEVsZW1lbnQpIHtcbiAgICAgICAgY29uc3QgYW5jaG9yOiBTYWNDb250ZXh0bWVudUFuY2hvckNvbW1vbiA9IHRoaXMuX2FuY2hvciB8fCB0aGlzLl9hbmNob3JUZW1wbGF0ZTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLl9tZW51ICYmXG4gICAgICAgICAgICAhdGhpcy5fbWVudS5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKHRhcmdldEVsZW1lbnQpICYmXG4gICAgICAgICAgICAhYW5jaG9yLm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0RWxlbWVudClcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDDlmZmbmV0IGRhcyBEcm9wZG93biAvIFplaWd0IGRhcyBNZW7DvCBhbi5cbiAgICAgKi9cbiAgICBwdWJsaWMgb3BlbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fYXBwbHlDb250YWluZXIodGhpcy5jb250YWluZXIpO1xuICAgICAgICB0aGlzLmlzb3BlbiA9IHRydWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVG9nZ2xlIHZvbiBEcm9wZG93blxuICAgICAqL1xuICAgIHB1YmxpYyB0b2dnbGUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzb3Blbikge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5vcGVuKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBNZXRob2RzXG5cbiAgICAvLyAjcmVnaW9uIFByb3RlY3RlZCBNZXRob2RzXG5cbiAgICAvKipcbiAgICAgKiBTZXR6dCBkaWUgUG9zaXRpb24gZGVzIE1lbsO8cyBpbSBNYXJrdXBcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgX3Bvc2l0aW9uTWVudSgpIHtcbiAgICAgICAgY29uc3QgYW5jaG9yOiBTYWNDb250ZXh0bWVudUFuY2hvckNvbW1vbiA9IHRoaXMuX2FuY2hvciB8fCB0aGlzLl9hbmNob3JUZW1wbGF0ZTtcblxuICAgICAgICBpZiAoYW5jaG9yICYmIHRoaXMuX21lbnUpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uRWxlbWVudHMoXG4gICAgICAgICAgICAgICAgYW5jaG9yLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgdGhpcy5ib2R5Q29udGFpbmVyIHx8IHRoaXMuX21lbnUubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICB0aGlzLnBsYWNlbWVudCxcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRhaW5lciA9PT0gJ2JvZHknXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBQcm90ZWN0ZWQgTWV0aG9kc1xuXG4gICAgLy8gI3JlZ2lvbiBQcml2YXRlIE1ldGhvZHNcblxuICAgIC8qKlxuICAgICAqIFNldHp0IGRpZSBQb3NpdGlvbiBkZXMgTWVuw7xzIGlubmVyaGFsYiBkZXIgU2VpdGUuIERpZSBBdXNyaWNodHVuZyBwYXNzaWVydCBpbm5lcmhhbGIgZGVyIFNlaXRlXG4gICAgICogZGFtaXQgZGFzIE1lbsO8IGlubmVyaGFsYiBlaW5lcyBEaWFsb2dzIHNhdWJlciBmdW5rdGlvbmlvbmllcnQuXG4gICAgICogQHBhcmFtIGNvbnRhaW5lciBEZWZpbmllcnQgd28gZGFzIE1lbsO8IGF1c2dlcmljaHRldCB3aXJkLiBJbSBNb21lbnQgbnVyIEJPRFkgU3VwcG9ydGVkXG4gICAgICovXG4gICAgcHJpdmF0ZSBfYXBwbHlDb250YWluZXIoY29udGFpbmVyOiBudWxsIHwgJ2JvZHknID0gbnVsbCkge1xuICAgICAgICAvLyBSZXNldCBDbGFzc2VzIG9uIENvbnRhaW5lclxuICAgICAgICB0aGlzLl9yZXNldENvbnRhaW5lcigpO1xuXG4gICAgICAgIGlmIChjb250YWluZXIgPT09ICdib2R5Jykge1xuICAgICAgICAgICAgY29uc3QgcmVuZGVyZXIgPSB0aGlzLnJlbmRlcmVyO1xuICAgICAgICAgICAgY29uc3QgZHJvcGRvd25NZW51RWxlbWVudCA9IHRoaXMuX21lbnUubmF0aXZlRWxlbWVudDtcbiAgICAgICAgICAgIGNvbnN0IGJvZHlDb250YWluZXIgPSAodGhpcy5ib2R5Q29udGFpbmVyID0gdGhpcy5ib2R5Q29udGFpbmVyIHx8IHJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpKTtcblxuICAgICAgICAgICAgLy8gT3ZlcnJpZGUgc29tZSBzdHlsZXMgdG8gaGF2ZSB0aGUgcG9zaXRpb25pbmcgd29ya2luZ1xuICAgICAgICAgICAgcmVuZGVyZXIuc2V0U3R5bGUoYm9keUNvbnRhaW5lciwgJ3Bvc2l0aW9uJywgJ2Fic29sdXRlJyk7XG4gICAgICAgICAgICByZW5kZXJlci5zZXRTdHlsZShkcm9wZG93bk1lbnVFbGVtZW50LCAncG9zaXRpb24nLCAnc3RhdGljJyk7XG4gICAgICAgICAgICByZW5kZXJlci5zZXRTdHlsZShib2R5Q29udGFpbmVyLCAnei1pbmRleCcsICcxMDUwJyk7XG5cbiAgICAgICAgICAgIHJlbmRlcmVyLmFwcGVuZENoaWxkKGJvZHlDb250YWluZXIsIGRyb3Bkb3duTWVudUVsZW1lbnQpO1xuICAgICAgICAgICAgcmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5kb2N1bWVudC5ib2R5LCBib2R5Q29udGFpbmVyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHp0IGRpZSBDU1MgS2xhc3NlbiBhdWYgZGVtIE1lbsO8IENvbnRhaW5lciBhdWYgZGVuIFN0YW5kYXJkIHp1csO8Y2tcbiAgICAgKi9cbiAgICBwcml2YXRlIF9yZXNldENvbnRhaW5lcigpIHtcbiAgICAgICAgY29uc3QgcmVuZGVyZXIgPSB0aGlzLnJlbmRlcmVyO1xuICAgICAgICBpZiAodGhpcy5fbWVudSkge1xuICAgICAgICAgICAgY29uc3QgZHJvcGRvd25FbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgICAgICBjb25zdCBkcm9wZG93bk1lbnVFbGVtZW50ID0gdGhpcy5fbWVudS5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgICAgICByZW5kZXJlci5hcHBlbmRDaGlsZChkcm9wZG93bkVsZW1lbnQsIGRyb3Bkb3duTWVudUVsZW1lbnQpO1xuICAgICAgICAgICAgcmVuZGVyZXIucmVtb3ZlU3R5bGUoZHJvcGRvd25NZW51RWxlbWVudCwgJ3Bvc2l0aW9uJyk7XG4gICAgICAgICAgICByZW5kZXJlci5yZW1vdmVTdHlsZShkcm9wZG93bk1lbnVFbGVtZW50LCAndHJhbnNmb3JtJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuYm9keUNvbnRhaW5lcikge1xuICAgICAgICAgICAgcmVuZGVyZXIucmVtb3ZlQ2hpbGQodGhpcy5kb2N1bWVudC5ib2R5LCB0aGlzLmJvZHlDb250YWluZXIpO1xuICAgICAgICAgICAgdGhpcy5ib2R5Q29udGFpbmVyID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHJpdmF0ZSBNZXRob2RzXG59XG4iXSwibWFwcGluZ3MiOiI2cHRCQWlJSTtBQUFBQSxjQUFBLFNBQUFBLENBQUEsU0FBQUMsY0FBQSxXQUFBQSxjQUFBLEVBQUFELGNBQUEsR0FoSUosT0FBU0UsZUFBZSxDQUFFQyxxQkFBcUIsS0FBUSxnQkFBZ0IsQ0FDdkUsT0FBU0MsVUFBVSxLQUFRLHNCQUFzQixDQUNqRCxPQUF5QkMsZ0JBQWdCLEtBQVEsNkJBQTZCLENBRTlFLE9BQVNDLDBCQUEwQixLQUFRLHFCQUFxQixDQUNoRSxPQUFTQyw4QkFBOEIsS0FBUSx3QkFBd0IsQ0FDdkUsT0FBU0Msd0JBQXdCLEtBQVEsbUJBQW1CLENBQzVELE9BQVNDLFFBQVEsS0FBUSxpQkFBaUIsQ0FDMUMsT0FFSUMsWUFBWSxDQUNaQyxlQUFlLENBQ2ZDLFNBQVMsQ0FFVEMsWUFBWSxDQUNaQyxNQUFNLENBRU5DLEtBQUssQ0FNTEMsU0FBUyxLQUNOLGVBQWUsQyxpQ0FHdEI7O0dBR0EsS0FDYSxDQUFBQyxvQkFBb0IsQ0E2RjdCO0FBRUE7QUFFQTs7Ozs7OztPQVFBQyxZQUN1Q0MsUUFBYSxDQUMvQkMsTUFBYyxDQUNkQyxVQUFtQyxDQUNuQ0MsUUFBbUIsQ0FDcENDLFFBQWtCLEVBQUF2QixjQUFBLEdBQUF3QixDQUFBLE1BQUF4QixjQUFBLEdBQUF5QixDQUFBLE1BSmlCLEtBQUFOLFFBQVEsQ0FBUkEsUUFBUSxDQUFLbkIsY0FBQSxHQUFBeUIsQ0FBQSxNQUMvQixLQUFBTCxNQUFNLENBQU5BLE1BQU0sQ0FBUXBCLGNBQUEsR0FBQXlCLENBQUEsTUFDZCxLQUFBSixVQUFVLENBQVZBLFVBQVUsQ0FBeUJyQixjQUFBLEdBQUF5QixDQUFBLE1BQ25DLEtBQUFILFFBQVEsQ0FBUkEsUUFBUSxDQW5GN0I7O1dBQUF0QixjQUFBLEdBQUF5QixDQUFBLE1BR1EsS0FBQUMsYUFBYSxDQUF1QixJQUFJLENBYWhEOztXQUFBMUIsY0FBQSxHQUFBeUIsQ0FBQSxNQUlPLEtBQUFFLFNBQVMsQ0FBa0IsTUFBTSxDQUV4Qzs7V0FBQTNCLGNBQUEsR0FBQXlCLENBQUEsTUFJTyxLQUFBRyxRQUFRLENBQVcsRUFBRSxDQUU1Qjs7V0FBQTVCLGNBQUEsR0FBQXlCLENBQUEsTUFJTyxLQUFBSSxhQUFhLENBQWtCLElBQUksQ0FFMUM7O1dBQUE3QixjQUFBLEdBQUF5QixDQUFBLE1BSU8sS0FBQUssTUFBTSxDQUFZLEtBQUssQ0FROUI7O1dBQUE5QixjQUFBLEdBQUF5QixDQUFBLE1BSU8sS0FBQU0sSUFBSSxDQUFXM0IsVUFBVSxFQUFFLENBRWxDOzs7Ozs7Ozs7Ozs7V0FBQUosY0FBQSxHQUFBeUIsQ0FBQSxPQWFnQixLQUFBTyxTQUFTLENBQW1CLENBQUMsYUFBYSxDQUFFLGNBQWMsQ0FBRSxVQUFVLENBQUUsV0FBVyxDQUFDLENBQUNoQyxjQUFBLEdBQUF5QixDQUFBLE9BcUJqRyxJQUFJLENBQUNRLGdCQUFnQixDQUFHLElBQUksQ0FBQ2IsTUFBTSxDQUFDYyxRQUFRLENBQUNDLFNBQVMsQ0FBQyxJQUFLLENBQUFuQyxjQUFBLEdBQUF3QixDQUFBLE1BQUF4QixjQUFBLEdBQUF5QixDQUFBLE9BQ3hELElBQUksQ0FBQ1csYUFBYSxFQUFFLENBQ3hCLENBQUMsQ0FBQyxDQUFDcEMsY0FBQSxHQUFBeUIsQ0FBQSxPQUVILElBQUksQ0FBQ1ksV0FBVyxDQUFHZCxRQUFRLENBQUNlLEdBQUcsQ0FBQ3BDLGVBQWUsQ0FBRSxHQUFJLENBQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FDakYsQ0FFQTtBQUVBO0FBRUE7O09BR0EsR0FBVyxDQUFBb0MsZUFBZUEsQ0FBQSxFQUFBdkMsY0FBQSxHQUFBd0IsQ0FBQSxNQUFBeEIsY0FBQSxHQUFBeUIsQ0FBQSxPQUN0QixNQUFPLEtBQUksQ0FBQ1ksV0FBVyxDQUFDRyxtQkFBbUIsQ0FDL0MsQ0FFQTtBQUVBO0FBRUE7O09BR09DLEtBQUtBLENBQUEsRUFBQXpDLGNBQUEsR0FBQXdCLENBQUEsTUFBQXhCLGNBQUEsR0FBQXlCLENBQUEsT0FDUixJQUFJLENBQUNpQixlQUFlLEVBQUUsQ0FBQzFDLGNBQUEsR0FBQXlCLENBQUEsT0FDdkIsSUFBSSxDQUFDSyxNQUFNLENBQUcsS0FBSyxDQUN2QixDQUVPYSxrQkFBa0JBLENBQUEsRUFBQTNDLGNBQUEsR0FBQXdCLENBQUEsTUFBQXhCLGNBQUEsR0FBQXlCLENBQUEsT0FDckIsSUFBSSxDQUFDbUIsU0FBUyxDQUFDQyxPQUFPLENBQUVDLE1BQU0sRUFBTSxDQUFBOUMsY0FBQSxHQUFBd0IsQ0FBQSxNQUFBeEIsY0FBQSxHQUFBeUIsQ0FBQSxjQUFBcUIsTUFBTSxDQUFDQyxXQUFXLENBQUcsSUFBSSxDQUFKLENBQUssQ0FBQyxDQUNuRSxDQUVBOztPQUdPQyxXQUFXQSxDQUFBLEVBQUFoRCxjQUFBLEdBQUF3QixDQUFBLE1BQUF4QixjQUFBLEdBQUF5QixDQUFBLE9BQ2QsR0FBSSxJQUFJLENBQUNLLE1BQU0sQ0FBRSxDQUFBOUIsY0FBQSxHQUFBaUQsQ0FBQSxTQUFBakQsY0FBQSxHQUFBeUIsQ0FBQSxPQUNiLElBQUksQ0FBQ2dCLEtBQUssRUFBRSxDLENBQ2YsS0FBQXpDLGNBQUEsR0FBQWlELENBQUEsVUFBQWpELGNBQUEsR0FBQXlCLENBQUEsT0FFRCxJQUFJLENBQUNRLGdCQUFnQixDQUFDaUIsV0FBVyxFQUFFLENBQ3ZDLENBRUE7O09BT09DLE9BQU9BLENBQUNDLGFBQWEsRUFBQXBELGNBQUEsR0FBQXdCLENBQUEsTUFDeEIsS0FBTSxDQUFBNkIsTUFBTSxFQUFBckQsY0FBQSxHQUFBeUIsQ0FBQSxPQUErQixDQUFBekIsY0FBQSxHQUFBaUQsQ0FBQSxhQUFJLENBQUNLLE9BQU8sSUFBQXRELGNBQUEsR0FBQWlELENBQUEsU0FBSSxJQUFJLENBQUNNLGVBQWUsR0FBQ3ZELGNBQUEsR0FBQXlCLENBQUEsT0FFaEYsR0FDSSxDQUFBekIsY0FBQSxHQUFBaUQsQ0FBQSxhQUFJLENBQUNPLEtBQUssSUFBQXhELGNBQUEsR0FBQWlELENBQUEsU0FDVixDQUFDLElBQUksQ0FBQ08sS0FBSyxDQUFDQyxhQUFhLENBQUNDLFFBQVEsQ0FBQ04sYUFBYSxDQUFDLElBQUFwRCxjQUFBLEdBQUFpRCxDQUFBLFNBQ2pELENBQUNJLE1BQU0sQ0FBQ0ksYUFBYSxDQUFDQyxRQUFRLENBQUNOLGFBQWEsQ0FBQyxFQUMvQyxDQUFBcEQsY0FBQSxHQUFBaUQsQ0FBQSxTQUFBakQsY0FBQSxHQUFBeUIsQ0FBQSxPQUNFLElBQUksQ0FBQ2dCLEtBQUssRUFBRSxDLENBQ2YsS0FBQXpDLGNBQUEsR0FBQWlELENBQUEsVUFDTCxDQUVBOztPQUdPVSxJQUFJQSxDQUFBLEVBQUEzRCxjQUFBLEdBQUF3QixDQUFBLE1BQUF4QixjQUFBLEdBQUF5QixDQUFBLE9BQ1AsSUFBSSxDQUFDbUMsZUFBZSxDQUFDLElBQUksQ0FBQ2pDLFNBQVMsQ0FBQyxDQUFDM0IsY0FBQSxHQUFBeUIsQ0FBQSxPQUNyQyxJQUFJLENBQUNLLE1BQU0sQ0FBRyxJQUFJLENBQ3RCLENBRUE7O09BR08rQixNQUFNQSxDQUFBLEVBQUE3RCxjQUFBLEdBQUF3QixDQUFBLE1BQUF4QixjQUFBLEdBQUF5QixDQUFBLE9BQ1QsR0FBSSxJQUFJLENBQUNLLE1BQU0sQ0FBRSxDQUFBOUIsY0FBQSxHQUFBaUQsQ0FBQSxTQUFBakQsY0FBQSxHQUFBeUIsQ0FBQSxPQUNiLElBQUksQ0FBQ2dCLEtBQUssRUFBRSxDLENBQ2YsSUFBTSxDQUFBekMsY0FBQSxHQUFBaUQsQ0FBQSxTQUFBakQsY0FBQSxHQUFBeUIsQ0FBQSxPQUNILElBQUksQ0FBQ2tDLElBQUksRUFBRSxDLENBRW5CLENBRUE7QUFFQTtBQUVBOztPQUdVdkIsYUFBYUEsQ0FBQSxFQUFBcEMsY0FBQSxHQUFBd0IsQ0FBQSxPQUNuQixLQUFNLENBQUE2QixNQUFNLEVBQUFyRCxjQUFBLEdBQUF5QixDQUFBLE9BQStCLENBQUF6QixjQUFBLEdBQUFpRCxDQUFBLGFBQUksQ0FBQ0ssT0FBTyxJQUFBdEQsY0FBQSxHQUFBaUQsQ0FBQSxTQUFJLElBQUksQ0FBQ00sZUFBZSxHQUFDdkQsY0FBQSxHQUFBeUIsQ0FBQSxPQUVoRixHQUFJLENBQUF6QixjQUFBLEdBQUFpRCxDQUFBLFNBQUFJLE1BQU0sSUFBQXJELGNBQUEsR0FBQWlELENBQUEsU0FBSSxJQUFJLENBQUNPLEtBQUssRUFBRSxDQUFBeEQsY0FBQSxHQUFBaUQsQ0FBQSxTQUFBakQsY0FBQSxHQUFBeUIsQ0FBQSxPQUN0QnBCLGdCQUFnQixDQUNaZ0QsTUFBTSxDQUFDSSxhQUFhLENBQ3BCLENBQUF6RCxjQUFBLEdBQUFpRCxDQUFBLGFBQUksQ0FBQ3ZCLGFBQWEsSUFBQTFCLGNBQUEsR0FBQWlELENBQUEsU0FBSSxJQUFJLENBQUNPLEtBQUssQ0FBQ0MsYUFBYSxFQUM5QyxJQUFJLENBQUN6QixTQUFTLENBQ2QsSUFBSSxDQUFDTCxTQUFTLEdBQUssTUFBTSxDQUM1QixDLENBQ0osS0FBQTNCLGNBQUEsR0FBQWlELENBQUEsVUFDTCxDQUVBO0FBRUE7QUFFQTs7OztPQUtRVyxlQUFlQSxDQUFDakMsU0FBQSxFQUFBM0IsY0FBQSxHQUFBaUQsQ0FBQSxTQUEyQixJQUFJLEdBQUFqRCxjQUFBLEdBQUF3QixDQUFBLE9BQUF4QixjQUFBLEdBQUF5QixDQUFBLE9BQ25EO0FBQ0EsSUFBSSxDQUFDaUIsZUFBZSxFQUFFLENBQUMxQyxjQUFBLEdBQUF5QixDQUFBLE9BRXZCLEdBQUlFLFNBQVMsR0FBSyxNQUFNLENBQUUsQ0FBQTNCLGNBQUEsR0FBQWlELENBQUEsVUFDdEIsS0FBTSxDQUFBM0IsUUFBUSxFQUFBdEIsY0FBQSxHQUFBeUIsQ0FBQSxPQUFHLElBQUksQ0FBQ0gsUUFBUSxFQUM5QixLQUFNLENBQUF3QyxtQkFBbUIsRUFBQTlELGNBQUEsR0FBQXlCLENBQUEsT0FBRyxJQUFJLENBQUMrQixLQUFLLENBQUNDLGFBQWEsRUFDcEQsS0FBTSxDQUFBL0IsYUFBYSxFQUFBMUIsY0FBQSxHQUFBeUIsQ0FBQSxPQUFJLElBQUksQ0FBQ0MsYUFBYSxDQUFHLENBQUExQixjQUFBLEdBQUFpRCxDQUFBLGNBQUksQ0FBQ3ZCLGFBQWEsSUFBQTFCLGNBQUEsR0FBQWlELENBQUEsVUFBSTNCLFFBQVEsQ0FBQ3lDLGFBQWEsQ0FBQyxLQUFLLENBQUMsRUFBQyxDQUVoRztBQUFBL0QsY0FBQSxHQUFBeUIsQ0FBQSxPQUNBSCxRQUFRLENBQUMwQyxRQUFRLENBQUN0QyxhQUFhLENBQUUsVUFBVSxDQUFFLFVBQVUsQ0FBQyxDQUFDMUIsY0FBQSxHQUFBeUIsQ0FBQSxPQUN6REgsUUFBUSxDQUFDMEMsUUFBUSxDQUFDRixtQkFBbUIsQ0FBRSxVQUFVLENBQUUsUUFBUSxDQUFDLENBQUM5RCxjQUFBLEdBQUF5QixDQUFBLE9BQzdESCxRQUFRLENBQUMwQyxRQUFRLENBQUN0QyxhQUFhLENBQUUsU0FBUyxDQUFFLE1BQU0sQ0FBQyxDQUFDMUIsY0FBQSxHQUFBeUIsQ0FBQSxPQUVwREgsUUFBUSxDQUFDMkMsV0FBVyxDQUFDdkMsYUFBYSxDQUFFb0MsbUJBQW1CLENBQUMsQ0FBQzlELGNBQUEsR0FBQXlCLENBQUEsT0FDekRILFFBQVEsQ0FBQzJDLFdBQVcsQ0FBQyxJQUFJLENBQUM5QyxRQUFRLENBQUMrQyxJQUFJLENBQUV4QyxhQUFhLENBQUMsQyxDQUMxRCxLQUFBMUIsY0FBQSxHQUFBaUQsQ0FBQSxXQUNMLENBRUE7O09BR1FQLGVBQWVBLENBQUEsRUFBQTFDLGNBQUEsR0FBQXdCLENBQUEsT0FDbkIsS0FBTSxDQUFBRixRQUFRLEVBQUF0QixjQUFBLEdBQUF5QixDQUFBLE9BQUcsSUFBSSxDQUFDSCxRQUFRLEVBQUN0QixjQUFBLEdBQUF5QixDQUFBLE9BQy9CLEdBQUksSUFBSSxDQUFDK0IsS0FBSyxDQUFFLENBQUF4RCxjQUFBLEdBQUFpRCxDQUFBLFVBQ1osS0FBTSxDQUFBa0IsZUFBZSxFQUFBbkUsY0FBQSxHQUFBeUIsQ0FBQSxPQUFHLElBQUksQ0FBQ0osVUFBVSxDQUFDb0MsYUFBYSxFQUNyRCxLQUFNLENBQUFLLG1CQUFtQixFQUFBOUQsY0FBQSxHQUFBeUIsQ0FBQSxPQUFHLElBQUksQ0FBQytCLEtBQUssQ0FBQ0MsYUFBYSxFQUFDekQsY0FBQSxHQUFBeUIsQ0FBQSxPQUVyREgsUUFBUSxDQUFDMkMsV0FBVyxDQUFDRSxlQUFlLENBQUVMLG1CQUFtQixDQUFDLENBQUM5RCxjQUFBLEdBQUF5QixDQUFBLE9BQzNESCxRQUFRLENBQUM4QyxXQUFXLENBQUNOLG1CQUFtQixDQUFFLFVBQVUsQ0FBQyxDQUFDOUQsY0FBQSxHQUFBeUIsQ0FBQSxPQUN0REgsUUFBUSxDQUFDOEMsV0FBVyxDQUFDTixtQkFBbUIsQ0FBRSxXQUFXLENBQUMsQyxDQUN6RCxLQUFBOUQsY0FBQSxHQUFBaUQsQ0FBQSxXQUFBakQsY0FBQSxHQUFBeUIsQ0FBQSxPQUNELEdBQUksSUFBSSxDQUFDQyxhQUFhLENBQUUsQ0FBQTFCLGNBQUEsR0FBQWlELENBQUEsVUFBQWpELGNBQUEsR0FBQXlCLENBQUEsT0FDcEJILFFBQVEsQ0FBQytDLFdBQVcsQ0FBQyxJQUFJLENBQUNsRCxRQUFRLENBQUMrQyxJQUFJLENBQUUsSUFBSSxDQUFDeEMsYUFBYSxDQUFDLENBQUMxQixjQUFBLEdBQUF5QixDQUFBLE9BQzdELElBQUksQ0FBQ0MsYUFBYSxDQUFHLElBQUksQyxDQUM1QixLQUFBMUIsY0FBQSxHQUFBaUQsQ0FBQSxXQUNMLEMsd0hBcFFTaEMsb0JBQW9CLENBQUFxRCxJQUFBLEdBQUFDLEtBQUEsQ0EwR2pCOUQsUUFBUSxHQUFBOEQsS0FBQSxDQUFBQyxFQUFBLENBQUFDLE1BQUEsR0FBQUYsS0FBQSxDQUFBQyxFQUFBLENBQUFFLFVBQUEsR0FBQUgsS0FBQSxDQUFBQyxFQUFBLENBQUFHLFNBQUEsR0FBQUosS0FBQSxDQUFBQyxFQUFBLENBQUFJLFFBQUEsR0FBQUMsTUFBQSxDQUFBTCxFQUFBLENBQUFNLGVBQUEsQ0FBQWxFLFNBQUEsSSw4R0ExR1hLLG9CQUFvQixDQUFBOEQsTUFBQSxFQUFBQyxjQUFBLGtCQUFBckQsU0FBQSxhQUFBQyxRQUFBLFlBQUFDLGFBQUEsaUJBQUFDLE1BQUEsVUFBQUMsSUFBQSxRQUFBQyxTQUFBLGNBQUFpRCxJQUFBLEVBQUFDLFNBQUEsOENBQUFDLE9BQUEsR0FBQUMsWUFBQSxtQkFBQUMsS0FBQSxNQUFBQyxTQUFBLENBWWZoRiwwQkFBMEIsQ0FBQWlGLFdBQUEsUUFBQUgsWUFBQSxhQUFBRSxTQUFBLENBeUR2QjlFLHdCQUF3QixHQUFBZ0YsV0FBQSxHQUFBSixZQUFBLFdBQUFDLEtBQUEsTUFBQUMsU0FBQSxDQS9EOUJoRiwwQkFBMEIsQ0FBQWlGLFdBQUEsUUFBQUgsWUFBQSxTQUFBQyxLQUFBLE1BQUFDLFNBQUEsQ0FZMUIvRSw4QkFBOEIsQ0FBQWdGLFdBQUEsUUFBQUUsUUFBQSxDQUFBakIsRUFBQSxJLFFBbEJoQ3ZELG9CQUFvQixFQUFBakIsY0FBQSxHQUFBeUIsQ0FBQSxPLG9GQUFwQlIsb0JBQW9CLENBQUF5RSxVQUFBLEcsS0FEaEM5RSxTLHdIQTJHUUUsTUFBTSxDLE1BQUNMLFFBQVEsQyxvR0FuR0g2QyxPQUFPLEcsS0FEdkJ0QyxTQUFTLEMsTUFBQ1YsMEJBQTBCLENBQUUsQ0FBRXFGLE1BQU0sQ0FBRSxLQUFLLENBQUUsQyxHQU92Q3BDLGVBQWUsRyxLQUQvQjdDLFlBQVksQyxNQUFDSiwwQkFBMEIsQ0FBRSxDQUFFcUYsTUFBTSxDQUFFLEtBQUssQ0FBRSxDLEdBTzFDbkMsS0FBSyxHLEtBRHJCeEMsU0FBUyxDLE1BQUNULDhCQUE4QixDQUFFLENBQUVvRixNQUFNLENBQUUsS0FBSyxDQUFFLEMsR0FzQnJEWCxjQUFjLEcsS0FEcEJqRSxLLEdBT01ZLFNBQVMsRyxLQURmWixLLEdBT01hLFFBQVEsRyxLQURkYixLLEdBT01jLGFBQWEsRyxLQURuQmQsSyxHQU9NZSxNQUFNLEcsS0FEWmYsSyxHQU9NNkIsU0FBUyxHLEtBRGZqQyxlQUFlLEMsTUFBQ0gsd0JBQXdCLEMsR0FPbEN1QixJQUFJLEcsS0FEVmhCLEssR0FnQmVpQixTQUFTLEcsS0FBeEJqQixLLEdBeUVNb0MsT0FBTyxHLEtBSmJ0QyxZQUFZLEMsTUFBQyxnQkFBZ0IsQ0FBRSxDQUFDLGVBQWUsQ0FBQyxDIiwiaWdub3JlTGlzdCI6W119