mapa-library-ui 0.77.3 → 0.77.5

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 (32) hide show
  1. package/esm2020/src/lib/components/capability/lib/components/dropdown/src/dropdown.component.mjs +3 -3
  2. package/esm2020/src/lib/components/chart/lib/components/dropdown/src/dropdown.component.mjs +3 -3
  3. package/esm2020/src/lib/components/dropdown/lib/components/dropdown/src/dropdown.component.mjs +3 -3
  4. package/esm2020/src/lib/components/dropdown/lib/components/dropdown-tree/src/dropdown.component.mjs +1 -2
  5. package/esm2020/src/lib/components/dropdown-tree/lib/components/dropdown/src/dropdown.component.mjs +3 -3
  6. package/esm2020/src/lib/components/dropdown-tree/lib/components/dropdown-tree/src/dropdown.component.mjs +1 -2
  7. package/esm2020/src/lib/components/group-report/lib/components/dropdown/src/dropdown.component.mjs +3 -3
  8. package/esm2020/src/lib/components/scale/lib/components/dropdown/src/dropdown.component.mjs +3 -3
  9. package/esm2020/src/lib/components/scale-parameterization/lib/components/dropdown/src/dropdown.component.mjs +3 -3
  10. package/fesm2015/mapa-library-ui-src-lib-components-capability.mjs +2 -2
  11. package/fesm2015/mapa-library-ui-src-lib-components-capability.mjs.map +1 -1
  12. package/fesm2015/mapa-library-ui-src-lib-components-chart.mjs +2 -2
  13. package/fesm2015/mapa-library-ui-src-lib-components-chart.mjs.map +1 -1
  14. package/fesm2015/mapa-library-ui-src-lib-components-dropdown-tree.mjs +2 -3
  15. package/fesm2015/mapa-library-ui-src-lib-components-dropdown-tree.mjs.map +1 -1
  16. package/fesm2015/mapa-library-ui-src-lib-components-dropdown.mjs +2 -3
  17. package/fesm2015/mapa-library-ui-src-lib-components-dropdown.mjs.map +1 -1
  18. package/fesm2015/mapa-library-ui-src-lib-components-scale-parameterization.mjs +2 -2
  19. package/fesm2015/mapa-library-ui-src-lib-components-scale-parameterization.mjs.map +1 -1
  20. package/fesm2020/mapa-library-ui-src-lib-components-capability.mjs +2 -2
  21. package/fesm2020/mapa-library-ui-src-lib-components-capability.mjs.map +1 -1
  22. package/fesm2020/mapa-library-ui-src-lib-components-chart.mjs +2 -2
  23. package/fesm2020/mapa-library-ui-src-lib-components-chart.mjs.map +1 -1
  24. package/fesm2020/mapa-library-ui-src-lib-components-dropdown-tree.mjs +2 -3
  25. package/fesm2020/mapa-library-ui-src-lib-components-dropdown-tree.mjs.map +1 -1
  26. package/fesm2020/mapa-library-ui-src-lib-components-dropdown.mjs +2 -3
  27. package/fesm2020/mapa-library-ui-src-lib-components-dropdown.mjs.map +1 -1
  28. package/fesm2020/mapa-library-ui-src-lib-components-scale-parameterization.mjs +2 -2
  29. package/fesm2020/mapa-library-ui-src-lib-components-scale-parameterization.mjs.map +1 -1
  30. package/mapa-library-ui-0.77.5.tgz +0 -0
  31. package/package.json +1 -1
  32. package/mapa-library-ui-0.77.3.tgz +0 -0
@@ -39,7 +39,8 @@ export class MapaDropdownComponent {
39
39
  }
40
40
  }
41
41
  ngOnChanges(changes) {
42
- if (changes["element"].previousValue?.controlType === "dropdown" &&
42
+ if (changes['element'].previousValue !== undefined &&
43
+ changes["element"].previousValue?.controlType === "dropdown" &&
43
44
  changes["element"].previousValue?.options !== changes["element"].currentValue?.options) {
44
45
  this.element.options = changes["element"].currentValue.options;
45
46
  this.setOptions();
@@ -101,7 +102,6 @@ export class MapaDropdownComponent {
101
102
  .normalize('NFD')
102
103
  .replace(/[\u0300-\u036f]/g, "")
103
104
  .toLowerCase();
104
- console.log(normalizedValue);
105
105
  return normalizedValue;
106
106
  }
107
107
  triggerOpenedChange(event) {
@@ -189,4 +189,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
189
189
  type: ViewChild,
190
190
  args: ["dropdown", { static: true }]
191
191
  }] } });
192
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUlMLE1BQU0sRUFFTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBS3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7O0FBY2hELE1BQU0sT0FBTyxxQkFBcUI7SUF1QmhDLElBQUksZUFBZTtRQUNqQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDNUMsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVEO1FBdkJVLGlCQUFZLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFJN0Qsb0JBQWUsR0FBbUMsSUFBSSxhQUFhLENBRXhFLENBQUMsQ0FBQyxDQUFDO1FBQ0UsbUJBQWMsR0FBa0MsSUFBSSxhQUFhLENBRXRFLENBQUMsQ0FBQyxDQUFDO1FBQ0sseUJBQW9CLEdBQW9CLEVBQUUsQ0FBQztRQUMzQyx1QkFB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TztRQUN4QixPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUNsRCxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBVTtRQUNuQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQzs7bUhBdE1VLHFCQUFxQjt1R0FBckIscUJBQXFCLCtWQ2hDbEMsazNKQXFJQTs0RkRyR2EscUJBQXFCO2tCQU5qQyxTQUFTOytCQUNFLGVBQWUsaUJBR1YsaUJBQWlCLENBQUMsSUFBSTswRUFHNUIsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDSSxZQUFZO3NCQUFyQixNQUFNO2dCQUVrQyxRQUFRO3NCQUFoRCxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5cbmltcG9ydCB7IE1hdFNlbGVjdCB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3RcIjtcblxuaW1wb3J0IHsgUmVwbGF5U3ViamVjdCB9IGZyb20gXCJyeGpzL2ludGVybmFsL1JlcGxheVN1YmplY3RcIjtcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqcy9pbnRlcm5hbC9TdWJqZWN0XCI7XG4vL2ltcG9ydCB7IHRha2UsIHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuXG5pbXBvcnQgeyBFbGVtZW50T3B0aW9uIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvaW50ZXJmYWNlcy9lbGVtZW50LW9wdGlvbi5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IERyb3Bkb3duIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvZWxlbWVudHMvZHJvcGRvd25cIjtcbmltcG9ydCB7IEVsZW1lbnRHcm91cCB9IGZyb20gXCIuLi8uLi8uLi9jb3JlL2ludGVyZmFjZXMvZWxlbWVudC1ncm91cC5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IE1hdENoZWNrYm94Q2hhbmdlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJtYXBhLWRyb3Bkb3duXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vZHJvcGRvd24uY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL2Ryb3Bkb3duLmNvbXBvbmVudC5zY3NzXCJdLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBNYXBhRHJvcGRvd25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgZm9ybUNvbnRyb2whOiBGb3JtQ29udHJvbDtcbiAgQElucHV0KCkgZm9ybUNvbnRyb2xTZWFyY2ghOiBGb3JtQ29udHJvbDtcbiAgQElucHV0KCkgZWxlbWVudCE6IERyb3Bkb3duO1xuICBASW5wdXQoKSBib3JkZXI6IFwic29mdFwiIHwgXCJ0YWdcIiB8IFwiaGlnaGxpZ2h0XCIgfCBudWxsIHwgdW5kZWZpbmVkO1xuICBAT3V0cHV0KCkgb3BlbmVkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIEBWaWV3Q2hpbGQoXCJkcm9wZG93blwiLCB7IHN0YXRpYzogdHJ1ZSB9KSBkcm9wZG93biE6IE1hdFNlbGVjdDtcblxuICBwdWJsaWMgZmlsdGVyZWRPcHRpb25zOiBSZXBsYXlTdWJqZWN0PEVsZW1lbnRPcHRpb25bXT4gPSBuZXcgUmVwbGF5U3ViamVjdDxcbiAgICBFbGVtZW50T3B0aW9uW11cbiAgPigxKTtcbiAgcHVibGljIGZpbHRlcmVkR3JvdXBzOiBSZXBsYXlTdWJqZWN0PEVsZW1lbnRHcm91cFtdPiA9IG5ldyBSZXBsYXlTdWJqZWN0PFxuICAgIEVsZW1lbnRHcm91cFtdXG4gID4oMSk7XG4gIHByb3RlY3RlZCBmaWx0ZXJlZE9wdGlvbnNDYWNoZTogRWxlbWVudE9wdGlvbltdID0gW107XG4gIHByb3RlY3RlZCBmaWx0ZXJlZEdyb3VwQ2FjaGU6IEVsZW1lbnRHcm91cFtdID0gW107XG4gIHByb3RlY3RlZCBfb25EZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBpc0luZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgaXNDaGVja2VkID0gZmFsc2U7XG4gIGlzT3B0aW9uc0dyb3VwID0gZmFsc2U7XG5cbiAgZ2V0IHNlbGVjdGVkT3B0aW9ucygpIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZm9ybUNvbnRyb2w/LnZhbHVlIHx8IFtdO1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW3ZhbHVlXTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZXRPcHRpb25zKCk7XG5cbiAgICBpZiAodGhpcy5lbGVtZW50LnNlYXJjaCkge1xuICAgICAgdGhpcy5lbGVtZW50LnNlYXJjaC5mb3JtQ29udHJvbD8udmFsdWVDaGFuZ2VzXG4gICAgICAgIC8vLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuZmlsdGVyT3B0aW9ucygpO1xuICAgICAgICAgIHRoaXMuc2V0VG9nZ2xlQWxsQ2hlY2tib3hTdGF0ZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgY2hhbmdlc1tcImVsZW1lbnRcIl0ucHJldmlvdXNWYWx1ZT8uY29udHJvbFR5cGUgPT09IFwiZHJvcGRvd25cIiAmJlxuICAgICAgY2hhbmdlc1tcImVsZW1lbnRcIl0ucHJldmlvdXNWYWx1ZT8ub3B0aW9ucyAhPT0gY2hhbmdlc1tcImVsZW1lbnRcIl0uY3VycmVudFZhbHVlPy5vcHRpb25zXG4gICAgKSB7XG4gICAgICB0aGlzLmVsZW1lbnQub3B0aW9ucyA9IGNoYW5nZXNbXCJlbGVtZW50XCJdLmN1cnJlbnRWYWx1ZS5vcHRpb25zO1xuICAgICAgdGhpcy5zZXRPcHRpb25zKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fb25EZXN0cm95Lm5leHQoKTtcbiAgICB0aGlzLl9vbkRlc3Ryb3kuY29tcGxldGUoKTtcbiAgfVxuXG4gIHNldE9wdGlvbnMoKTogdm9pZCB7XG4gICAgdGhpcy5pc09wdGlvbnNHcm91cCA9IHRoaXMuaXNFbGVtZW50R3JvdXAodGhpcy5lbGVtZW50Lm9wdGlvbnNbMF0pO1xuXG4gICAgaWYgKHRoaXMuaXNPcHRpb25zR3JvdXApIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRHcm91cENhY2hlID0gKHRoaXMuZWxlbWVudFxuICAgICAgICAub3B0aW9ucyBhcyBFbGVtZW50R3JvdXBbXSkuc2xpY2UoKTtcbiAgICAgIHRoaXMuZmlsdGVyZWRHcm91cHMubmV4dCh0aGlzLmZpbHRlcmVkR3JvdXBDYWNoZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUgPSAodGhpcy5lbGVtZW50XG4gICAgICAgIC5vcHRpb25zIGFzIEVsZW1lbnRPcHRpb25bXSkuc2xpY2UoKTtcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zLm5leHQodGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGZpbHRlck9wdGlvbnNGcm9tR3JvdXAoXG4gICAgZ3JvdXA6IEVsZW1lbnRHcm91cCxcbiAgICB2YWx1ZTogc3RyaW5nXG4gICk6IEVsZW1lbnRPcHRpb25bXSB7XG4gICAgY29uc3QgZmlsdGVyVmFsdWUgPSB0aGlzLm5vcm1hbGl6ZVZhbHVlKHZhbHVlKTtcblxuICAgIHJldHVybiB0aGlzLm5vcm1hbGl6ZVZhbHVlKGdyb3VwLmxhYmVsKS5pbmNsdWRlcyhmaWx0ZXJWYWx1ZSlcbiAgICAgID8gZ3JvdXAub3B0aW9uc1xuICAgICAgOiBncm91cC5vcHRpb25zLmZpbHRlcigoaXRlbSkgPT5cbiAgICAgICAgdGhpcy5ub3JtYWxpemVWYWx1ZShpdGVtLnZhbHVlKS5pbmNsdWRlcyhmaWx0ZXJWYWx1ZSlcbiAgICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZmlsdGVyT3B0aW9ucygpIHtcbiAgICBpZiAoIXRoaXMuZWxlbWVudC5vcHRpb25zKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIGdldCB0aGUgc2VhcmNoIGtleXdvcmRcbiAgICBsZXQgc2VhcmNoID0gdGhpcy5ub3JtYWxpemVWYWx1ZSh0aGlzLmVsZW1lbnQuc2VhcmNoPy5mb3JtQ29udHJvbD8udmFsdWUpO1xuXG4gICAgaWYgKHRoaXMuaXNPcHRpb25zR3JvdXApIHtcbiAgICAgIGNvbnN0IGdyb3VwcyA9IHRoaXMuZWxlbWVudC5vcHRpb25zIGFzIEVsZW1lbnRHcm91cFtdO1xuICAgICAgdGhpcy5maWx0ZXJlZEdyb3VwQ2FjaGUgPSBncm91cHNcbiAgICAgICAgLm1hcCgoZ3JvdXA6IEVsZW1lbnRHcm91cCkgPT4gKHtcbiAgICAgICAgICBsYWJlbDogZ3JvdXAubGFiZWwsXG4gICAgICAgICAgb3B0aW9uczogdGhpcy5maWx0ZXJPcHRpb25zRnJvbUdyb3VwKGdyb3VwLCBzZWFyY2gpLFxuICAgICAgICB9KSlcbiAgICAgICAgLmZpbHRlcigoZ3JvdXApID0+IGdyb3VwLm9wdGlvbnMubGVuZ3RoID4gMCk7XG4gICAgICB0aGlzLmZpbHRlcmVkR3JvdXBzLm5leHQodGhpcy5maWx0ZXJlZEdyb3VwQ2FjaGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBvcHRpb25zID0gdGhpcy5lbGVtZW50Lm9wdGlvbnMgYXMgRWxlbWVudE9wdGlvbltdO1xuICAgICAgaWYgKCFzZWFyY2gpIHtcbiAgICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZSA9IG9wdGlvbnMuc2xpY2UoKTtcbiAgICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMubmV4dCh0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgLy8gZmlsdGVyIHRoZSBvcHRpb25zXG4gICAgICB0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlID0gb3B0aW9ucy5maWx0ZXIoXG4gICAgICAgIChvcHRpb246IEVsZW1lbnRPcHRpb24pID0+XG4gICAgICAgICAgdGhpcy5ub3JtYWxpemVWYWx1ZShvcHRpb24udmFsdWUpLmluZGV4T2Yoc2VhcmNoKSA+IC0xXG4gICAgICApO1xuICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMubmV4dCh0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlKTtcbiAgICB9XG4gIH1cblxuICBub3JtYWxpemVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBub3JtYWxpemVkVmFsdWUgPSB2YWx1ZVxuICAgICAgLm5vcm1hbGl6ZSgnTkZEJylcbiAgICAgIC5yZXBsYWNlKC9bXFx1MDMwMC1cXHUwMzZmXS9nLCBcIlwiKVxuICAgICAgLnRvTG93ZXJDYXNlKCk7XG4gICAgY29uc29sZS5sb2cobm9ybWFsaXplZFZhbHVlKTtcbiAgICByZXR1cm4gbm9ybWFsaXplZFZhbHVlO1xuICB9XG5cbiAgdHJpZ2dlck9wZW5lZENoYW5nZShldmVudDogYW55KSB7XG4gICAgdGhpcy5vcGVuZWRDaGFuZ2UuZW1pdChldmVudCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0VG9nZ2xlQWxsQ2hlY2tib3hTdGF0ZSgpIHtcbiAgICBsZXQgZmlsdGVyZWRMZW5ndGggPSAwO1xuICAgIGxldCBzZWFyY2ggPSB0aGlzLmVsZW1lbnQuc2VhcmNoPy5mb3JtQ29udHJvbD8udmFsdWU7XG5cbiAgICBpZiAoc2VhcmNoICYmIHNlYXJjaC52YWx1ZSkge1xuICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZS5mb3JFYWNoKChlbCkgPT4ge1xuICAgICAgICBpZiAoc2VhcmNoLnZhbHVlLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihlbCkgPiAtMSkge1xuICAgICAgICAgIGZpbHRlcmVkTGVuZ3RoKys7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgdGhpcy5pc0luZGV0ZXJtaW5hdGUgPVxuICAgICAgICBmaWx0ZXJlZExlbmd0aCA+IDAgJiYgZmlsdGVyZWRMZW5ndGggPCB0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlLmxlbmd0aDtcbiAgICAgIHRoaXMuaXNDaGVja2VkID1cbiAgICAgICAgZmlsdGVyZWRMZW5ndGggPiAwICYmXG4gICAgICAgIGZpbHRlcmVkTGVuZ3RoID09PSB0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlLmxlbmd0aDtcbiAgICB9XG4gIH1cblxuICB0b2dnbGVTZWxlY3RBbGwoZXZlbnQ6IE1hdENoZWNrYm94Q2hhbmdlKSB7XG4gICAgY29uc3Qgc2VsZWN0QWxsVmFsdWUgPSBldmVudC5jaGVja2VkO1xuICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zLnN1YnNjcmliZSgob3B0aW9uczogRWxlbWVudE9wdGlvbltdKSA9PiB7XG4gICAgICBpZiAoc2VsZWN0QWxsVmFsdWUpIHtcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbD8ucGF0Y2hWYWx1ZShvcHRpb25zKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZm9ybUNvbnRyb2w/LnBhdGNoVmFsdWUoW10pO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuZmlsdGVyZWRHcm91cHMuc3Vic2NyaWJlKChncm91cHM6IEVsZW1lbnRHcm91cFtdKSA9PiB7XG4gICAgICBpZiAoc2VsZWN0QWxsVmFsdWUpIHtcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbD8ucGF0Y2hWYWx1ZShcbiAgICAgICAgICBncm91cHMubWFwKChncm91cDogRWxlbWVudEdyb3VwKSA9PiBncm91cC5vcHRpb25zKVxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbD8ucGF0Y2hWYWx1ZShbXSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICB0b2dnbGVTZWxlY3Rpb24oY2hhbmdlOiBNYXRDaGVja2JveENoYW5nZSk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2UuY2hlY2tlZCkge1xuICAgICAgdGhpcy5mb3JtQ29udHJvbD8uc2V0VmFsdWUodGhpcy5maWx0ZXJlZE9wdGlvbnMpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZvcm1Db250cm9sPy5zZXRWYWx1ZShbXSk7XG4gICAgfVxuICB9XG5cbiAgaXNFbGVtZW50R3JvdXAob2JqZWN0OiBFbGVtZW50R3JvdXAgfCBFbGVtZW50T3B0aW9uKTogb2JqZWN0IGlzIEVsZW1lbnRHcm91cCB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIChvYmplY3QgYXMgRWxlbWVudEdyb3VwKS5sYWJlbCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgIChvYmplY3QgYXMgRWxlbWVudEdyb3VwKS5vcHRpb25zICE9PSB1bmRlZmluZWRcbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBhcmVGbihjMTogYW55LCBjMjogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGMxICYmIGMyID8gYzEua2V5ID09PSBjMi5rZXkgOiBjMSA9PT0gYzI7XG4gIH1cblxuICBoYXNWYWx1ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmZvcm1Db250cm9sLnZhbHVlO1xuICB9XG5cbiAgY2xlYXJWYWx1ZShldmVudDogYW55KTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZShudWxsKTtcbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cImVsZW1lbnRcIj5cbiAgPGxhYmVsICpuZ0lmPVwiZWxlbWVudC5sYWJlbFwiIGNsYXNzPVwibWFwYS1kcm9wZG93bl9fbGFiZWxcIj5cbiAgICB7eyBlbGVtZW50LmxhYmVsIH19XG4gIDwvbGFiZWw+XG4gIDxkaXYgY2xhc3M9XCJtYXBhLWZvcm0tLWlubGluZVwiPlxuICAgIDxtYXQtZm9ybS1maWVsZFxuICAgICAgYXBwZWFyYW5jZT1cIm91dGxpbmVcIlxuICAgICAgY2xhc3M9XCJtYXBhLWRyb3Bkb3duXCJcbiAgICAgIFtjbGFzcy5tYXBhLWRyb3Bkb3duLS1oaWdobGlnaHRdPVwiYm9yZGVyID09PSAnaGlnaGxpZ2h0J1wiXG4gICAgICBbY2xhc3MubWFwYS1kcm9wZG93bi0tc29mdC1ib3JkZXJdPVwiYm9yZGVyID09PSAnc29mdCdcIlxuICAgICAgW2NsYXNzLm1hcGEtZHJvcGRvd24tLXRhZ109XCJib3JkZXIgPT09ICd0YWcnXCJcbiAgICAgIFtjbGFzcy5tYXBhLWRyb3Bkb3duLS1sYWJlbGVkXT1cIiEhZWxlbWVudC5sYWJlbFwiXG4gICAgPlxuICAgICAgPG1hdC1zZWxlY3RcbiAgICAgICAgI2Ryb3Bkb3duXG4gICAgICAgIG5nRGVmYXVsdENvbnRyb2xcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICAgICAgW211bHRpcGxlXT1cImVsZW1lbnQubXVsdGlwbGVcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZWxlbWVudC5wbGFjZWhvbGRlciB8fCAnJ1wiXG4gICAgICAgIFtjb21wYXJlV2l0aF09XCJjb21wYXJlRm5cIlxuICAgICAgICAob3BlbmVkQ2hhbmdlKT1cInRyaWdnZXJPcGVuZWRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0lmPVwiZWxlbWVudC5zZWFyY2hcIiBjbGFzcz1cIm1hcGEtZHJvcGRvd25fX3NlYXJjaFwiPlxuICAgICAgICAgIDxuZ3gtbWF0LXNlbGVjdC1zZWFyY2hcbiAgICAgICAgICAgICpuZ0lmPVwiZWxlbWVudC5zZWFyY2guZm9ybUNvbnRyb2xcIlxuICAgICAgICAgICAgW3Nob3dUb2dnbGVBbGxDaGVja2JveF09XCJlbGVtZW50LnNlYXJjaC50b2dnbGVBbGxDaGVja2JveCFcIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImVsZW1lbnQuc2VhcmNoLmZvcm1Db250cm9sXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlckxhYmVsXT1cImVsZW1lbnQuc2VhcmNoLnBsYWNlaG9sZGVyIHx8ICcnXCJcbiAgICAgICAgICAgIGkxOG4tcGxhY2Vob2xkZXJMYWJlbFxuICAgICAgICAgICAgW25vRW50cmllc0ZvdW5kTGFiZWxdPVwiZWxlbWVudC5zZWFyY2gubm9FbnRyaWVzRm91bmRMYWJlbCB8fCAnJ1wiXG4gICAgICAgICAgPjwvbmd4LW1hdC1zZWxlY3Qtc2VhcmNoPlxuICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICAgKm5nSWY9XCJlbGVtZW50Lm11bHRpcGxlXCJcbiAgICAgICAgICBjbGFzcz1cIm1hcGEtZHJvcGRvd25fX29wdGlvbi0tc2VsZWN0LWFsbFwiXG4gICAgICAgID5cbiAgICAgICAgICA8bWF0LWNoZWNrYm94XG4gICAgICAgICAgICBjbGFzcz1cIm1hdC1vcHRpb25cIlxuICAgICAgICAgICAgW2luZGV0ZXJtaW5hdGVdPVwiaXNJbmRldGVybWluYXRlXCJcbiAgICAgICAgICAgIFtjaGVja2VkXT1cImlzQ2hlY2tlZFwiXG4gICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwidG9nZ2xlU2VsZWN0QWxsKCRldmVudClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIFNlbGVjaW9uYXIgdG9kb3NcbiAgICAgICAgICA8L21hdC1jaGVja2JveD5cbiAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNPcHRpb25zR3JvdXA7IGVsc2UgaXNFbGVtZW50T3B0aW9uc1wiPlxuICAgICAgICAgIDxtYXQtb3B0Z3JvdXBcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBncm91cCBvZiBmaWx0ZXJlZEdyb3VwcyB8IGFzeW5jXCJcbiAgICAgICAgICAgIFtsYWJlbF09XCJncm91cC5sYWJlbFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBncm91cC5vcHRpb25zXCJcbiAgICAgICAgICAgICAgW3ZhbHVlXT1cIm9wdGlvblwiXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIltcbiAgICAgICAgICAgICAgICAnbWFwYS1kcm9wZG93bl9fb3B0aW9uLS1jaGlsZHJlbi1sZXZlbC0nICsgb3B0aW9uLmNoaWxkcmVuTGV2ZWxcbiAgICAgICAgICAgICAgXVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwib3B0aW9uLnZhbHVlXCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgIDwvbWF0LW9wdGdyb3VwPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNpc0VsZW1lbnRPcHRpb25zPlxuICAgICAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGZpbHRlcmVkT3B0aW9ucyB8IGFzeW5jXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJvcHRpb25cIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiW1xuICAgICAgICAgICAgICAnbWFwYS1kcm9wZG93bl9fb3B0aW9uIG1hcGEtZHJvcGRvd25fX29wdGlvbi0tY2hpbGRyZW4tbGV2ZWwtJyArIG9wdGlvbi5jaGlsZHJlbkxldmVsXG4gICAgICAgICAgICBdXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hcGEtZHJvcGRvd25fX29wdGlvbi12YWx1ZVwiIFtpbm5lckhUTUxdPVwib3B0aW9uLnZhbHVlXCI+PC9zcGFuPlxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICA8bWF0LW9wdGlvblxuICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygc2VsZWN0ZWRPcHRpb25zXCJcbiAgICAgICAgICBoaWRkZW5cbiAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJbXG4gICAgICAgICAgICAnbWFwYS1kcm9wZG93bl9fb3B0aW9uLS1jaGlsZHJlbi1sZXZlbC0nICsgb3B0aW9uLmNoaWxkcmVuTGV2ZWxcbiAgICAgICAgICBdXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwib3B0aW9uLnZhbHVlXCI+PC9zcGFuPlxuICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICA8bWF0LWhpbnQgKm5nSWY9XCJlbGVtZW50LmhpbnRcIj57eyBlbGVtZW50LmhpbnQgfX08L21hdC1oaW50PlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcigncmVxdWlyZWQnKVwiPlxuICAgICAgICB7eyBlbGVtZW50LmVycm9ycz8ucmVxdWlyZWQgfX1cbiAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcignbWlubGVuZ3RoJylcIj5cbiAgICAgICAge3sgZWxlbWVudC5lcnJvcnM/Lm1pbmxlbmd0aCB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdjcGYnKVwiPlxuICAgICAgICB7eyBlbGVtZW50LmVycm9ycz8uY3BmIH19XG4gICAgICA8L21hdC1lcnJvcj5cbiAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtQ29udHJvbD8uaGFzRXJyb3IoJ2NucGonKVwiPlxuICAgICAgICB7eyBlbGVtZW50LmVycm9ycz8uY25waiB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdlbWFpbCcpXCI+XG4gICAgICAgIHt7IGVsZW1lbnQuZXJyb3JzPy5lbWFpbCB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdwYXR0ZXJuJylcIj5cbiAgICAgICAge3sgZWxlbWVudC5lcnJvcnM/LnBhdHRlcm4gfX1cbiAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcignbWluJylcIj5cbiAgICAgICAge3sgZWxlbWVudC5lcnJvcnM/Lm1pbiB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdtYXgnKVwiPlxuICAgICAgICB7eyBlbGVtZW50LmVycm9ycz8ubWF4IH19XG4gICAgICA8L21hdC1lcnJvcj5cbiAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtQ29udHJvbD8uaGFzRXJyb3IoJ21pbmxlbmd0aCcpXCI+XG4gICAgICAgIHt7IGVsZW1lbnQuZXJyb3JzPy5taW5MZW5ndGggfX1cbiAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcignbWF4bGVuZ3RoJylcIj5cbiAgICAgICAge3sgZWxlbWVudC5lcnJvcnM/Lm1heExlbmd0aCB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWljb25cbiAgICAgICAgKm5nSWY9XCJoYXNWYWx1ZSgpICYmICFmb3JtQ29udHJvbC5kaXNhYmxlZCAmJiBlbGVtZW50LmNsZWFyVmFsdWVcIlxuICAgICAgICAoY2xpY2spPVwiY2xlYXJWYWx1ZSgkZXZlbnQpXCJcbiAgICAgICAgY2xhc3M9XCJtYXBhLWlucHV0LS1jbG9zZVwiXG4gICAgICAgID5jbG9zZTwvbWF0LWljb25cbiAgICAgID5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDxkaXYgKm5nSWY9XCJlbGVtZW50LmFjdGlvbkJ1dHRvblwiIGNsYXNzPVwibWFwYS1mb3JtLS1hY3Rpb25cIj5cbiAgICAgIDxtYXBhLWJ1dHRvblxuICAgICAgICBjb2xvcj1cImJhc2ljXCJcbiAgICAgICAgKGNsaWNrKT1cImVsZW1lbnQuYWN0aW9uQnV0dG9uLmFjdGlvbi5lbWl0KHRydWUpXCJcbiAgICAgID5cbiAgICAgICAge3sgZWxlbWVudC5hY3Rpb25CdXR0b24ubGFiZWwgfX1cbiAgICAgIDwvbWFwYS1idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
192
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUlMLE1BQU0sRUFFTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBS3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7O0FBY2hELE1BQU0sT0FBTyxxQkFBcUI7SUF1QmhDLElBQUksZUFBZTtRQUNqQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDNUMsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVEO1FBdkJVLGlCQUFZLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFJN0Qsb0JBQWUsR0FBbUMsSUFBSSxhQUFhLENBRXhFLENBQUMsQ0FBQyxDQUFDO1FBQ0UsbUJBQWMsR0FBa0MsSUFBSSxhQUFhLENBRXRFLENBQUMsQ0FBQyxDQUFDO1FBQ0sseUJBQW9CLEdBQW9CLEVBQUUsQ0FBQztRQUMzQyx1QkFB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RSxFQUFPO1FBQ3hCLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQ2xELENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7SUFDbEMsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFVO1FBQ25CLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDOzttSEF0TVUscUJBQXFCO3VHQUFyQixxQkFBcUIsK1ZDaENsQyxrM0pBcUlBOzRGRHJHYSxxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0UsZUFBZSxpQkFHVixpQkFBaUIsQ0FBQyxJQUFJOzBFQUc1QixXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNJLFlBQVk7c0JBQXJCLE1BQU07Z0JBRWtDLFFBQVE7c0JBQWhELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcblxuaW1wb3J0IHsgTWF0U2VsZWN0IH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NlbGVjdFwiO1xuXG5pbXBvcnQgeyBSZXBsYXlTdWJqZWN0IH0gZnJvbSBcInJ4anMvaW50ZXJuYWwvUmVwbGF5U3ViamVjdFwiO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzL2ludGVybmFsL1N1YmplY3RcIjtcbi8vaW1wb3J0IHsgdGFrZSwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5cbmltcG9ydCB7IEVsZW1lbnRPcHRpb24gfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9pbnRlcmZhY2VzL2VsZW1lbnQtb3B0aW9uLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgRHJvcGRvd24gfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9lbGVtZW50cy9kcm9wZG93blwiO1xuaW1wb3J0IHsgRWxlbWVudEdyb3VwIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvaW50ZXJmYWNlcy9lbGVtZW50LWdyb3VwLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgTWF0Q2hlY2tib3hDaGFuZ2UgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3hcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcIm1hcGEtZHJvcGRvd25cIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9kcm9wZG93bi5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vZHJvcGRvd24uY29tcG9uZW50LnNjc3NcIl0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIE1hcGFEcm9wZG93bkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBmb3JtQ29udHJvbCE6IEZvcm1Db250cm9sO1xuICBASW5wdXQoKSBmb3JtQ29udHJvbFNlYXJjaCE6IEZvcm1Db250cm9sO1xuICBASW5wdXQoKSBlbGVtZW50ITogRHJvcGRvd247XG4gIEBJbnB1dCgpIGJvcmRlcjogXCJzb2Z0XCIgfCBcInRhZ1wiIHwgXCJoaWdobGlnaHRcIiB8IG51bGwgfCB1bmRlZmluZWQ7XG4gIEBPdXRwdXQoKSBvcGVuZWRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgQFZpZXdDaGlsZChcImRyb3Bkb3duXCIsIHsgc3RhdGljOiB0cnVlIH0pIGRyb3Bkb3duITogTWF0U2VsZWN0O1xuXG4gIHB1YmxpYyBmaWx0ZXJlZE9wdGlvbnM6IFJlcGxheVN1YmplY3Q8RWxlbWVudE9wdGlvbltdPiA9IG5ldyBSZXBsYXlTdWJqZWN0PFxuICAgIEVsZW1lbnRPcHRpb25bXVxuICA+KDEpO1xuICBwdWJsaWMgZmlsdGVyZWRHcm91cHM6IFJlcGxheVN1YmplY3Q8RWxlbWVudEdyb3VwW10+ID0gbmV3IFJlcGxheVN1YmplY3Q8XG4gICAgRWxlbWVudEdyb3VwW11cbiAgPigxKTtcbiAgcHJvdGVjdGVkIGZpbHRlcmVkT3B0aW9uc0NhY2hlOiBFbGVtZW50T3B0aW9uW10gPSBbXTtcbiAgcHJvdGVjdGVkIGZpbHRlcmVkR3JvdXBDYWNoZTogRWxlbWVudEdyb3VwW10gPSBbXTtcbiAgcHJvdGVjdGVkIF9vbkRlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGlzSW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICBpc0NoZWNrZWQgPSBmYWxzZTtcbiAgaXNPcHRpb25zR3JvdXAgPSBmYWxzZTtcblxuICBnZXQgc2VsZWN0ZWRPcHRpb25zKCkge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5mb3JtQ29udHJvbD8udmFsdWUgfHwgW107XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbdmFsdWVdO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNldE9wdGlvbnMoKTtcblxuICAgIGlmICh0aGlzLmVsZW1lbnQuc2VhcmNoKSB7XG4gICAgICB0aGlzLmVsZW1lbnQuc2VhcmNoLmZvcm1Db250cm9sPy52YWx1ZUNoYW5nZXNcbiAgICAgICAgLy8ucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95KSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5maWx0ZXJPcHRpb25zKCk7XG4gICAgICAgICAgdGhpcy5zZXRUb2dnbGVBbGxDaGVja2JveFN0YXRlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICBjaGFuZ2VzWydlbGVtZW50J10ucHJldmlvdXNWYWx1ZSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICBjaGFuZ2VzW1wiZWxlbWVudFwiXS5wcmV2aW91c1ZhbHVlPy5jb250cm9sVHlwZSA9PT0gXCJkcm9wZG93blwiICYmXG4gICAgICBjaGFuZ2VzW1wiZWxlbWVudFwiXS5wcmV2aW91c1ZhbHVlPy5vcHRpb25zICE9PSBjaGFuZ2VzW1wiZWxlbWVudFwiXS5jdXJyZW50VmFsdWU/Lm9wdGlvbnNcbiAgICApIHtcbiAgICAgIHRoaXMuZWxlbWVudC5vcHRpb25zID0gY2hhbmdlc1tcImVsZW1lbnRcIl0uY3VycmVudFZhbHVlLm9wdGlvbnM7XG4gICAgICB0aGlzLnNldE9wdGlvbnMoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9vbkRlc3Ryb3kubmV4dCgpO1xuICAgIHRoaXMuX29uRGVzdHJveS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgc2V0T3B0aW9ucygpOiB2b2lkIHtcbiAgICB0aGlzLmlzT3B0aW9uc0dyb3VwID0gdGhpcy5pc0VsZW1lbnRHcm91cCh0aGlzLmVsZW1lbnQub3B0aW9uc1swXSk7XG5cbiAgICBpZiAodGhpcy5pc09wdGlvbnNHcm91cCkge1xuICAgICAgdGhpcy5maWx0ZXJlZEdyb3VwQ2FjaGUgPSAodGhpcy5lbGVtZW50XG4gICAgICAgIC5vcHRpb25zIGFzIEVsZW1lbnRHcm91cFtdKS5zbGljZSgpO1xuICAgICAgdGhpcy5maWx0ZXJlZEdyb3Vwcy5uZXh0KHRoaXMuZmlsdGVyZWRHcm91cENhY2hlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZSA9ICh0aGlzLmVsZW1lbnRcbiAgICAgICAgLm9wdGlvbnMgYXMgRWxlbWVudE9wdGlvbltdKS5zbGljZSgpO1xuICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMubmV4dCh0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgZmlsdGVyT3B0aW9uc0Zyb21Hcm91cChcbiAgICBncm91cDogRWxlbWVudEdyb3VwLFxuICAgIHZhbHVlOiBzdHJpbmdcbiAgKTogRWxlbWVudE9wdGlvbltdIHtcbiAgICBjb25zdCBmaWx0ZXJWYWx1ZSA9IHRoaXMubm9ybWFsaXplVmFsdWUodmFsdWUpO1xuXG4gICAgcmV0dXJuIHRoaXMubm9ybWFsaXplVmFsdWUoZ3JvdXAubGFiZWwpLmluY2x1ZGVzKGZpbHRlclZhbHVlKVxuICAgICAgPyBncm91cC5vcHRpb25zXG4gICAgICA6IGdyb3VwLm9wdGlvbnMuZmlsdGVyKChpdGVtKSA9PlxuICAgICAgICB0aGlzLm5vcm1hbGl6ZVZhbHVlKGl0ZW0udmFsdWUpLmluY2x1ZGVzKGZpbHRlclZhbHVlKVxuICAgICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBmaWx0ZXJPcHRpb25zKCkge1xuICAgIGlmICghdGhpcy5lbGVtZW50Lm9wdGlvbnMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gZ2V0IHRoZSBzZWFyY2gga2V5d29yZFxuICAgIGxldCBzZWFyY2ggPSB0aGlzLm5vcm1hbGl6ZVZhbHVlKHRoaXMuZWxlbWVudC5zZWFyY2g/LmZvcm1Db250cm9sPy52YWx1ZSk7XG5cbiAgICBpZiAodGhpcy5pc09wdGlvbnNHcm91cCkge1xuICAgICAgY29uc3QgZ3JvdXBzID0gdGhpcy5lbGVtZW50Lm9wdGlvbnMgYXMgRWxlbWVudEdyb3VwW107XG4gICAgICB0aGlzLmZpbHRlcmVkR3JvdXBDYWNoZSA9IGdyb3Vwc1xuICAgICAgICAubWFwKChncm91cDogRWxlbWVudEdyb3VwKSA9PiAoe1xuICAgICAgICAgIGxhYmVsOiBncm91cC5sYWJlbCxcbiAgICAgICAgICBvcHRpb25zOiB0aGlzLmZpbHRlck9wdGlvbnNGcm9tR3JvdXAoZ3JvdXAsIHNlYXJjaCksXG4gICAgICAgIH0pKVxuICAgICAgICAuZmlsdGVyKChncm91cCkgPT4gZ3JvdXAub3B0aW9ucy5sZW5ndGggPiAwKTtcbiAgICAgIHRoaXMuZmlsdGVyZWRHcm91cHMubmV4dCh0aGlzLmZpbHRlcmVkR3JvdXBDYWNoZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLmVsZW1lbnQub3B0aW9ucyBhcyBFbGVtZW50T3B0aW9uW107XG4gICAgICBpZiAoIXNlYXJjaCkge1xuICAgICAgICB0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlID0gb3B0aW9ucy5zbGljZSgpO1xuICAgICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucy5uZXh0KHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICAvLyBmaWx0ZXIgdGhlIG9wdGlvbnNcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUgPSBvcHRpb25zLmZpbHRlcihcbiAgICAgICAgKG9wdGlvbjogRWxlbWVudE9wdGlvbikgPT5cbiAgICAgICAgICB0aGlzLm5vcm1hbGl6ZVZhbHVlKG9wdGlvbi52YWx1ZSkuaW5kZXhPZihzZWFyY2gpID4gLTFcbiAgICAgICk7XG4gICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucy5uZXh0KHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUpO1xuICAgIH1cbiAgfVxuXG4gIG5vcm1hbGl6ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IG5vcm1hbGl6ZWRWYWx1ZSA9IHZhbHVlXG4gICAgICAubm9ybWFsaXplKCdORkQnKVxuICAgICAgLnJlcGxhY2UoL1tcXHUwMzAwLVxcdTAzNmZdL2csIFwiXCIpXG4gICAgICAudG9Mb3dlckNhc2UoKTtcbiAgICByZXR1cm4gbm9ybWFsaXplZFZhbHVlO1xuICB9XG5cbiAgdHJpZ2dlck9wZW5lZENoYW5nZShldmVudDogYW55KSB7XG4gICAgdGhpcy5vcGVuZWRDaGFuZ2UuZW1pdChldmVudCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0VG9nZ2xlQWxsQ2hlY2tib3hTdGF0ZSgpIHtcbiAgICBsZXQgZmlsdGVyZWRMZW5ndGggPSAwO1xuICAgIGxldCBzZWFyY2ggPSB0aGlzLmVsZW1lbnQuc2VhcmNoPy5mb3JtQ29udHJvbD8udmFsdWU7XG5cbiAgICBpZiAoc2VhcmNoICYmIHNlYXJjaC52YWx1ZSkge1xuICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZS5mb3JFYWNoKChlbCkgPT4ge1xuICAgICAgICBpZiAoc2VhcmNoLnZhbHVlLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihlbCkgPiAtMSkge1xuICAgICAgICAgIGZpbHRlcmVkTGVuZ3RoKys7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgdGhpcy5pc0luZGV0ZXJtaW5hdGUgPVxuICAgICAgICBmaWx0ZXJlZExlbmd0aCA+IDAgJiYgZmlsdGVyZWRMZW5ndGggPCB0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlLmxlbmd0aDtcbiAgICAgIHRoaXMuaXNDaGVja2VkID1cbiAgICAgICAgZmlsdGVyZWRMZW5ndGggPiAwICYmXG4gICAgICAgIGZpbHRlcmVkTGVuZ3RoID09PSB0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlLmxlbmd0aDtcbiAgICB9XG4gIH1cblxuICB0b2dnbGVTZWxlY3RBbGwoZXZlbnQ6IE1hdENoZWNrYm94Q2hhbmdlKSB7XG4gICAgY29uc3Qgc2VsZWN0QWxsVmFsdWUgPSBldmVudC5jaGVja2VkO1xuICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zLnN1YnNjcmliZSgob3B0aW9uczogRWxlbWVudE9wdGlvbltdKSA9PiB7XG4gICAgICBpZiAoc2VsZWN0QWxsVmFsdWUpIHtcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbD8ucGF0Y2hWYWx1ZShvcHRpb25zKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZm9ybUNvbnRyb2w/LnBhdGNoVmFsdWUoW10pO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuZmlsdGVyZWRHcm91cHMuc3Vic2NyaWJlKChncm91cHM6IEVsZW1lbnRHcm91cFtdKSA9PiB7XG4gICAgICBpZiAoc2VsZWN0QWxsVmFsdWUpIHtcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbD8ucGF0Y2hWYWx1ZShcbiAgICAgICAgICBncm91cHMubWFwKChncm91cDogRWxlbWVudEdyb3VwKSA9PiBncm91cC5vcHRpb25zKVxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbD8ucGF0Y2hWYWx1ZShbXSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICB0b2dnbGVTZWxlY3Rpb24oY2hhbmdlOiBNYXRDaGVja2JveENoYW5nZSk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2UuY2hlY2tlZCkge1xuICAgICAgdGhpcy5mb3JtQ29udHJvbD8uc2V0VmFsdWUodGhpcy5maWx0ZXJlZE9wdGlvbnMpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZvcm1Db250cm9sPy5zZXRWYWx1ZShbXSk7XG4gICAgfVxuICB9XG5cbiAgaXNFbGVtZW50R3JvdXAob2JqZWN0OiBFbGVtZW50R3JvdXAgfCBFbGVtZW50T3B0aW9uKTogb2JqZWN0IGlzIEVsZW1lbnRHcm91cCB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIChvYmplY3QgYXMgRWxlbWVudEdyb3VwKS5sYWJlbCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgIChvYmplY3QgYXMgRWxlbWVudEdyb3VwKS5vcHRpb25zICE9PSB1bmRlZmluZWRcbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBhcmVGbihjMTogYW55LCBjMjogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGMxICYmIGMyID8gYzEua2V5ID09PSBjMi5rZXkgOiBjMSA9PT0gYzI7XG4gIH1cblxuICBoYXNWYWx1ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmZvcm1Db250cm9sLnZhbHVlO1xuICB9XG5cbiAgY2xlYXJWYWx1ZShldmVudDogYW55KTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZShudWxsKTtcbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cImVsZW1lbnRcIj5cbiAgPGxhYmVsICpuZ0lmPVwiZWxlbWVudC5sYWJlbFwiIGNsYXNzPVwibWFwYS1kcm9wZG93bl9fbGFiZWxcIj5cbiAgICB7eyBlbGVtZW50LmxhYmVsIH19XG4gIDwvbGFiZWw+XG4gIDxkaXYgY2xhc3M9XCJtYXBhLWZvcm0tLWlubGluZVwiPlxuICAgIDxtYXQtZm9ybS1maWVsZFxuICAgICAgYXBwZWFyYW5jZT1cIm91dGxpbmVcIlxuICAgICAgY2xhc3M9XCJtYXBhLWRyb3Bkb3duXCJcbiAgICAgIFtjbGFzcy5tYXBhLWRyb3Bkb3duLS1oaWdobGlnaHRdPVwiYm9yZGVyID09PSAnaGlnaGxpZ2h0J1wiXG4gICAgICBbY2xhc3MubWFwYS1kcm9wZG93bi0tc29mdC1ib3JkZXJdPVwiYm9yZGVyID09PSAnc29mdCdcIlxuICAgICAgW2NsYXNzLm1hcGEtZHJvcGRvd24tLXRhZ109XCJib3JkZXIgPT09ICd0YWcnXCJcbiAgICAgIFtjbGFzcy5tYXBhLWRyb3Bkb3duLS1sYWJlbGVkXT1cIiEhZWxlbWVudC5sYWJlbFwiXG4gICAgPlxuICAgICAgPG1hdC1zZWxlY3RcbiAgICAgICAgI2Ryb3Bkb3duXG4gICAgICAgIG5nRGVmYXVsdENvbnRyb2xcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICAgICAgW211bHRpcGxlXT1cImVsZW1lbnQubXVsdGlwbGVcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZWxlbWVudC5wbGFjZWhvbGRlciB8fCAnJ1wiXG4gICAgICAgIFtjb21wYXJlV2l0aF09XCJjb21wYXJlRm5cIlxuICAgICAgICAob3BlbmVkQ2hhbmdlKT1cInRyaWdnZXJPcGVuZWRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0lmPVwiZWxlbWVudC5zZWFyY2hcIiBjbGFzcz1cIm1hcGEtZHJvcGRvd25fX3NlYXJjaFwiPlxuICAgICAgICAgIDxuZ3gtbWF0LXNlbGVjdC1zZWFyY2hcbiAgICAgICAgICAgICpuZ0lmPVwiZWxlbWVudC5zZWFyY2guZm9ybUNvbnRyb2xcIlxuICAgICAgICAgICAgW3Nob3dUb2dnbGVBbGxDaGVja2JveF09XCJlbGVtZW50LnNlYXJjaC50b2dnbGVBbGxDaGVja2JveCFcIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImVsZW1lbnQuc2VhcmNoLmZvcm1Db250cm9sXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlckxhYmVsXT1cImVsZW1lbnQuc2VhcmNoLnBsYWNlaG9sZGVyIHx8ICcnXCJcbiAgICAgICAgICAgIGkxOG4tcGxhY2Vob2xkZXJMYWJlbFxuICAgICAgICAgICAgW25vRW50cmllc0ZvdW5kTGFiZWxdPVwiZWxlbWVudC5zZWFyY2gubm9FbnRyaWVzRm91bmRMYWJlbCB8fCAnJ1wiXG4gICAgICAgICAgPjwvbmd4LW1hdC1zZWxlY3Qtc2VhcmNoPlxuICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICAgKm5nSWY9XCJlbGVtZW50Lm11bHRpcGxlXCJcbiAgICAgICAgICBjbGFzcz1cIm1hcGEtZHJvcGRvd25fX29wdGlvbi0tc2VsZWN0LWFsbFwiXG4gICAgICAgID5cbiAgICAgICAgICA8bWF0LWNoZWNrYm94XG4gICAgICAgICAgICBjbGFzcz1cIm1hdC1vcHRpb25cIlxuICAgICAgICAgICAgW2luZGV0ZXJtaW5hdGVdPVwiaXNJbmRldGVybWluYXRlXCJcbiAgICAgICAgICAgIFtjaGVja2VkXT1cImlzQ2hlY2tlZFwiXG4gICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwidG9nZ2xlU2VsZWN0QWxsKCRldmVudClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIFNlbGVjaW9uYXIgdG9kb3NcbiAgICAgICAgICA8L21hdC1jaGVja2JveD5cbiAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNPcHRpb25zR3JvdXA7IGVsc2UgaXNFbGVtZW50T3B0aW9uc1wiPlxuICAgICAgICAgIDxtYXQtb3B0Z3JvdXBcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBncm91cCBvZiBmaWx0ZXJlZEdyb3VwcyB8IGFzeW5jXCJcbiAgICAgICAgICAgIFtsYWJlbF09XCJncm91cC5sYWJlbFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBncm91cC5vcHRpb25zXCJcbiAgICAgICAgICAgICAgW3ZhbHVlXT1cIm9wdGlvblwiXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIltcbiAgICAgICAgICAgICAgICAnbWFwYS1kcm9wZG93bl9fb3B0aW9uLS1jaGlsZHJlbi1sZXZlbC0nICsgb3B0aW9uLmNoaWxkcmVuTGV2ZWxcbiAgICAgICAgICAgICAgXVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwib3B0aW9uLnZhbHVlXCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgIDwvbWF0LW9wdGdyb3VwPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNpc0VsZW1lbnRPcHRpb25zPlxuICAgICAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGZpbHRlcmVkT3B0aW9ucyB8IGFzeW5jXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJvcHRpb25cIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiW1xuICAgICAgICAgICAgICAnbWFwYS1kcm9wZG93bl9fb3B0aW9uIG1hcGEtZHJvcGRvd25fX29wdGlvbi0tY2hpbGRyZW4tbGV2ZWwtJyArIG9wdGlvbi5jaGlsZHJlbkxldmVsXG4gICAgICAgICAgICBdXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hcGEtZHJvcGRvd25fX29wdGlvbi12YWx1ZVwiIFtpbm5lckhUTUxdPVwib3B0aW9uLnZhbHVlXCI+PC9zcGFuPlxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICA8bWF0LW9wdGlvblxuICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygc2VsZWN0ZWRPcHRpb25zXCJcbiAgICAgICAgICBoaWRkZW5cbiAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJbXG4gICAgICAgICAgICAnbWFwYS1kcm9wZG93bl9fb3B0aW9uLS1jaGlsZHJlbi1sZXZlbC0nICsgb3B0aW9uLmNoaWxkcmVuTGV2ZWxcbiAgICAgICAgICBdXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwib3B0aW9uLnZhbHVlXCI+PC9zcGFuPlxuICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICA8bWF0LWhpbnQgKm5nSWY9XCJlbGVtZW50LmhpbnRcIj57eyBlbGVtZW50LmhpbnQgfX08L21hdC1oaW50PlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcigncmVxdWlyZWQnKVwiPlxuICAgICAgICB7eyBlbGVtZW50LmVycm9ycz8ucmVxdWlyZWQgfX1cbiAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcignbWlubGVuZ3RoJylcIj5cbiAgICAgICAge3sgZWxlbWVudC5lcnJvcnM/Lm1pbmxlbmd0aCB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdjcGYnKVwiPlxuICAgICAgICB7eyBlbGVtZW50LmVycm9ycz8uY3BmIH19XG4gICAgICA8L21hdC1lcnJvcj5cbiAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtQ29udHJvbD8uaGFzRXJyb3IoJ2NucGonKVwiPlxuICAgICAgICB7eyBlbGVtZW50LmVycm9ycz8uY25waiB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdlbWFpbCcpXCI+XG4gICAgICAgIHt7IGVsZW1lbnQuZXJyb3JzPy5lbWFpbCB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdwYXR0ZXJuJylcIj5cbiAgICAgICAge3sgZWxlbWVudC5lcnJvcnM/LnBhdHRlcm4gfX1cbiAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcignbWluJylcIj5cbiAgICAgICAge3sgZWxlbWVudC5lcnJvcnM/Lm1pbiB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdtYXgnKVwiPlxuICAgICAgICB7eyBlbGVtZW50LmVycm9ycz8ubWF4IH19XG4gICAgICA8L21hdC1lcnJvcj5cbiAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtQ29udHJvbD8uaGFzRXJyb3IoJ21pbmxlbmd0aCcpXCI+XG4gICAgICAgIHt7IGVsZW1lbnQuZXJyb3JzPy5taW5MZW5ndGggfX1cbiAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcignbWF4bGVuZ3RoJylcIj5cbiAgICAgICAge3sgZWxlbWVudC5lcnJvcnM/Lm1heExlbmd0aCB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWljb25cbiAgICAgICAgKm5nSWY9XCJoYXNWYWx1ZSgpICYmICFmb3JtQ29udHJvbC5kaXNhYmxlZCAmJiBlbGVtZW50LmNsZWFyVmFsdWVcIlxuICAgICAgICAoY2xpY2spPVwiY2xlYXJWYWx1ZSgkZXZlbnQpXCJcbiAgICAgICAgY2xhc3M9XCJtYXBhLWlucHV0LS1jbG9zZVwiXG4gICAgICAgID5jbG9zZTwvbWF0LWljb25cbiAgICAgID5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDxkaXYgKm5nSWY9XCJlbGVtZW50LmFjdGlvbkJ1dHRvblwiIGNsYXNzPVwibWFwYS1mb3JtLS1hY3Rpb25cIj5cbiAgICAgIDxtYXBhLWJ1dHRvblxuICAgICAgICBjb2xvcj1cImJhc2ljXCJcbiAgICAgICAgKGNsaWNrKT1cImVsZW1lbnQuYWN0aW9uQnV0dG9uLmFjdGlvbi5lbWl0KHRydWUpXCJcbiAgICAgID5cbiAgICAgICAge3sgZWxlbWVudC5hY3Rpb25CdXR0b24ubGFiZWwgfX1cbiAgICAgIDwvbWFwYS1idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -39,7 +39,8 @@ export class MapaDropdownComponent {
39
39
  }
40
40
  }
41
41
  ngOnChanges(changes) {
42
- if (changes["element"].previousValue?.controlType === "dropdown" &&
42
+ if (changes['element'].previousValue !== undefined &&
43
+ changes["element"].previousValue?.controlType === "dropdown" &&
43
44
  changes["element"].previousValue?.options !== changes["element"].currentValue?.options) {
44
45
  this.element.options = changes["element"].currentValue.options;
45
46
  this.setOptions();
@@ -101,7 +102,6 @@ export class MapaDropdownComponent {
101
102
  .normalize('NFD')
102
103
  .replace(/[\u0300-\u036f]/g, "")
103
104
  .toLowerCase();
104
- console.log(normalizedValue);
105
105
  return normalizedValue;
106
106
  }
107
107
  triggerOpenedChange(event) {
@@ -189,4 +189,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
189
189
  type: ViewChild,
190
190
  args: ["dropdown", { static: true }]
191
191
  }] } });
192
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUlMLE1BQU0sRUFFTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBS3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7O0FBY2hELE1BQU0sT0FBTyxxQkFBcUI7SUF1QmhDLElBQUksZUFBZTtRQUNqQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDNUMsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVEO1FBdkJVLGlCQUFZLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFJN0Qsb0JBQWUsR0FBbUMsSUFBSSxhQUFhLENBRXhFLENBQUMsQ0FBQyxDQUFDO1FBQ0UsbUJBQWMsR0FBa0MsSUFBSSxhQUFhLENBRXRFLENBQUMsQ0FBQyxDQUFDO1FBQ0sseUJBQW9CLEdBQW9CLEVBQUUsQ0FBQztRQUMzQyx1QkFBa0IsR0FBbUIsRUFBRSxDQUFDO1FBQ3hDLGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRTNDLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsbUJBQWMsR0FBRyxLQUFLLENBQUM7SUFPUCxDQUFDO0lBRWpCLFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFbEIsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRTtZQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsWUFBWTtnQkFDM0MsbUNBQW1DO2lCQUNsQyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDckIsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7WUFDbkMsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFDRSxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsYUFBYSxFQUFFLFdBQVcsS0FBSyxVQUFVO1lBQzVELE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxhQUFhLEVBQUUsT0FBTyxLQUFLLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUN0RjtZQUNBLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDO1lBQy9ELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUNuQjtJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFbkUsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxrQkFBa0IsR0FBSSxJQUFJLENBQUMsT0FBTztpQkFDcEMsT0FBMEIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN0QyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztTQUNuRDthQUFNO1lBQ0wsSUFBSSxDQUFDLG9CQUFvQixHQUFJLElBQUksQ0FBQyxPQUFPO2lCQUN0QyxPQUEyQixDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1NBQ3REO0lBQ0gsQ0FBQztJQUVTLHNCQUFzQixDQUM5QixLQUFtQixFQUNuQixLQUFhO1FBRWIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUvQyxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUM7WUFDM0QsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPO1lBQ2YsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDOUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUN0RCxDQUFDO0lBQ04sQ0FBQztJQUVTLGFBQWE7UUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFO1lBQ3pCLE9BQU87U0FDUjtRQUNELHlCQUF5QjtRQUN6QixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUUxRSxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDdkIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUF5QixDQUFDO1lBQ3RELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxNQUFNO2lCQUM3QixHQUFHLENBQUMsQ0FBQyxLQUFtQixFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUM3QixLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7Z0JBQ2xCLE9BQU8sRUFBRSxJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQzthQUNwRCxDQUFDLENBQUM7aUJBQ0YsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztZQUMvQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztTQUNuRDthQUFNO1lBQ0wsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUEwQixDQUFDO1lBQ3hELElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQ1gsSUFBSSxDQUFDLG9CQUFvQixHQUFHLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDNUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7Z0JBQ3JELE9BQU87YUFDUjtZQUNELHFCQUFxQjtZQUNyQixJQUFJLENBQUMsb0JBQW9CLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FDeEMsQ0FBQyxNQUFxQixFQUFFLEVBQUUsQ0FDeEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUN6RCxDQUFDO1lBQ0YsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7U0FDdEQ7SUFDSCxDQUFDO0lBRUQsY0FBYyxDQUFDLEtBQWE7UUFDMUIsTUFBTSxlQUFlLEdBQUcsS0FBSzthQUMxQixTQUFTLENBQUMsS0FBSyxDQUFDO2FBQ2hCLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLENBQUM7YUFDL0IsV0FBVyxFQUFFLENBQUM7UUFDakIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUM3QixPQUFPLGVBQWUsQ0FBQztJQUN6QixDQUFDO0lBRUQsbUJBQW1CLENBQUMsS0FBVTtRQUM1QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRVMseUJBQXlCO1FBQ2pDLElBQUksY0FBYyxHQUFHLENBQUMsQ0FBQztRQUN2QixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsS0FBSyxDQUFDO1FBRXJELElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUU7WUFDMUIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFO2dCQUN2QyxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFO29CQUMvQyxjQUFjLEVBQUUsQ0FBQztpQkFDbEI7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxlQUFlO2dCQUNsQixjQUFjLEdBQUcsQ0FBQyxJQUFJLGNBQWMsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDO1lBQzFFLElBQUksQ0FBQyxTQUFTO2dCQUNaLGNBQWMsR0FBRyxDQUFDO29CQUNsQixjQUFjLEtBQUssSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQztTQUN2RDtJQUNILENBQUM7SUFFRCxlQUFlLENBQUMsS0FBd0I7UUFDdEMsTUFBTSxjQUFjLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUNyQyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQXdCLEVBQUUsRUFBRTtZQUMxRCxJQUFJLGNBQWMsRUFBRTtnQkFDbEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDdkM7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDbEM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBc0IsRUFBRSxFQUFFO1lBQ3ZELElBQUksY0FBYyxFQUFFO2dCQUNsQixJQUFJLENBQUMsV0FBVyxFQUFFLFVBQVUsQ0FDMUIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FDbkQsQ0FBQzthQUNIO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ2xDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsZUFBZSxDQUFDLE1BQXlCO1FBQ3ZDLElBQUksTUFBTSxDQUFDLE9BQU8sRUFBRTtZQUNsQixJQUFJLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDbEQ7YUFBTTtZQUNMLElBQUksQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ2hDO0lBQ0gsQ0FBQztJQUVELGNBQWMsQ0FBQyxNQUFvQztRQUNqRCxJQUFJO1lBQ0YsT0FBTyxDQUNKLE1BQXVCLENBQUMsS0FBSyxLQUFLLFNBQVM7Z0JBQzNDLE1BQXVCLENBQUMsT0FBTyxLQUFLLFNBQVMsQ0FDL0MsQ0FBQztTQUNIO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixPQUFPLEtBQUssQ0FBQztTQUNkO0lBQ0gsQ0FBQztJQUVELFNBQVMsQ0FBQyxFQUFPLEVBQUUsRUFBTztRQUN4QixPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUNsRCxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBVTtRQUNuQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQzs7bUhBdE1VLHFCQUFxQjt1R0FBckIscUJBQXFCLCtWQ2hDbEMsazNKQXFJQTs0RkRyR2EscUJBQXFCO2tCQU5qQyxTQUFTOytCQUNFLGVBQWUsaUJBR1YsaUJBQWlCLENBQUMsSUFBSTswRUFHNUIsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDSSxZQUFZO3NCQUFyQixNQUFNO2dCQUVrQyxRQUFRO3NCQUFoRCxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5cbmltcG9ydCB7IE1hdFNlbGVjdCB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3RcIjtcblxuaW1wb3J0IHsgUmVwbGF5U3ViamVjdCB9IGZyb20gXCJyeGpzL2ludGVybmFsL1JlcGxheVN1YmplY3RcIjtcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqcy9pbnRlcm5hbC9TdWJqZWN0XCI7XG4vL2ltcG9ydCB7IHRha2UsIHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuXG5pbXBvcnQgeyBFbGVtZW50T3B0aW9uIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvaW50ZXJmYWNlcy9lbGVtZW50LW9wdGlvbi5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IERyb3Bkb3duIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvZWxlbWVudHMvZHJvcGRvd25cIjtcbmltcG9ydCB7IEVsZW1lbnRHcm91cCB9IGZyb20gXCIuLi8uLi8uLi9jb3JlL2ludGVyZmFjZXMvZWxlbWVudC1ncm91cC5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IE1hdENoZWNrYm94Q2hhbmdlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJtYXBhLWRyb3Bkb3duXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vZHJvcGRvd24uY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL2Ryb3Bkb3duLmNvbXBvbmVudC5zY3NzXCJdLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBNYXBhRHJvcGRvd25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgZm9ybUNvbnRyb2whOiBGb3JtQ29udHJvbDtcbiAgQElucHV0KCkgZm9ybUNvbnRyb2xTZWFyY2ghOiBGb3JtQ29udHJvbDtcbiAgQElucHV0KCkgZWxlbWVudCE6IERyb3Bkb3duO1xuICBASW5wdXQoKSBib3JkZXI6IFwic29mdFwiIHwgXCJ0YWdcIiB8IFwiaGlnaGxpZ2h0XCIgfCBudWxsIHwgdW5kZWZpbmVkO1xuICBAT3V0cHV0KCkgb3BlbmVkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIEBWaWV3Q2hpbGQoXCJkcm9wZG93blwiLCB7IHN0YXRpYzogdHJ1ZSB9KSBkcm9wZG93biE6IE1hdFNlbGVjdDtcblxuICBwdWJsaWMgZmlsdGVyZWRPcHRpb25zOiBSZXBsYXlTdWJqZWN0PEVsZW1lbnRPcHRpb25bXT4gPSBuZXcgUmVwbGF5U3ViamVjdDxcbiAgICBFbGVtZW50T3B0aW9uW11cbiAgPigxKTtcbiAgcHVibGljIGZpbHRlcmVkR3JvdXBzOiBSZXBsYXlTdWJqZWN0PEVsZW1lbnRHcm91cFtdPiA9IG5ldyBSZXBsYXlTdWJqZWN0PFxuICAgIEVsZW1lbnRHcm91cFtdXG4gID4oMSk7XG4gIHByb3RlY3RlZCBmaWx0ZXJlZE9wdGlvbnNDYWNoZTogRWxlbWVudE9wdGlvbltdID0gW107XG4gIHByb3RlY3RlZCBmaWx0ZXJlZEdyb3VwQ2FjaGU6IEVsZW1lbnRHcm91cFtdID0gW107XG4gIHByb3RlY3RlZCBfb25EZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBpc0luZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgaXNDaGVja2VkID0gZmFsc2U7XG4gIGlzT3B0aW9uc0dyb3VwID0gZmFsc2U7XG5cbiAgZ2V0IHNlbGVjdGVkT3B0aW9ucygpIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZm9ybUNvbnRyb2w/LnZhbHVlIHx8IFtdO1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW3ZhbHVlXTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZXRPcHRpb25zKCk7XG5cbiAgICBpZiAodGhpcy5lbGVtZW50LnNlYXJjaCkge1xuICAgICAgdGhpcy5lbGVtZW50LnNlYXJjaC5mb3JtQ29udHJvbD8udmFsdWVDaGFuZ2VzXG4gICAgICAgIC8vLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuZmlsdGVyT3B0aW9ucygpO1xuICAgICAgICAgIHRoaXMuc2V0VG9nZ2xlQWxsQ2hlY2tib3hTdGF0ZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgY2hhbmdlc1tcImVsZW1lbnRcIl0ucHJldmlvdXNWYWx1ZT8uY29udHJvbFR5cGUgPT09IFwiZHJvcGRvd25cIiAmJlxuICAgICAgY2hhbmdlc1tcImVsZW1lbnRcIl0ucHJldmlvdXNWYWx1ZT8ub3B0aW9ucyAhPT0gY2hhbmdlc1tcImVsZW1lbnRcIl0uY3VycmVudFZhbHVlPy5vcHRpb25zXG4gICAgKSB7XG4gICAgICB0aGlzLmVsZW1lbnQub3B0aW9ucyA9IGNoYW5nZXNbXCJlbGVtZW50XCJdLmN1cnJlbnRWYWx1ZS5vcHRpb25zO1xuICAgICAgdGhpcy5zZXRPcHRpb25zKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fb25EZXN0cm95Lm5leHQoKTtcbiAgICB0aGlzLl9vbkRlc3Ryb3kuY29tcGxldGUoKTtcbiAgfVxuXG4gIHNldE9wdGlvbnMoKTogdm9pZCB7XG4gICAgdGhpcy5pc09wdGlvbnNHcm91cCA9IHRoaXMuaXNFbGVtZW50R3JvdXAodGhpcy5lbGVtZW50Lm9wdGlvbnNbMF0pO1xuXG4gICAgaWYgKHRoaXMuaXNPcHRpb25zR3JvdXApIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRHcm91cENhY2hlID0gKHRoaXMuZWxlbWVudFxuICAgICAgICAub3B0aW9ucyBhcyBFbGVtZW50R3JvdXBbXSkuc2xpY2UoKTtcbiAgICAgIHRoaXMuZmlsdGVyZWRHcm91cHMubmV4dCh0aGlzLmZpbHRlcmVkR3JvdXBDYWNoZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUgPSAodGhpcy5lbGVtZW50XG4gICAgICAgIC5vcHRpb25zIGFzIEVsZW1lbnRPcHRpb25bXSkuc2xpY2UoKTtcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zLm5leHQodGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGZpbHRlck9wdGlvbnNGcm9tR3JvdXAoXG4gICAgZ3JvdXA6IEVsZW1lbnRHcm91cCxcbiAgICB2YWx1ZTogc3RyaW5nXG4gICk6IEVsZW1lbnRPcHRpb25bXSB7XG4gICAgY29uc3QgZmlsdGVyVmFsdWUgPSB0aGlzLm5vcm1hbGl6ZVZhbHVlKHZhbHVlKTtcblxuICAgIHJldHVybiB0aGlzLm5vcm1hbGl6ZVZhbHVlKGdyb3VwLmxhYmVsKS5pbmNsdWRlcyhmaWx0ZXJWYWx1ZSlcbiAgICAgID8gZ3JvdXAub3B0aW9uc1xuICAgICAgOiBncm91cC5vcHRpb25zLmZpbHRlcigoaXRlbSkgPT5cbiAgICAgICAgdGhpcy5ub3JtYWxpemVWYWx1ZShpdGVtLnZhbHVlKS5pbmNsdWRlcyhmaWx0ZXJWYWx1ZSlcbiAgICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZmlsdGVyT3B0aW9ucygpIHtcbiAgICBpZiAoIXRoaXMuZWxlbWVudC5vcHRpb25zKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIGdldCB0aGUgc2VhcmNoIGtleXdvcmRcbiAgICBsZXQgc2VhcmNoID0gdGhpcy5ub3JtYWxpemVWYWx1ZSh0aGlzLmVsZW1lbnQuc2VhcmNoPy5mb3JtQ29udHJvbD8udmFsdWUpO1xuXG4gICAgaWYgKHRoaXMuaXNPcHRpb25zR3JvdXApIHtcbiAgICAgIGNvbnN0IGdyb3VwcyA9IHRoaXMuZWxlbWVudC5vcHRpb25zIGFzIEVsZW1lbnRHcm91cFtdO1xuICAgICAgdGhpcy5maWx0ZXJlZEdyb3VwQ2FjaGUgPSBncm91cHNcbiAgICAgICAgLm1hcCgoZ3JvdXA6IEVsZW1lbnRHcm91cCkgPT4gKHtcbiAgICAgICAgICBsYWJlbDogZ3JvdXAubGFiZWwsXG4gICAgICAgICAgb3B0aW9uczogdGhpcy5maWx0ZXJPcHRpb25zRnJvbUdyb3VwKGdyb3VwLCBzZWFyY2gpLFxuICAgICAgICB9KSlcbiAgICAgICAgLmZpbHRlcigoZ3JvdXApID0+IGdyb3VwLm9wdGlvbnMubGVuZ3RoID4gMCk7XG4gICAgICB0aGlzLmZpbHRlcmVkR3JvdXBzLm5leHQodGhpcy5maWx0ZXJlZEdyb3VwQ2FjaGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBvcHRpb25zID0gdGhpcy5lbGVtZW50Lm9wdGlvbnMgYXMgRWxlbWVudE9wdGlvbltdO1xuICAgICAgaWYgKCFzZWFyY2gpIHtcbiAgICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZSA9IG9wdGlvbnMuc2xpY2UoKTtcbiAgICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMubmV4dCh0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgLy8gZmlsdGVyIHRoZSBvcHRpb25zXG4gICAgICB0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlID0gb3B0aW9ucy5maWx0ZXIoXG4gICAgICAgIChvcHRpb246IEVsZW1lbnRPcHRpb24pID0+XG4gICAgICAgICAgdGhpcy5ub3JtYWxpemVWYWx1ZShvcHRpb24udmFsdWUpLmluZGV4T2Yoc2VhcmNoKSA+IC0xXG4gICAgICApO1xuICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMubmV4dCh0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlKTtcbiAgICB9XG4gIH1cblxuICBub3JtYWxpemVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBub3JtYWxpemVkVmFsdWUgPSB2YWx1ZVxuICAgICAgLm5vcm1hbGl6ZSgnTkZEJylcbiAgICAgIC5yZXBsYWNlKC9bXFx1MDMwMC1cXHUwMzZmXS9nLCBcIlwiKVxuICAgICAgLnRvTG93ZXJDYXNlKCk7XG4gICAgY29uc29sZS5sb2cobm9ybWFsaXplZFZhbHVlKTtcbiAgICByZXR1cm4gbm9ybWFsaXplZFZhbHVlO1xuICB9XG5cbiAgdHJpZ2dlck9wZW5lZENoYW5nZShldmVudDogYW55KSB7XG4gICAgdGhpcy5vcGVuZWRDaGFuZ2UuZW1pdChldmVudCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0VG9nZ2xlQWxsQ2hlY2tib3hTdGF0ZSgpIHtcbiAgICBsZXQgZmlsdGVyZWRMZW5ndGggPSAwO1xuICAgIGxldCBzZWFyY2ggPSB0aGlzLmVsZW1lbnQuc2VhcmNoPy5mb3JtQ29udHJvbD8udmFsdWU7XG5cbiAgICBpZiAoc2VhcmNoICYmIHNlYXJjaC52YWx1ZSkge1xuICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZS5mb3JFYWNoKChlbCkgPT4ge1xuICAgICAgICBpZiAoc2VhcmNoLnZhbHVlLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihlbCkgPiAtMSkge1xuICAgICAgICAgIGZpbHRlcmVkTGVuZ3RoKys7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgdGhpcy5pc0luZGV0ZXJtaW5hdGUgPVxuICAgICAgICBmaWx0ZXJlZExlbmd0aCA+IDAgJiYgZmlsdGVyZWRMZW5ndGggPCB0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlLmxlbmd0aDtcbiAgICAgIHRoaXMuaXNDaGVja2VkID1cbiAgICAgICAgZmlsdGVyZWRMZW5ndGggPiAwICYmXG4gICAgICAgIGZpbHRlcmVkTGVuZ3RoID09PSB0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlLmxlbmd0aDtcbiAgICB9XG4gIH1cblxuICB0b2dnbGVTZWxlY3RBbGwoZXZlbnQ6IE1hdENoZWNrYm94Q2hhbmdlKSB7XG4gICAgY29uc3Qgc2VsZWN0QWxsVmFsdWUgPSBldmVudC5jaGVja2VkO1xuICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zLnN1YnNjcmliZSgob3B0aW9uczogRWxlbWVudE9wdGlvbltdKSA9PiB7XG4gICAgICBpZiAoc2VsZWN0QWxsVmFsdWUpIHtcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbD8ucGF0Y2hWYWx1ZShvcHRpb25zKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZm9ybUNvbnRyb2w/LnBhdGNoVmFsdWUoW10pO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuZmlsdGVyZWRHcm91cHMuc3Vic2NyaWJlKChncm91cHM6IEVsZW1lbnRHcm91cFtdKSA9PiB7XG4gICAgICBpZiAoc2VsZWN0QWxsVmFsdWUpIHtcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbD8ucGF0Y2hWYWx1ZShcbiAgICAgICAgICBncm91cHMubWFwKChncm91cDogRWxlbWVudEdyb3VwKSA9PiBncm91cC5vcHRpb25zKVxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbD8ucGF0Y2hWYWx1ZShbXSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICB0b2dnbGVTZWxlY3Rpb24oY2hhbmdlOiBNYXRDaGVja2JveENoYW5nZSk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2UuY2hlY2tlZCkge1xuICAgICAgdGhpcy5mb3JtQ29udHJvbD8uc2V0VmFsdWUodGhpcy5maWx0ZXJlZE9wdGlvbnMpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZvcm1Db250cm9sPy5zZXRWYWx1ZShbXSk7XG4gICAgfVxuICB9XG5cbiAgaXNFbGVtZW50R3JvdXAob2JqZWN0OiBFbGVtZW50R3JvdXAgfCBFbGVtZW50T3B0aW9uKTogb2JqZWN0IGlzIEVsZW1lbnRHcm91cCB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIChvYmplY3QgYXMgRWxlbWVudEdyb3VwKS5sYWJlbCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgIChvYmplY3QgYXMgRWxlbWVudEdyb3VwKS5vcHRpb25zICE9PSB1bmRlZmluZWRcbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBhcmVGbihjMTogYW55LCBjMjogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGMxICYmIGMyID8gYzEua2V5ID09PSBjMi5rZXkgOiBjMSA9PT0gYzI7XG4gIH1cblxuICBoYXNWYWx1ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmZvcm1Db250cm9sLnZhbHVlO1xuICB9XG5cbiAgY2xlYXJWYWx1ZShldmVudDogYW55KTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZShudWxsKTtcbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cImVsZW1lbnRcIj5cbiAgPGxhYmVsICpuZ0lmPVwiZWxlbWVudC5sYWJlbFwiIGNsYXNzPVwibWFwYS1kcm9wZG93bl9fbGFiZWxcIj5cbiAgICB7eyBlbGVtZW50LmxhYmVsIH19XG4gIDwvbGFiZWw+XG4gIDxkaXYgY2xhc3M9XCJtYXBhLWZvcm0tLWlubGluZVwiPlxuICAgIDxtYXQtZm9ybS1maWVsZFxuICAgICAgYXBwZWFyYW5jZT1cIm91dGxpbmVcIlxuICAgICAgY2xhc3M9XCJtYXBhLWRyb3Bkb3duXCJcbiAgICAgIFtjbGFzcy5tYXBhLWRyb3Bkb3duLS1oaWdobGlnaHRdPVwiYm9yZGVyID09PSAnaGlnaGxpZ2h0J1wiXG4gICAgICBbY2xhc3MubWFwYS1kcm9wZG93bi0tc29mdC1ib3JkZXJdPVwiYm9yZGVyID09PSAnc29mdCdcIlxuICAgICAgW2NsYXNzLm1hcGEtZHJvcGRvd24tLXRhZ109XCJib3JkZXIgPT09ICd0YWcnXCJcbiAgICAgIFtjbGFzcy5tYXBhLWRyb3Bkb3duLS1sYWJlbGVkXT1cIiEhZWxlbWVudC5sYWJlbFwiXG4gICAgPlxuICAgICAgPG1hdC1zZWxlY3RcbiAgICAgICAgI2Ryb3Bkb3duXG4gICAgICAgIG5nRGVmYXVsdENvbnRyb2xcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICAgICAgW211bHRpcGxlXT1cImVsZW1lbnQubXVsdGlwbGVcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZWxlbWVudC5wbGFjZWhvbGRlciB8fCAnJ1wiXG4gICAgICAgIFtjb21wYXJlV2l0aF09XCJjb21wYXJlRm5cIlxuICAgICAgICAob3BlbmVkQ2hhbmdlKT1cInRyaWdnZXJPcGVuZWRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0lmPVwiZWxlbWVudC5zZWFyY2hcIiBjbGFzcz1cIm1hcGEtZHJvcGRvd25fX3NlYXJjaFwiPlxuICAgICAgICAgIDxuZ3gtbWF0LXNlbGVjdC1zZWFyY2hcbiAgICAgICAgICAgICpuZ0lmPVwiZWxlbWVudC5zZWFyY2guZm9ybUNvbnRyb2xcIlxuICAgICAgICAgICAgW3Nob3dUb2dnbGVBbGxDaGVja2JveF09XCJlbGVtZW50LnNlYXJjaC50b2dnbGVBbGxDaGVja2JveCFcIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImVsZW1lbnQuc2VhcmNoLmZvcm1Db250cm9sXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlckxhYmVsXT1cImVsZW1lbnQuc2VhcmNoLnBsYWNlaG9sZGVyIHx8ICcnXCJcbiAgICAgICAgICAgIGkxOG4tcGxhY2Vob2xkZXJMYWJlbFxuICAgICAgICAgICAgW25vRW50cmllc0ZvdW5kTGFiZWxdPVwiZWxlbWVudC5zZWFyY2gubm9FbnRyaWVzRm91bmRMYWJlbCB8fCAnJ1wiXG4gICAgICAgICAgPjwvbmd4LW1hdC1zZWxlY3Qtc2VhcmNoPlxuICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICAgKm5nSWY9XCJlbGVtZW50Lm11bHRpcGxlXCJcbiAgICAgICAgICBjbGFzcz1cIm1hcGEtZHJvcGRvd25fX29wdGlvbi0tc2VsZWN0LWFsbFwiXG4gICAgICAgID5cbiAgICAgICAgICA8bWF0LWNoZWNrYm94XG4gICAgICAgICAgICBjbGFzcz1cIm1hdC1vcHRpb25cIlxuICAgICAgICAgICAgW2luZGV0ZXJtaW5hdGVdPVwiaXNJbmRldGVybWluYXRlXCJcbiAgICAgICAgICAgIFtjaGVja2VkXT1cImlzQ2hlY2tlZFwiXG4gICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwidG9nZ2xlU2VsZWN0QWxsKCRldmVudClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIFNlbGVjaW9uYXIgdG9kb3NcbiAgICAgICAgICA8L21hdC1jaGVja2JveD5cbiAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNPcHRpb25zR3JvdXA7IGVsc2UgaXNFbGVtZW50T3B0aW9uc1wiPlxuICAgICAgICAgIDxtYXQtb3B0Z3JvdXBcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBncm91cCBvZiBmaWx0ZXJlZEdyb3VwcyB8IGFzeW5jXCJcbiAgICAgICAgICAgIFtsYWJlbF09XCJncm91cC5sYWJlbFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBncm91cC5vcHRpb25zXCJcbiAgICAgICAgICAgICAgW3ZhbHVlXT1cIm9wdGlvblwiXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIltcbiAgICAgICAgICAgICAgICAnbWFwYS1kcm9wZG93bl9fb3B0aW9uLS1jaGlsZHJlbi1sZXZlbC0nICsgb3B0aW9uLmNoaWxkcmVuTGV2ZWxcbiAgICAgICAgICAgICAgXVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwib3B0aW9uLnZhbHVlXCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgIDwvbWF0LW9wdGdyb3VwPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNpc0VsZW1lbnRPcHRpb25zPlxuICAgICAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGZpbHRlcmVkT3B0aW9ucyB8IGFzeW5jXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJvcHRpb25cIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiW1xuICAgICAgICAgICAgICAnbWFwYS1kcm9wZG93bl9fb3B0aW9uIG1hcGEtZHJvcGRvd25fX29wdGlvbi0tY2hpbGRyZW4tbGV2ZWwtJyArIG9wdGlvbi5jaGlsZHJlbkxldmVsXG4gICAgICAgICAgICBdXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hcGEtZHJvcGRvd25fX29wdGlvbi12YWx1ZVwiIFtpbm5lckhUTUxdPVwib3B0aW9uLnZhbHVlXCI+PC9zcGFuPlxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICA8bWF0LW9wdGlvblxuICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygc2VsZWN0ZWRPcHRpb25zXCJcbiAgICAgICAgICBoaWRkZW5cbiAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJbXG4gICAgICAgICAgICAnbWFwYS1kcm9wZG93bl9fb3B0aW9uLS1jaGlsZHJlbi1sZXZlbC0nICsgb3B0aW9uLmNoaWxkcmVuTGV2ZWxcbiAgICAgICAgICBdXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwib3B0aW9uLnZhbHVlXCI+PC9zcGFuPlxuICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICA8bWF0LWhpbnQgKm5nSWY9XCJlbGVtZW50LmhpbnRcIj57eyBlbGVtZW50LmhpbnQgfX08L21hdC1oaW50PlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcigncmVxdWlyZWQnKVwiPlxuICAgICAgICB7eyBlbGVtZW50LmVycm9ycz8ucmVxdWlyZWQgfX1cbiAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcignbWlubGVuZ3RoJylcIj5cbiAgICAgICAge3sgZWxlbWVudC5lcnJvcnM/Lm1pbmxlbmd0aCB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdjcGYnKVwiPlxuICAgICAgICB7eyBlbGVtZW50LmVycm9ycz8uY3BmIH19XG4gICAgICA8L21hdC1lcnJvcj5cbiAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtQ29udHJvbD8uaGFzRXJyb3IoJ2NucGonKVwiPlxuICAgICAgICB7eyBlbGVtZW50LmVycm9ycz8uY25waiB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdlbWFpbCcpXCI+XG4gICAgICAgIHt7IGVsZW1lbnQuZXJyb3JzPy5lbWFpbCB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdwYXR0ZXJuJylcIj5cbiAgICAgICAge3sgZWxlbWVudC5lcnJvcnM/LnBhdHRlcm4gfX1cbiAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcignbWluJylcIj5cbiAgICAgICAge3sgZWxlbWVudC5lcnJvcnM/Lm1pbiB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdtYXgnKVwiPlxuICAgICAgICB7eyBlbGVtZW50LmVycm9ycz8ubWF4IH19XG4gICAgICA8L21hdC1lcnJvcj5cbiAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtQ29udHJvbD8uaGFzRXJyb3IoJ21pbmxlbmd0aCcpXCI+XG4gICAgICAgIHt7IGVsZW1lbnQuZXJyb3JzPy5taW5MZW5ndGggfX1cbiAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcignbWF4bGVuZ3RoJylcIj5cbiAgICAgICAge3sgZWxlbWVudC5lcnJvcnM/Lm1heExlbmd0aCB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWljb25cbiAgICAgICAgKm5nSWY9XCJoYXNWYWx1ZSgpICYmICFmb3JtQ29udHJvbC5kaXNhYmxlZCAmJiBlbGVtZW50LmNsZWFyVmFsdWVcIlxuICAgICAgICAoY2xpY2spPVwiY2xlYXJWYWx1ZSgkZXZlbnQpXCJcbiAgICAgICAgY2xhc3M9XCJtYXBhLWlucHV0LS1jbG9zZVwiXG4gICAgICAgID5jbG9zZTwvbWF0LWljb25cbiAgICAgID5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDxkaXYgKm5nSWY9XCJlbGVtZW50LmFjdGlvbkJ1dHRvblwiIGNsYXNzPVwibWFwYS1mb3JtLS1hY3Rpb25cIj5cbiAgICAgIDxtYXBhLWJ1dHRvblxuICAgICAgICBjb2xvcj1cImJhc2ljXCJcbiAgICAgICAgKGNsaWNrKT1cImVsZW1lbnQuYWN0aW9uQnV0dG9uLmFjdGlvbi5lbWl0KHRydWUpXCJcbiAgICAgID5cbiAgICAgICAge3sgZWxlbWVudC5hY3Rpb25CdXR0b24ubGFiZWwgfX1cbiAgICAgIDwvbWFwYS1idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
192
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUlMLE1BQU0sRUFFTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBS3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7O0FBY2hELE1BQU0sT0FBTyxxQkFBcUI7SUF1QmhDLElBQUksZUFBZTtRQUNqQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDNUMsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVEO1FBdkJVLGlCQUFZLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFJN0Qsb0JBQWUsR0FBbUMsSUFBSSxhQUFhLENBRXhFLENBQUMsQ0FBQyxDQUFDO1FBQ0UsbUJBQWMsR0FBa0MsSUFBSSxhQUFhLENBRXRFLENBQUMsQ0FBQyxDQUFDO1FBQ0sseUJBQW9CLEdBQW9CLEVBQUUsQ0FBQztRQUMzQyx1QkFB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RSxFQUFPO1FBQ3hCLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQ2xELENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7SUFDbEMsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFVO1FBQ25CLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDOzttSEF0TVUscUJBQXFCO3VHQUFyQixxQkFBcUIsK1ZDaENsQyxrM0pBcUlBOzRGRHJHYSxxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0UsZUFBZSxpQkFHVixpQkFBaUIsQ0FBQyxJQUFJOzBFQUc1QixXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNJLFlBQVk7c0JBQXJCLE1BQU07Z0JBRWtDLFFBQVE7c0JBQWhELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcblxuaW1wb3J0IHsgTWF0U2VsZWN0IH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NlbGVjdFwiO1xuXG5pbXBvcnQgeyBSZXBsYXlTdWJqZWN0IH0gZnJvbSBcInJ4anMvaW50ZXJuYWwvUmVwbGF5U3ViamVjdFwiO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzL2ludGVybmFsL1N1YmplY3RcIjtcbi8vaW1wb3J0IHsgdGFrZSwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5cbmltcG9ydCB7IEVsZW1lbnRPcHRpb24gfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9pbnRlcmZhY2VzL2VsZW1lbnQtb3B0aW9uLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgRHJvcGRvd24gfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9lbGVtZW50cy9kcm9wZG93blwiO1xuaW1wb3J0IHsgRWxlbWVudEdyb3VwIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvaW50ZXJmYWNlcy9lbGVtZW50LWdyb3VwLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgTWF0Q2hlY2tib3hDaGFuZ2UgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3hcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcIm1hcGEtZHJvcGRvd25cIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9kcm9wZG93bi5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vZHJvcGRvd24uY29tcG9uZW50LnNjc3NcIl0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIE1hcGFEcm9wZG93bkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBmb3JtQ29udHJvbCE6IEZvcm1Db250cm9sO1xuICBASW5wdXQoKSBmb3JtQ29udHJvbFNlYXJjaCE6IEZvcm1Db250cm9sO1xuICBASW5wdXQoKSBlbGVtZW50ITogRHJvcGRvd247XG4gIEBJbnB1dCgpIGJvcmRlcjogXCJzb2Z0XCIgfCBcInRhZ1wiIHwgXCJoaWdobGlnaHRcIiB8IG51bGwgfCB1bmRlZmluZWQ7XG4gIEBPdXRwdXQoKSBvcGVuZWRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgQFZpZXdDaGlsZChcImRyb3Bkb3duXCIsIHsgc3RhdGljOiB0cnVlIH0pIGRyb3Bkb3duITogTWF0U2VsZWN0O1xuXG4gIHB1YmxpYyBmaWx0ZXJlZE9wdGlvbnM6IFJlcGxheVN1YmplY3Q8RWxlbWVudE9wdGlvbltdPiA9IG5ldyBSZXBsYXlTdWJqZWN0PFxuICAgIEVsZW1lbnRPcHRpb25bXVxuICA+KDEpO1xuICBwdWJsaWMgZmlsdGVyZWRHcm91cHM6IFJlcGxheVN1YmplY3Q8RWxlbWVudEdyb3VwW10+ID0gbmV3IFJlcGxheVN1YmplY3Q8XG4gICAgRWxlbWVudEdyb3VwW11cbiAgPigxKTtcbiAgcHJvdGVjdGVkIGZpbHRlcmVkT3B0aW9uc0NhY2hlOiBFbGVtZW50T3B0aW9uW10gPSBbXTtcbiAgcHJvdGVjdGVkIGZpbHRlcmVkR3JvdXBDYWNoZTogRWxlbWVudEdyb3VwW10gPSBbXTtcbiAgcHJvdGVjdGVkIF9vbkRlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGlzSW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICBpc0NoZWNrZWQgPSBmYWxzZTtcbiAgaXNPcHRpb25zR3JvdXAgPSBmYWxzZTtcblxuICBnZXQgc2VsZWN0ZWRPcHRpb25zKCkge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5mb3JtQ29udHJvbD8udmFsdWUgfHwgW107XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbdmFsdWVdO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNldE9wdGlvbnMoKTtcblxuICAgIGlmICh0aGlzLmVsZW1lbnQuc2VhcmNoKSB7XG4gICAgICB0aGlzLmVsZW1lbnQuc2VhcmNoLmZvcm1Db250cm9sPy52YWx1ZUNoYW5nZXNcbiAgICAgICAgLy8ucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95KSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5maWx0ZXJPcHRpb25zKCk7XG4gICAgICAgICAgdGhpcy5zZXRUb2dnbGVBbGxDaGVja2JveFN0YXRlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICBjaGFuZ2VzWydlbGVtZW50J10ucHJldmlvdXNWYWx1ZSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICBjaGFuZ2VzW1wiZWxlbWVudFwiXS5wcmV2aW91c1ZhbHVlPy5jb250cm9sVHlwZSA9PT0gXCJkcm9wZG93blwiICYmXG4gICAgICBjaGFuZ2VzW1wiZWxlbWVudFwiXS5wcmV2aW91c1ZhbHVlPy5vcHRpb25zICE9PSBjaGFuZ2VzW1wiZWxlbWVudFwiXS5jdXJyZW50VmFsdWU/Lm9wdGlvbnNcbiAgICApIHtcbiAgICAgIHRoaXMuZWxlbWVudC5vcHRpb25zID0gY2hhbmdlc1tcImVsZW1lbnRcIl0uY3VycmVudFZhbHVlLm9wdGlvbnM7XG4gICAgICB0aGlzLnNldE9wdGlvbnMoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9vbkRlc3Ryb3kubmV4dCgpO1xuICAgIHRoaXMuX29uRGVzdHJveS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgc2V0T3B0aW9ucygpOiB2b2lkIHtcbiAgICB0aGlzLmlzT3B0aW9uc0dyb3VwID0gdGhpcy5pc0VsZW1lbnRHcm91cCh0aGlzLmVsZW1lbnQub3B0aW9uc1swXSk7XG5cbiAgICBpZiAodGhpcy5pc09wdGlvbnNHcm91cCkge1xuICAgICAgdGhpcy5maWx0ZXJlZEdyb3VwQ2FjaGUgPSAodGhpcy5lbGVtZW50XG4gICAgICAgIC5vcHRpb25zIGFzIEVsZW1lbnRHcm91cFtdKS5zbGljZSgpO1xuICAgICAgdGhpcy5maWx0ZXJlZEdyb3Vwcy5uZXh0KHRoaXMuZmlsdGVyZWRHcm91cENhY2hlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZSA9ICh0aGlzLmVsZW1lbnRcbiAgICAgICAgLm9wdGlvbnMgYXMgRWxlbWVudE9wdGlvbltdKS5zbGljZSgpO1xuICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMubmV4dCh0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgZmlsdGVyT3B0aW9uc0Zyb21Hcm91cChcbiAgICBncm91cDogRWxlbWVudEdyb3VwLFxuICAgIHZhbHVlOiBzdHJpbmdcbiAgKTogRWxlbWVudE9wdGlvbltdIHtcbiAgICBjb25zdCBmaWx0ZXJWYWx1ZSA9IHRoaXMubm9ybWFsaXplVmFsdWUodmFsdWUpO1xuXG4gICAgcmV0dXJuIHRoaXMubm9ybWFsaXplVmFsdWUoZ3JvdXAubGFiZWwpLmluY2x1ZGVzKGZpbHRlclZhbHVlKVxuICAgICAgPyBncm91cC5vcHRpb25zXG4gICAgICA6IGdyb3VwLm9wdGlvbnMuZmlsdGVyKChpdGVtKSA9PlxuICAgICAgICB0aGlzLm5vcm1hbGl6ZVZhbHVlKGl0ZW0udmFsdWUpLmluY2x1ZGVzKGZpbHRlclZhbHVlKVxuICAgICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBmaWx0ZXJPcHRpb25zKCkge1xuICAgIGlmICghdGhpcy5lbGVtZW50Lm9wdGlvbnMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gZ2V0IHRoZSBzZWFyY2gga2V5d29yZFxuICAgIGxldCBzZWFyY2ggPSB0aGlzLm5vcm1hbGl6ZVZhbHVlKHRoaXMuZWxlbWVudC5zZWFyY2g/LmZvcm1Db250cm9sPy52YWx1ZSk7XG5cbiAgICBpZiAodGhpcy5pc09wdGlvbnNHcm91cCkge1xuICAgICAgY29uc3QgZ3JvdXBzID0gdGhpcy5lbGVtZW50Lm9wdGlvbnMgYXMgRWxlbWVudEdyb3VwW107XG4gICAgICB0aGlzLmZpbHRlcmVkR3JvdXBDYWNoZSA9IGdyb3Vwc1xuICAgICAgICAubWFwKChncm91cDogRWxlbWVudEdyb3VwKSA9PiAoe1xuICAgICAgICAgIGxhYmVsOiBncm91cC5sYWJlbCxcbiAgICAgICAgICBvcHRpb25zOiB0aGlzLmZpbHRlck9wdGlvbnNGcm9tR3JvdXAoZ3JvdXAsIHNlYXJjaCksXG4gICAgICAgIH0pKVxuICAgICAgICAuZmlsdGVyKChncm91cCkgPT4gZ3JvdXAub3B0aW9ucy5sZW5ndGggPiAwKTtcbiAgICAgIHRoaXMuZmlsdGVyZWRHcm91cHMubmV4dCh0aGlzLmZpbHRlcmVkR3JvdXBDYWNoZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLmVsZW1lbnQub3B0aW9ucyBhcyBFbGVtZW50T3B0aW9uW107XG4gICAgICBpZiAoIXNlYXJjaCkge1xuICAgICAgICB0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlID0gb3B0aW9ucy5zbGljZSgpO1xuICAgICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucy5uZXh0KHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICAvLyBmaWx0ZXIgdGhlIG9wdGlvbnNcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUgPSBvcHRpb25zLmZpbHRlcihcbiAgICAgICAgKG9wdGlvbjogRWxlbWVudE9wdGlvbikgPT5cbiAgICAgICAgICB0aGlzLm5vcm1hbGl6ZVZhbHVlKG9wdGlvbi52YWx1ZSkuaW5kZXhPZihzZWFyY2gpID4gLTFcbiAgICAgICk7XG4gICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucy5uZXh0KHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUpO1xuICAgIH1cbiAgfVxuXG4gIG5vcm1hbGl6ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IG5vcm1hbGl6ZWRWYWx1ZSA9IHZhbHVlXG4gICAgICAubm9ybWFsaXplKCdORkQnKVxuICAgICAgLnJlcGxhY2UoL1tcXHUwMzAwLVxcdTAzNmZdL2csIFwiXCIpXG4gICAgICAudG9Mb3dlckNhc2UoKTtcbiAgICByZXR1cm4gbm9ybWFsaXplZFZhbHVlO1xuICB9XG5cbiAgdHJpZ2dlck9wZW5lZENoYW5nZShldmVudDogYW55KSB7XG4gICAgdGhpcy5vcGVuZWRDaGFuZ2UuZW1pdChldmVudCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0VG9nZ2xlQWxsQ2hlY2tib3hTdGF0ZSgpIHtcbiAgICBsZXQgZmlsdGVyZWRMZW5ndGggPSAwO1xuICAgIGxldCBzZWFyY2ggPSB0aGlzLmVsZW1lbnQuc2VhcmNoPy5mb3JtQ29udHJvbD8udmFsdWU7XG5cbiAgICBpZiAoc2VhcmNoICYmIHNlYXJjaC52YWx1ZSkge1xuICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZS5mb3JFYWNoKChlbCkgPT4ge1xuICAgICAgICBpZiAoc2VhcmNoLnZhbHVlLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihlbCkgPiAtMSkge1xuICAgICAgICAgIGZpbHRlcmVkTGVuZ3RoKys7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgdGhpcy5pc0luZGV0ZXJtaW5hdGUgPVxuICAgICAgICBmaWx0ZXJlZExlbmd0aCA+IDAgJiYgZmlsdGVyZWRMZW5ndGggPCB0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlLmxlbmd0aDtcbiAgICAgIHRoaXMuaXNDaGVja2VkID1cbiAgICAgICAgZmlsdGVyZWRMZW5ndGggPiAwICYmXG4gICAgICAgIGZpbHRlcmVkTGVuZ3RoID09PSB0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlLmxlbmd0aDtcbiAgICB9XG4gIH1cblxuICB0b2dnbGVTZWxlY3RBbGwoZXZlbnQ6IE1hdENoZWNrYm94Q2hhbmdlKSB7XG4gICAgY29uc3Qgc2VsZWN0QWxsVmFsdWUgPSBldmVudC5jaGVja2VkO1xuICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zLnN1YnNjcmliZSgob3B0aW9uczogRWxlbWVudE9wdGlvbltdKSA9PiB7XG4gICAgICBpZiAoc2VsZWN0QWxsVmFsdWUpIHtcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbD8ucGF0Y2hWYWx1ZShvcHRpb25zKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZm9ybUNvbnRyb2w/LnBhdGNoVmFsdWUoW10pO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuZmlsdGVyZWRHcm91cHMuc3Vic2NyaWJlKChncm91cHM6IEVsZW1lbnRHcm91cFtdKSA9PiB7XG4gICAgICBpZiAoc2VsZWN0QWxsVmFsdWUpIHtcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbD8ucGF0Y2hWYWx1ZShcbiAgICAgICAgICBncm91cHMubWFwKChncm91cDogRWxlbWVudEdyb3VwKSA9PiBncm91cC5vcHRpb25zKVxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbD8ucGF0Y2hWYWx1ZShbXSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICB0b2dnbGVTZWxlY3Rpb24oY2hhbmdlOiBNYXRDaGVja2JveENoYW5nZSk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2UuY2hlY2tlZCkge1xuICAgICAgdGhpcy5mb3JtQ29udHJvbD8uc2V0VmFsdWUodGhpcy5maWx0ZXJlZE9wdGlvbnMpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZvcm1Db250cm9sPy5zZXRWYWx1ZShbXSk7XG4gICAgfVxuICB9XG5cbiAgaXNFbGVtZW50R3JvdXAob2JqZWN0OiBFbGVtZW50R3JvdXAgfCBFbGVtZW50T3B0aW9uKTogb2JqZWN0IGlzIEVsZW1lbnRHcm91cCB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIChvYmplY3QgYXMgRWxlbWVudEdyb3VwKS5sYWJlbCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgIChvYmplY3QgYXMgRWxlbWVudEdyb3VwKS5vcHRpb25zICE9PSB1bmRlZmluZWRcbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBhcmVGbihjMTogYW55LCBjMjogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGMxICYmIGMyID8gYzEua2V5ID09PSBjMi5rZXkgOiBjMSA9PT0gYzI7XG4gIH1cblxuICBoYXNWYWx1ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmZvcm1Db250cm9sLnZhbHVlO1xuICB9XG5cbiAgY2xlYXJWYWx1ZShldmVudDogYW55KTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZShudWxsKTtcbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cImVsZW1lbnRcIj5cbiAgPGxhYmVsICpuZ0lmPVwiZWxlbWVudC5sYWJlbFwiIGNsYXNzPVwibWFwYS1kcm9wZG93bl9fbGFiZWxcIj5cbiAgICB7eyBlbGVtZW50LmxhYmVsIH19XG4gIDwvbGFiZWw+XG4gIDxkaXYgY2xhc3M9XCJtYXBhLWZvcm0tLWlubGluZVwiPlxuICAgIDxtYXQtZm9ybS1maWVsZFxuICAgICAgYXBwZWFyYW5jZT1cIm91dGxpbmVcIlxuICAgICAgY2xhc3M9XCJtYXBhLWRyb3Bkb3duXCJcbiAgICAgIFtjbGFzcy5tYXBhLWRyb3Bkb3duLS1oaWdobGlnaHRdPVwiYm9yZGVyID09PSAnaGlnaGxpZ2h0J1wiXG4gICAgICBbY2xhc3MubWFwYS1kcm9wZG93bi0tc29mdC1ib3JkZXJdPVwiYm9yZGVyID09PSAnc29mdCdcIlxuICAgICAgW2NsYXNzLm1hcGEtZHJvcGRvd24tLXRhZ109XCJib3JkZXIgPT09ICd0YWcnXCJcbiAgICAgIFtjbGFzcy5tYXBhLWRyb3Bkb3duLS1sYWJlbGVkXT1cIiEhZWxlbWVudC5sYWJlbFwiXG4gICAgPlxuICAgICAgPG1hdC1zZWxlY3RcbiAgICAgICAgI2Ryb3Bkb3duXG4gICAgICAgIG5nRGVmYXVsdENvbnRyb2xcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICAgICAgW211bHRpcGxlXT1cImVsZW1lbnQubXVsdGlwbGVcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZWxlbWVudC5wbGFjZWhvbGRlciB8fCAnJ1wiXG4gICAgICAgIFtjb21wYXJlV2l0aF09XCJjb21wYXJlRm5cIlxuICAgICAgICAob3BlbmVkQ2hhbmdlKT1cInRyaWdnZXJPcGVuZWRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0lmPVwiZWxlbWVudC5zZWFyY2hcIiBjbGFzcz1cIm1hcGEtZHJvcGRvd25fX3NlYXJjaFwiPlxuICAgICAgICAgIDxuZ3gtbWF0LXNlbGVjdC1zZWFyY2hcbiAgICAgICAgICAgICpuZ0lmPVwiZWxlbWVudC5zZWFyY2guZm9ybUNvbnRyb2xcIlxuICAgICAgICAgICAgW3Nob3dUb2dnbGVBbGxDaGVja2JveF09XCJlbGVtZW50LnNlYXJjaC50b2dnbGVBbGxDaGVja2JveCFcIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImVsZW1lbnQuc2VhcmNoLmZvcm1Db250cm9sXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlckxhYmVsXT1cImVsZW1lbnQuc2VhcmNoLnBsYWNlaG9sZGVyIHx8ICcnXCJcbiAgICAgICAgICAgIGkxOG4tcGxhY2Vob2xkZXJMYWJlbFxuICAgICAgICAgICAgW25vRW50cmllc0ZvdW5kTGFiZWxdPVwiZWxlbWVudC5zZWFyY2gubm9FbnRyaWVzRm91bmRMYWJlbCB8fCAnJ1wiXG4gICAgICAgICAgPjwvbmd4LW1hdC1zZWxlY3Qtc2VhcmNoPlxuICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICAgKm5nSWY9XCJlbGVtZW50Lm11bHRpcGxlXCJcbiAgICAgICAgICBjbGFzcz1cIm1hcGEtZHJvcGRvd25fX29wdGlvbi0tc2VsZWN0LWFsbFwiXG4gICAgICAgID5cbiAgICAgICAgICA8bWF0LWNoZWNrYm94XG4gICAgICAgICAgICBjbGFzcz1cIm1hdC1vcHRpb25cIlxuICAgICAgICAgICAgW2luZGV0ZXJtaW5hdGVdPVwiaXNJbmRldGVybWluYXRlXCJcbiAgICAgICAgICAgIFtjaGVja2VkXT1cImlzQ2hlY2tlZFwiXG4gICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwidG9nZ2xlU2VsZWN0QWxsKCRldmVudClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIFNlbGVjaW9uYXIgdG9kb3NcbiAgICAgICAgICA8L21hdC1jaGVja2JveD5cbiAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNPcHRpb25zR3JvdXA7IGVsc2UgaXNFbGVtZW50T3B0aW9uc1wiPlxuICAgICAgICAgIDxtYXQtb3B0Z3JvdXBcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBncm91cCBvZiBmaWx0ZXJlZEdyb3VwcyB8IGFzeW5jXCJcbiAgICAgICAgICAgIFtsYWJlbF09XCJncm91cC5sYWJlbFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBncm91cC5vcHRpb25zXCJcbiAgICAgICAgICAgICAgW3ZhbHVlXT1cIm9wdGlvblwiXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIltcbiAgICAgICAgICAgICAgICAnbWFwYS1kcm9wZG93bl9fb3B0aW9uLS1jaGlsZHJlbi1sZXZlbC0nICsgb3B0aW9uLmNoaWxkcmVuTGV2ZWxcbiAgICAgICAgICAgICAgXVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwib3B0aW9uLnZhbHVlXCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgIDwvbWF0LW9wdGdyb3VwPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNpc0VsZW1lbnRPcHRpb25zPlxuICAgICAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGZpbHRlcmVkT3B0aW9ucyB8IGFzeW5jXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJvcHRpb25cIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiW1xuICAgICAgICAgICAgICAnbWFwYS1kcm9wZG93bl9fb3B0aW9uIG1hcGEtZHJvcGRvd25fX29wdGlvbi0tY2hpbGRyZW4tbGV2ZWwtJyArIG9wdGlvbi5jaGlsZHJlbkxldmVsXG4gICAgICAgICAgICBdXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hcGEtZHJvcGRvd25fX29wdGlvbi12YWx1ZVwiIFtpbm5lckhUTUxdPVwib3B0aW9uLnZhbHVlXCI+PC9zcGFuPlxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICA8bWF0LW9wdGlvblxuICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygc2VsZWN0ZWRPcHRpb25zXCJcbiAgICAgICAgICBoaWRkZW5cbiAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJbXG4gICAgICAgICAgICAnbWFwYS1kcm9wZG93bl9fb3B0aW9uLS1jaGlsZHJlbi1sZXZlbC0nICsgb3B0aW9uLmNoaWxkcmVuTGV2ZWxcbiAgICAgICAgICBdXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwib3B0aW9uLnZhbHVlXCI+PC9zcGFuPlxuICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICA8bWF0LWhpbnQgKm5nSWY9XCJlbGVtZW50LmhpbnRcIj57eyBlbGVtZW50LmhpbnQgfX08L21hdC1oaW50PlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcigncmVxdWlyZWQnKVwiPlxuICAgICAgICB7eyBlbGVtZW50LmVycm9ycz8ucmVxdWlyZWQgfX1cbiAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcignbWlubGVuZ3RoJylcIj5cbiAgICAgICAge3sgZWxlbWVudC5lcnJvcnM/Lm1pbmxlbmd0aCB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdjcGYnKVwiPlxuICAgICAgICB7eyBlbGVtZW50LmVycm9ycz8uY3BmIH19XG4gICAgICA8L21hdC1lcnJvcj5cbiAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtQ29udHJvbD8uaGFzRXJyb3IoJ2NucGonKVwiPlxuICAgICAgICB7eyBlbGVtZW50LmVycm9ycz8uY25waiB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdlbWFpbCcpXCI+XG4gICAgICAgIHt7IGVsZW1lbnQuZXJyb3JzPy5lbWFpbCB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdwYXR0ZXJuJylcIj5cbiAgICAgICAge3sgZWxlbWVudC5lcnJvcnM/LnBhdHRlcm4gfX1cbiAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcignbWluJylcIj5cbiAgICAgICAge3sgZWxlbWVudC5lcnJvcnM/Lm1pbiB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdtYXgnKVwiPlxuICAgICAgICB7eyBlbGVtZW50LmVycm9ycz8ubWF4IH19XG4gICAgICA8L21hdC1lcnJvcj5cbiAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtQ29udHJvbD8uaGFzRXJyb3IoJ21pbmxlbmd0aCcpXCI+XG4gICAgICAgIHt7IGVsZW1lbnQuZXJyb3JzPy5taW5MZW5ndGggfX1cbiAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcignbWF4bGVuZ3RoJylcIj5cbiAgICAgICAge3sgZWxlbWVudC5lcnJvcnM/Lm1heExlbmd0aCB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWljb25cbiAgICAgICAgKm5nSWY9XCJoYXNWYWx1ZSgpICYmICFmb3JtQ29udHJvbC5kaXNhYmxlZCAmJiBlbGVtZW50LmNsZWFyVmFsdWVcIlxuICAgICAgICAoY2xpY2spPVwiY2xlYXJWYWx1ZSgkZXZlbnQpXCJcbiAgICAgICAgY2xhc3M9XCJtYXBhLWlucHV0LS1jbG9zZVwiXG4gICAgICAgID5jbG9zZTwvbWF0LWljb25cbiAgICAgID5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDxkaXYgKm5nSWY9XCJlbGVtZW50LmFjdGlvbkJ1dHRvblwiIGNsYXNzPVwibWFwYS1mb3JtLS1hY3Rpb25cIj5cbiAgICAgIDxtYXBhLWJ1dHRvblxuICAgICAgICBjb2xvcj1cImJhc2ljXCJcbiAgICAgICAgKGNsaWNrKT1cImVsZW1lbnQuYWN0aW9uQnV0dG9uLmFjdGlvbi5lbWl0KHRydWUpXCJcbiAgICAgID5cbiAgICAgICAge3sgZWxlbWVudC5hY3Rpb25CdXR0b24ubGFiZWwgfX1cbiAgICAgIDwvbWFwYS1idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -39,7 +39,8 @@ export class MapaDropdownComponent {
39
39
  }
40
40
  }
41
41
  ngOnChanges(changes) {
42
- if (changes["element"].previousValue?.controlType === "dropdown" &&
42
+ if (changes['element'].previousValue !== undefined &&
43
+ changes["element"].previousValue?.controlType === "dropdown" &&
43
44
  changes["element"].previousValue?.options !== changes["element"].currentValue?.options) {
44
45
  this.element.options = changes["element"].currentValue.options;
45
46
  this.setOptions();
@@ -101,7 +102,6 @@ export class MapaDropdownComponent {
101
102
  .normalize('NFD')
102
103
  .replace(/[\u0300-\u036f]/g, "")
103
104
  .toLowerCase();
104
- console.log(normalizedValue);
105
105
  return normalizedValue;
106
106
  }
107
107
  triggerOpenedChange(event) {
@@ -189,4 +189,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
189
189
  type: ViewChild,
190
190
  args: ["dropdown", { static: true }]
191
191
  }] } });
192
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUlMLE1BQU0sRUFFTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBS3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7O0FBY2hELE1BQU0sT0FBTyxxQkFBcUI7SUF1QmhDLElBQUksZUFBZTtRQUNqQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDNUMsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVEO1FBdkJVLGlCQUFZLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFJN0Qsb0JBQWUsR0FBbUMsSUFBSSxhQUFhLENBRXhFLENBQUMsQ0FBQyxDQUFDO1FBQ0UsbUJBQWMsR0FBa0MsSUFBSSxhQUFhLENBRXRFLENBQUMsQ0FBQyxDQUFDO1FBQ0sseUJBQW9CLEdBQW9CLEVBQUUsQ0FBQztRQUMzQyx1QkFB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TztRQUN4QixPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUNsRCxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBVTtRQUNuQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQzs7bUhBdE1VLHFCQUFxQjt1R0FBckIscUJBQXFCLCtWQ2hDbEMsazNKQXFJQTs0RkRyR2EscUJBQXFCO2tCQU5qQyxTQUFTOytCQUNFLGVBQWUsaUJBR1YsaUJBQWlCLENBQUMsSUFBSTswRUFHNUIsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDSSxZQUFZO3NCQUFyQixNQUFNO2dCQUVrQyxRQUFRO3NCQUFoRCxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5cbmltcG9ydCB7IE1hdFNlbGVjdCB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3RcIjtcblxuaW1wb3J0IHsgUmVwbGF5U3ViamVjdCB9IGZyb20gXCJyeGpzL2ludGVybmFsL1JlcGxheVN1YmplY3RcIjtcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqcy9pbnRlcm5hbC9TdWJqZWN0XCI7XG4vL2ltcG9ydCB7IHRha2UsIHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuXG5pbXBvcnQgeyBFbGVtZW50T3B0aW9uIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvaW50ZXJmYWNlcy9lbGVtZW50LW9wdGlvbi5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IERyb3Bkb3duIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvZWxlbWVudHMvZHJvcGRvd25cIjtcbmltcG9ydCB7IEVsZW1lbnRHcm91cCB9IGZyb20gXCIuLi8uLi8uLi9jb3JlL2ludGVyZmFjZXMvZWxlbWVudC1ncm91cC5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IE1hdENoZWNrYm94Q2hhbmdlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJtYXBhLWRyb3Bkb3duXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vZHJvcGRvd24uY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL2Ryb3Bkb3duLmNvbXBvbmVudC5zY3NzXCJdLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBNYXBhRHJvcGRvd25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgZm9ybUNvbnRyb2whOiBGb3JtQ29udHJvbDtcbiAgQElucHV0KCkgZm9ybUNvbnRyb2xTZWFyY2ghOiBGb3JtQ29udHJvbDtcbiAgQElucHV0KCkgZWxlbWVudCE6IERyb3Bkb3duO1xuICBASW5wdXQoKSBib3JkZXI6IFwic29mdFwiIHwgXCJ0YWdcIiB8IFwiaGlnaGxpZ2h0XCIgfCBudWxsIHwgdW5kZWZpbmVkO1xuICBAT3V0cHV0KCkgb3BlbmVkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIEBWaWV3Q2hpbGQoXCJkcm9wZG93blwiLCB7IHN0YXRpYzogdHJ1ZSB9KSBkcm9wZG93biE6IE1hdFNlbGVjdDtcblxuICBwdWJsaWMgZmlsdGVyZWRPcHRpb25zOiBSZXBsYXlTdWJqZWN0PEVsZW1lbnRPcHRpb25bXT4gPSBuZXcgUmVwbGF5U3ViamVjdDxcbiAgICBFbGVtZW50T3B0aW9uW11cbiAgPigxKTtcbiAgcHVibGljIGZpbHRlcmVkR3JvdXBzOiBSZXBsYXlTdWJqZWN0PEVsZW1lbnRHcm91cFtdPiA9IG5ldyBSZXBsYXlTdWJqZWN0PFxuICAgIEVsZW1lbnRHcm91cFtdXG4gID4oMSk7XG4gIHByb3RlY3RlZCBmaWx0ZXJlZE9wdGlvbnNDYWNoZTogRWxlbWVudE9wdGlvbltdID0gW107XG4gIHByb3RlY3RlZCBmaWx0ZXJlZEdyb3VwQ2FjaGU6IEVsZW1lbnRHcm91cFtdID0gW107XG4gIHByb3RlY3RlZCBfb25EZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBpc0luZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgaXNDaGVja2VkID0gZmFsc2U7XG4gIGlzT3B0aW9uc0dyb3VwID0gZmFsc2U7XG5cbiAgZ2V0IHNlbGVjdGVkT3B0aW9ucygpIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZm9ybUNvbnRyb2w/LnZhbHVlIHx8IFtdO1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW3ZhbHVlXTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZXRPcHRpb25zKCk7XG5cbiAgICBpZiAodGhpcy5lbGVtZW50LnNlYXJjaCkge1xuICAgICAgdGhpcy5lbGVtZW50LnNlYXJjaC5mb3JtQ29udHJvbD8udmFsdWVDaGFuZ2VzXG4gICAgICAgIC8vLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuZmlsdGVyT3B0aW9ucygpO1xuICAgICAgICAgIHRoaXMuc2V0VG9nZ2xlQWxsQ2hlY2tib3hTdGF0ZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgY2hhbmdlc1tcImVsZW1lbnRcIl0ucHJldmlvdXNWYWx1ZT8uY29udHJvbFR5cGUgPT09IFwiZHJvcGRvd25cIiAmJlxuICAgICAgY2hhbmdlc1tcImVsZW1lbnRcIl0ucHJldmlvdXNWYWx1ZT8ub3B0aW9ucyAhPT0gY2hhbmdlc1tcImVsZW1lbnRcIl0uY3VycmVudFZhbHVlPy5vcHRpb25zXG4gICAgKSB7XG4gICAgICB0aGlzLmVsZW1lbnQub3B0aW9ucyA9IGNoYW5nZXNbXCJlbGVtZW50XCJdLmN1cnJlbnRWYWx1ZS5vcHRpb25zO1xuICAgICAgdGhpcy5zZXRPcHRpb25zKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fb25EZXN0cm95Lm5leHQoKTtcbiAgICB0aGlzLl9vbkRlc3Ryb3kuY29tcGxldGUoKTtcbiAgfVxuXG4gIHNldE9wdGlvbnMoKTogdm9pZCB7XG4gICAgdGhpcy5pc09wdGlvbnNHcm91cCA9IHRoaXMuaXNFbGVtZW50R3JvdXAodGhpcy5lbGVtZW50Lm9wdGlvbnNbMF0pO1xuXG4gICAgaWYgKHRoaXMuaXNPcHRpb25zR3JvdXApIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRHcm91cENhY2hlID0gKHRoaXMuZWxlbWVudFxuICAgICAgICAub3B0aW9ucyBhcyBFbGVtZW50R3JvdXBbXSkuc2xpY2UoKTtcbiAgICAgIHRoaXMuZmlsdGVyZWRHcm91cHMubmV4dCh0aGlzLmZpbHRlcmVkR3JvdXBDYWNoZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUgPSAodGhpcy5lbGVtZW50XG4gICAgICAgIC5vcHRpb25zIGFzIEVsZW1lbnRPcHRpb25bXSkuc2xpY2UoKTtcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zLm5leHQodGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGZpbHRlck9wdGlvbnNGcm9tR3JvdXAoXG4gICAgZ3JvdXA6IEVsZW1lbnRHcm91cCxcbiAgICB2YWx1ZTogc3RyaW5nXG4gICk6IEVsZW1lbnRPcHRpb25bXSB7XG4gICAgY29uc3QgZmlsdGVyVmFsdWUgPSB0aGlzLm5vcm1hbGl6ZVZhbHVlKHZhbHVlKTtcblxuICAgIHJldHVybiB0aGlzLm5vcm1hbGl6ZVZhbHVlKGdyb3VwLmxhYmVsKS5pbmNsdWRlcyhmaWx0ZXJWYWx1ZSlcbiAgICAgID8gZ3JvdXAub3B0aW9uc1xuICAgICAgOiBncm91cC5vcHRpb25zLmZpbHRlcigoaXRlbSkgPT5cbiAgICAgICAgdGhpcy5ub3JtYWxpemVWYWx1ZShpdGVtLnZhbHVlKS5pbmNsdWRlcyhmaWx0ZXJWYWx1ZSlcbiAgICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZmlsdGVyT3B0aW9ucygpIHtcbiAgICBpZiAoIXRoaXMuZWxlbWVudC5vcHRpb25zKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIGdldCB0aGUgc2VhcmNoIGtleXdvcmRcbiAgICBsZXQgc2VhcmNoID0gdGhpcy5ub3JtYWxpemVWYWx1ZSh0aGlzLmVsZW1lbnQuc2VhcmNoPy5mb3JtQ29udHJvbD8udmFsdWUpO1xuXG4gICAgaWYgKHRoaXMuaXNPcHRpb25zR3JvdXApIHtcbiAgICAgIGNvbnN0IGdyb3VwcyA9IHRoaXMuZWxlbWVudC5vcHRpb25zIGFzIEVsZW1lbnRHcm91cFtdO1xuICAgICAgdGhpcy5maWx0ZXJlZEdyb3VwQ2FjaGUgPSBncm91cHNcbiAgICAgICAgLm1hcCgoZ3JvdXA6IEVsZW1lbnRHcm91cCkgPT4gKHtcbiAgICAgICAgICBsYWJlbDogZ3JvdXAubGFiZWwsXG4gICAgICAgICAgb3B0aW9uczogdGhpcy5maWx0ZXJPcHRpb25zRnJvbUdyb3VwKGdyb3VwLCBzZWFyY2gpLFxuICAgICAgICB9KSlcbiAgICAgICAgLmZpbHRlcigoZ3JvdXApID0+IGdyb3VwLm9wdGlvbnMubGVuZ3RoID4gMCk7XG4gICAgICB0aGlzLmZpbHRlcmVkR3JvdXBzLm5leHQodGhpcy5maWx0ZXJlZEdyb3VwQ2FjaGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBvcHRpb25zID0gdGhpcy5lbGVtZW50Lm9wdGlvbnMgYXMgRWxlbWVudE9wdGlvbltdO1xuICAgICAgaWYgKCFzZWFyY2gpIHtcbiAgICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZSA9IG9wdGlvbnMuc2xpY2UoKTtcbiAgICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMubmV4dCh0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgLy8gZmlsdGVyIHRoZSBvcHRpb25zXG4gICAgICB0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlID0gb3B0aW9ucy5maWx0ZXIoXG4gICAgICAgIChvcHRpb246IEVsZW1lbnRPcHRpb24pID0+XG4gICAgICAgICAgdGhpcy5ub3JtYWxpemVWYWx1ZShvcHRpb24udmFsdWUpLmluZGV4T2Yoc2VhcmNoKSA+IC0xXG4gICAgICApO1xuICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMubmV4dCh0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlKTtcbiAgICB9XG4gIH1cblxuICBub3JtYWxpemVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBub3JtYWxpemVkVmFsdWUgPSB2YWx1ZVxuICAgICAgLm5vcm1hbGl6ZSgnTkZEJylcbiAgICAgIC5yZXBsYWNlKC9bXFx1MDMwMC1cXHUwMzZmXS9nLCBcIlwiKVxuICAgICAgLnRvTG93ZXJDYXNlKCk7XG4gICAgY29uc29sZS5sb2cobm9ybWFsaXplZFZhbHVlKTtcbiAgICByZXR1cm4gbm9ybWFsaXplZFZhbHVlO1xuICB9XG5cbiAgdHJpZ2dlck9wZW5lZENoYW5nZShldmVudDogYW55KSB7XG4gICAgdGhpcy5vcGVuZWRDaGFuZ2UuZW1pdChldmVudCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0VG9nZ2xlQWxsQ2hlY2tib3hTdGF0ZSgpIHtcbiAgICBsZXQgZmlsdGVyZWRMZW5ndGggPSAwO1xuICAgIGxldCBzZWFyY2ggPSB0aGlzLmVsZW1lbnQuc2VhcmNoPy5mb3JtQ29udHJvbD8udmFsdWU7XG5cbiAgICBpZiAoc2VhcmNoICYmIHNlYXJjaC52YWx1ZSkge1xuICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZS5mb3JFYWNoKChlbCkgPT4ge1xuICAgICAgICBpZiAoc2VhcmNoLnZhbHVlLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihlbCkgPiAtMSkge1xuICAgICAgICAgIGZpbHRlcmVkTGVuZ3RoKys7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgdGhpcy5pc0luZGV0ZXJtaW5hdGUgPVxuICAgICAgICBmaWx0ZXJlZExlbmd0aCA+IDAgJiYgZmlsdGVyZWRMZW5ndGggPCB0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlLmxlbmd0aDtcbiAgICAgIHRoaXMuaXNDaGVja2VkID1cbiAgICAgICAgZmlsdGVyZWRMZW5ndGggPiAwICYmXG4gICAgICAgIGZpbHRlcmVkTGVuZ3RoID09PSB0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlLmxlbmd0aDtcbiAgICB9XG4gIH1cblxuICB0b2dnbGVTZWxlY3RBbGwoZXZlbnQ6IE1hdENoZWNrYm94Q2hhbmdlKSB7XG4gICAgY29uc3Qgc2VsZWN0QWxsVmFsdWUgPSBldmVudC5jaGVja2VkO1xuICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zLnN1YnNjcmliZSgob3B0aW9uczogRWxlbWVudE9wdGlvbltdKSA9PiB7XG4gICAgICBpZiAoc2VsZWN0QWxsVmFsdWUpIHtcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbD8ucGF0Y2hWYWx1ZShvcHRpb25zKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZm9ybUNvbnRyb2w/LnBhdGNoVmFsdWUoW10pO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuZmlsdGVyZWRHcm91cHMuc3Vic2NyaWJlKChncm91cHM6IEVsZW1lbnRHcm91cFtdKSA9PiB7XG4gICAgICBpZiAoc2VsZWN0QWxsVmFsdWUpIHtcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbD8ucGF0Y2hWYWx1ZShcbiAgICAgICAgICBncm91cHMubWFwKChncm91cDogRWxlbWVudEdyb3VwKSA9PiBncm91cC5vcHRpb25zKVxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbD8ucGF0Y2hWYWx1ZShbXSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICB0b2dnbGVTZWxlY3Rpb24oY2hhbmdlOiBNYXRDaGVja2JveENoYW5nZSk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2UuY2hlY2tlZCkge1xuICAgICAgdGhpcy5mb3JtQ29udHJvbD8uc2V0VmFsdWUodGhpcy5maWx0ZXJlZE9wdGlvbnMpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZvcm1Db250cm9sPy5zZXRWYWx1ZShbXSk7XG4gICAgfVxuICB9XG5cbiAgaXNFbGVtZW50R3JvdXAob2JqZWN0OiBFbGVtZW50R3JvdXAgfCBFbGVtZW50T3B0aW9uKTogb2JqZWN0IGlzIEVsZW1lbnRHcm91cCB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIChvYmplY3QgYXMgRWxlbWVudEdyb3VwKS5sYWJlbCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgIChvYmplY3QgYXMgRWxlbWVudEdyb3VwKS5vcHRpb25zICE9PSB1bmRlZmluZWRcbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBhcmVGbihjMTogYW55LCBjMjogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGMxICYmIGMyID8gYzEua2V5ID09PSBjMi5rZXkgOiBjMSA9PT0gYzI7XG4gIH1cblxuICBoYXNWYWx1ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmZvcm1Db250cm9sLnZhbHVlO1xuICB9XG5cbiAgY2xlYXJWYWx1ZShldmVudDogYW55KTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZShudWxsKTtcbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cImVsZW1lbnRcIj5cbiAgPGxhYmVsICpuZ0lmPVwiZWxlbWVudC5sYWJlbFwiIGNsYXNzPVwibWFwYS1kcm9wZG93bl9fbGFiZWxcIj5cbiAgICB7eyBlbGVtZW50LmxhYmVsIH19XG4gIDwvbGFiZWw+XG4gIDxkaXYgY2xhc3M9XCJtYXBhLWZvcm0tLWlubGluZVwiPlxuICAgIDxtYXQtZm9ybS1maWVsZFxuICAgICAgYXBwZWFyYW5jZT1cIm91dGxpbmVcIlxuICAgICAgY2xhc3M9XCJtYXBhLWRyb3Bkb3duXCJcbiAgICAgIFtjbGFzcy5tYXBhLWRyb3Bkb3duLS1oaWdobGlnaHRdPVwiYm9yZGVyID09PSAnaGlnaGxpZ2h0J1wiXG4gICAgICBbY2xhc3MubWFwYS1kcm9wZG93bi0tc29mdC1ib3JkZXJdPVwiYm9yZGVyID09PSAnc29mdCdcIlxuICAgICAgW2NsYXNzLm1hcGEtZHJvcGRvd24tLXRhZ109XCJib3JkZXIgPT09ICd0YWcnXCJcbiAgICAgIFtjbGFzcy5tYXBhLWRyb3Bkb3duLS1sYWJlbGVkXT1cIiEhZWxlbWVudC5sYWJlbFwiXG4gICAgPlxuICAgICAgPG1hdC1zZWxlY3RcbiAgICAgICAgI2Ryb3Bkb3duXG4gICAgICAgIG5nRGVmYXVsdENvbnRyb2xcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICAgICAgW211bHRpcGxlXT1cImVsZW1lbnQubXVsdGlwbGVcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZWxlbWVudC5wbGFjZWhvbGRlciB8fCAnJ1wiXG4gICAgICAgIFtjb21wYXJlV2l0aF09XCJjb21wYXJlRm5cIlxuICAgICAgICAob3BlbmVkQ2hhbmdlKT1cInRyaWdnZXJPcGVuZWRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0lmPVwiZWxlbWVudC5zZWFyY2hcIiBjbGFzcz1cIm1hcGEtZHJvcGRvd25fX3NlYXJjaFwiPlxuICAgICAgICAgIDxuZ3gtbWF0LXNlbGVjdC1zZWFyY2hcbiAgICAgICAgICAgICpuZ0lmPVwiZWxlbWVudC5zZWFyY2guZm9ybUNvbnRyb2xcIlxuICAgICAgICAgICAgW3Nob3dUb2dnbGVBbGxDaGVja2JveF09XCJlbGVtZW50LnNlYXJjaC50b2dnbGVBbGxDaGVja2JveCFcIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImVsZW1lbnQuc2VhcmNoLmZvcm1Db250cm9sXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlckxhYmVsXT1cImVsZW1lbnQuc2VhcmNoLnBsYWNlaG9sZGVyIHx8ICcnXCJcbiAgICAgICAgICAgIGkxOG4tcGxhY2Vob2xkZXJMYWJlbFxuICAgICAgICAgICAgW25vRW50cmllc0ZvdW5kTGFiZWxdPVwiZWxlbWVudC5zZWFyY2gubm9FbnRyaWVzRm91bmRMYWJlbCB8fCAnJ1wiXG4gICAgICAgICAgPjwvbmd4LW1hdC1zZWxlY3Qtc2VhcmNoPlxuICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICAgKm5nSWY9XCJlbGVtZW50Lm11bHRpcGxlXCJcbiAgICAgICAgICBjbGFzcz1cIm1hcGEtZHJvcGRvd25fX29wdGlvbi0tc2VsZWN0LWFsbFwiXG4gICAgICAgID5cbiAgICAgICAgICA8bWF0LWNoZWNrYm94XG4gICAgICAgICAgICBjbGFzcz1cIm1hdC1vcHRpb25cIlxuICAgICAgICAgICAgW2luZGV0ZXJtaW5hdGVdPVwiaXNJbmRldGVybWluYXRlXCJcbiAgICAgICAgICAgIFtjaGVja2VkXT1cImlzQ2hlY2tlZFwiXG4gICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwidG9nZ2xlU2VsZWN0QWxsKCRldmVudClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIFNlbGVjaW9uYXIgdG9kb3NcbiAgICAgICAgICA8L21hdC1jaGVja2JveD5cbiAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNPcHRpb25zR3JvdXA7IGVsc2UgaXNFbGVtZW50T3B0aW9uc1wiPlxuICAgICAgICAgIDxtYXQtb3B0Z3JvdXBcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBncm91cCBvZiBmaWx0ZXJlZEdyb3VwcyB8IGFzeW5jXCJcbiAgICAgICAgICAgIFtsYWJlbF09XCJncm91cC5sYWJlbFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBncm91cC5vcHRpb25zXCJcbiAgICAgICAgICAgICAgW3ZhbHVlXT1cIm9wdGlvblwiXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIltcbiAgICAgICAgICAgICAgICAnbWFwYS1kcm9wZG93bl9fb3B0aW9uLS1jaGlsZHJlbi1sZXZlbC0nICsgb3B0aW9uLmNoaWxkcmVuTGV2ZWxcbiAgICAgICAgICAgICAgXVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwib3B0aW9uLnZhbHVlXCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgIDwvbWF0LW9wdGdyb3VwPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNpc0VsZW1lbnRPcHRpb25zPlxuICAgICAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGZpbHRlcmVkT3B0aW9ucyB8IGFzeW5jXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJvcHRpb25cIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiW1xuICAgICAgICAgICAgICAnbWFwYS1kcm9wZG93bl9fb3B0aW9uIG1hcGEtZHJvcGRvd25fX29wdGlvbi0tY2hpbGRyZW4tbGV2ZWwtJyArIG9wdGlvbi5jaGlsZHJlbkxldmVsXG4gICAgICAgICAgICBdXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hcGEtZHJvcGRvd25fX29wdGlvbi12YWx1ZVwiIFtpbm5lckhUTUxdPVwib3B0aW9uLnZhbHVlXCI+PC9zcGFuPlxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICA8bWF0LW9wdGlvblxuICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygc2VsZWN0ZWRPcHRpb25zXCJcbiAgICAgICAgICBoaWRkZW5cbiAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJbXG4gICAgICAgICAgICAnbWFwYS1kcm9wZG93bl9fb3B0aW9uLS1jaGlsZHJlbi1sZXZlbC0nICsgb3B0aW9uLmNoaWxkcmVuTGV2ZWxcbiAgICAgICAgICBdXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwib3B0aW9uLnZhbHVlXCI+PC9zcGFuPlxuICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICA8bWF0LWhpbnQgKm5nSWY9XCJlbGVtZW50LmhpbnRcIj57eyBlbGVtZW50LmhpbnQgfX08L21hdC1oaW50PlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcigncmVxdWlyZWQnKVwiPlxuICAgICAgICB7eyBlbGVtZW50LmVycm9ycz8ucmVxdWlyZWQgfX1cbiAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcignbWlubGVuZ3RoJylcIj5cbiAgICAgICAge3sgZWxlbWVudC5lcnJvcnM/Lm1pbmxlbmd0aCB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdjcGYnKVwiPlxuICAgICAgICB7eyBlbGVtZW50LmVycm9ycz8uY3BmIH19XG4gICAgICA8L21hdC1lcnJvcj5cbiAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtQ29udHJvbD8uaGFzRXJyb3IoJ2NucGonKVwiPlxuICAgICAgICB7eyBlbGVtZW50LmVycm9ycz8uY25waiB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdlbWFpbCcpXCI+XG4gICAgICAgIHt7IGVsZW1lbnQuZXJyb3JzPy5lbWFpbCB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdwYXR0ZXJuJylcIj5cbiAgICAgICAge3sgZWxlbWVudC5lcnJvcnM/LnBhdHRlcm4gfX1cbiAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcignbWluJylcIj5cbiAgICAgICAge3sgZWxlbWVudC5lcnJvcnM/Lm1pbiB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdtYXgnKVwiPlxuICAgICAgICB7eyBlbGVtZW50LmVycm9ycz8ubWF4IH19XG4gICAgICA8L21hdC1lcnJvcj5cbiAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtQ29udHJvbD8uaGFzRXJyb3IoJ21pbmxlbmd0aCcpXCI+XG4gICAgICAgIHt7IGVsZW1lbnQuZXJyb3JzPy5taW5MZW5ndGggfX1cbiAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcignbWF4bGVuZ3RoJylcIj5cbiAgICAgICAge3sgZWxlbWVudC5lcnJvcnM/Lm1heExlbmd0aCB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWljb25cbiAgICAgICAgKm5nSWY9XCJoYXNWYWx1ZSgpICYmICFmb3JtQ29udHJvbC5kaXNhYmxlZCAmJiBlbGVtZW50LmNsZWFyVmFsdWVcIlxuICAgICAgICAoY2xpY2spPVwiY2xlYXJWYWx1ZSgkZXZlbnQpXCJcbiAgICAgICAgY2xhc3M9XCJtYXBhLWlucHV0LS1jbG9zZVwiXG4gICAgICAgID5jbG9zZTwvbWF0LWljb25cbiAgICAgID5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDxkaXYgKm5nSWY9XCJlbGVtZW50LmFjdGlvbkJ1dHRvblwiIGNsYXNzPVwibWFwYS1mb3JtLS1hY3Rpb25cIj5cbiAgICAgIDxtYXBhLWJ1dHRvblxuICAgICAgICBjb2xvcj1cImJhc2ljXCJcbiAgICAgICAgKGNsaWNrKT1cImVsZW1lbnQuYWN0aW9uQnV0dG9uLmFjdGlvbi5lbWl0KHRydWUpXCJcbiAgICAgID5cbiAgICAgICAge3sgZWxlbWVudC5hY3Rpb25CdXR0b24ubGFiZWwgfX1cbiAgICAgIDwvbWFwYS1idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
192
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUlMLE1BQU0sRUFFTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBS3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7O0FBY2hELE1BQU0sT0FBTyxxQkFBcUI7SUF1QmhDLElBQUksZUFBZTtRQUNqQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDNUMsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVEO1FBdkJVLGlCQUFZLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFJN0Qsb0JBQWUsR0FBbUMsSUFBSSxhQUFhLENBRXhFLENBQUMsQ0FBQyxDQUFDO1FBQ0UsbUJBQWMsR0FBa0MsSUFBSSxhQUFhLENBRXRFLENBQUMsQ0FBQyxDQUFDO1FBQ0sseUJBQW9CLEdBQW9CLEVBQUUsQ0FBQztRQUMzQyx1QkFB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RSxFQUFPO1FBQ3hCLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQ2xELENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7SUFDbEMsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFVO1FBQ25CLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDOzttSEF0TVUscUJBQXFCO3VHQUFyQixxQkFBcUIsK1ZDaENsQyxrM0pBcUlBOzRGRHJHYSxxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0UsZUFBZSxpQkFHVixpQkFBaUIsQ0FBQyxJQUFJOzBFQUc1QixXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNJLFlBQVk7c0JBQXJCLE1BQU07Z0JBRWtDLFFBQVE7c0JBQWhELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcblxuaW1wb3J0IHsgTWF0U2VsZWN0IH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NlbGVjdFwiO1xuXG5pbXBvcnQgeyBSZXBsYXlTdWJqZWN0IH0gZnJvbSBcInJ4anMvaW50ZXJuYWwvUmVwbGF5U3ViamVjdFwiO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzL2ludGVybmFsL1N1YmplY3RcIjtcbi8vaW1wb3J0IHsgdGFrZSwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5cbmltcG9ydCB7IEVsZW1lbnRPcHRpb24gfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9pbnRlcmZhY2VzL2VsZW1lbnQtb3B0aW9uLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgRHJvcGRvd24gfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9lbGVtZW50cy9kcm9wZG93blwiO1xuaW1wb3J0IHsgRWxlbWVudEdyb3VwIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvaW50ZXJmYWNlcy9lbGVtZW50LWdyb3VwLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgTWF0Q2hlY2tib3hDaGFuZ2UgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3hcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcIm1hcGEtZHJvcGRvd25cIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9kcm9wZG93bi5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vZHJvcGRvd24uY29tcG9uZW50LnNjc3NcIl0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIE1hcGFEcm9wZG93bkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBmb3JtQ29udHJvbCE6IEZvcm1Db250cm9sO1xuICBASW5wdXQoKSBmb3JtQ29udHJvbFNlYXJjaCE6IEZvcm1Db250cm9sO1xuICBASW5wdXQoKSBlbGVtZW50ITogRHJvcGRvd247XG4gIEBJbnB1dCgpIGJvcmRlcjogXCJzb2Z0XCIgfCBcInRhZ1wiIHwgXCJoaWdobGlnaHRcIiB8IG51bGwgfCB1bmRlZmluZWQ7XG4gIEBPdXRwdXQoKSBvcGVuZWRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgQFZpZXdDaGlsZChcImRyb3Bkb3duXCIsIHsgc3RhdGljOiB0cnVlIH0pIGRyb3Bkb3duITogTWF0U2VsZWN0O1xuXG4gIHB1YmxpYyBmaWx0ZXJlZE9wdGlvbnM6IFJlcGxheVN1YmplY3Q8RWxlbWVudE9wdGlvbltdPiA9IG5ldyBSZXBsYXlTdWJqZWN0PFxuICAgIEVsZW1lbnRPcHRpb25bXVxuICA+KDEpO1xuICBwdWJsaWMgZmlsdGVyZWRHcm91cHM6IFJlcGxheVN1YmplY3Q8RWxlbWVudEdyb3VwW10+ID0gbmV3IFJlcGxheVN1YmplY3Q8XG4gICAgRWxlbWVudEdyb3VwW11cbiAgPigxKTtcbiAgcHJvdGVjdGVkIGZpbHRlcmVkT3B0aW9uc0NhY2hlOiBFbGVtZW50T3B0aW9uW10gPSBbXTtcbiAgcHJvdGVjdGVkIGZpbHRlcmVkR3JvdXBDYWNoZTogRWxlbWVudEdyb3VwW10gPSBbXTtcbiAgcHJvdGVjdGVkIF9vbkRlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGlzSW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICBpc0NoZWNrZWQgPSBmYWxzZTtcbiAgaXNPcHRpb25zR3JvdXAgPSBmYWxzZTtcblxuICBnZXQgc2VsZWN0ZWRPcHRpb25zKCkge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5mb3JtQ29udHJvbD8udmFsdWUgfHwgW107XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbdmFsdWVdO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNldE9wdGlvbnMoKTtcblxuICAgIGlmICh0aGlzLmVsZW1lbnQuc2VhcmNoKSB7XG4gICAgICB0aGlzLmVsZW1lbnQuc2VhcmNoLmZvcm1Db250cm9sPy52YWx1ZUNoYW5nZXNcbiAgICAgICAgLy8ucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95KSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5maWx0ZXJPcHRpb25zKCk7XG4gICAgICAgICAgdGhpcy5zZXRUb2dnbGVBbGxDaGVja2JveFN0YXRlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICBjaGFuZ2VzWydlbGVtZW50J10ucHJldmlvdXNWYWx1ZSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICBjaGFuZ2VzW1wiZWxlbWVudFwiXS5wcmV2aW91c1ZhbHVlPy5jb250cm9sVHlwZSA9PT0gXCJkcm9wZG93blwiICYmXG4gICAgICBjaGFuZ2VzW1wiZWxlbWVudFwiXS5wcmV2aW91c1ZhbHVlPy5vcHRpb25zICE9PSBjaGFuZ2VzW1wiZWxlbWVudFwiXS5jdXJyZW50VmFsdWU/Lm9wdGlvbnNcbiAgICApIHtcbiAgICAgIHRoaXMuZWxlbWVudC5vcHRpb25zID0gY2hhbmdlc1tcImVsZW1lbnRcIl0uY3VycmVudFZhbHVlLm9wdGlvbnM7XG4gICAgICB0aGlzLnNldE9wdGlvbnMoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9vbkRlc3Ryb3kubmV4dCgpO1xuICAgIHRoaXMuX29uRGVzdHJveS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgc2V0T3B0aW9ucygpOiB2b2lkIHtcbiAgICB0aGlzLmlzT3B0aW9uc0dyb3VwID0gdGhpcy5pc0VsZW1lbnRHcm91cCh0aGlzLmVsZW1lbnQub3B0aW9uc1swXSk7XG5cbiAgICBpZiAodGhpcy5pc09wdGlvbnNHcm91cCkge1xuICAgICAgdGhpcy5maWx0ZXJlZEdyb3VwQ2FjaGUgPSAodGhpcy5lbGVtZW50XG4gICAgICAgIC5vcHRpb25zIGFzIEVsZW1lbnRHcm91cFtdKS5zbGljZSgpO1xuICAgICAgdGhpcy5maWx0ZXJlZEdyb3Vwcy5uZXh0KHRoaXMuZmlsdGVyZWRHcm91cENhY2hlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZSA9ICh0aGlzLmVsZW1lbnRcbiAgICAgICAgLm9wdGlvbnMgYXMgRWxlbWVudE9wdGlvbltdKS5zbGljZSgpO1xuICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMubmV4dCh0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgZmlsdGVyT3B0aW9uc0Zyb21Hcm91cChcbiAgICBncm91cDogRWxlbWVudEdyb3VwLFxuICAgIHZhbHVlOiBzdHJpbmdcbiAgKTogRWxlbWVudE9wdGlvbltdIHtcbiAgICBjb25zdCBmaWx0ZXJWYWx1ZSA9IHRoaXMubm9ybWFsaXplVmFsdWUodmFsdWUpO1xuXG4gICAgcmV0dXJuIHRoaXMubm9ybWFsaXplVmFsdWUoZ3JvdXAubGFiZWwpLmluY2x1ZGVzKGZpbHRlclZhbHVlKVxuICAgICAgPyBncm91cC5vcHRpb25zXG4gICAgICA6IGdyb3VwLm9wdGlvbnMuZmlsdGVyKChpdGVtKSA9PlxuICAgICAgICB0aGlzLm5vcm1hbGl6ZVZhbHVlKGl0ZW0udmFsdWUpLmluY2x1ZGVzKGZpbHRlclZhbHVlKVxuICAgICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBmaWx0ZXJPcHRpb25zKCkge1xuICAgIGlmICghdGhpcy5lbGVtZW50Lm9wdGlvbnMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gZ2V0IHRoZSBzZWFyY2gga2V5d29yZFxuICAgIGxldCBzZWFyY2ggPSB0aGlzLm5vcm1hbGl6ZVZhbHVlKHRoaXMuZWxlbWVudC5zZWFyY2g/LmZvcm1Db250cm9sPy52YWx1ZSk7XG5cbiAgICBpZiAodGhpcy5pc09wdGlvbnNHcm91cCkge1xuICAgICAgY29uc3QgZ3JvdXBzID0gdGhpcy5lbGVtZW50Lm9wdGlvbnMgYXMgRWxlbWVudEdyb3VwW107XG4gICAgICB0aGlzLmZpbHRlcmVkR3JvdXBDYWNoZSA9IGdyb3Vwc1xuICAgICAgICAubWFwKChncm91cDogRWxlbWVudEdyb3VwKSA9PiAoe1xuICAgICAgICAgIGxhYmVsOiBncm91cC5sYWJlbCxcbiAgICAgICAgICBvcHRpb25zOiB0aGlzLmZpbHRlck9wdGlvbnNGcm9tR3JvdXAoZ3JvdXAsIHNlYXJjaCksXG4gICAgICAgIH0pKVxuICAgICAgICAuZmlsdGVyKChncm91cCkgPT4gZ3JvdXAub3B0aW9ucy5sZW5ndGggPiAwKTtcbiAgICAgIHRoaXMuZmlsdGVyZWRHcm91cHMubmV4dCh0aGlzLmZpbHRlcmVkR3JvdXBDYWNoZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLmVsZW1lbnQub3B0aW9ucyBhcyBFbGVtZW50T3B0aW9uW107XG4gICAgICBpZiAoIXNlYXJjaCkge1xuICAgICAgICB0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlID0gb3B0aW9ucy5zbGljZSgpO1xuICAgICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucy5uZXh0KHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICAvLyBmaWx0ZXIgdGhlIG9wdGlvbnNcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUgPSBvcHRpb25zLmZpbHRlcihcbiAgICAgICAgKG9wdGlvbjogRWxlbWVudE9wdGlvbikgPT5cbiAgICAgICAgICB0aGlzLm5vcm1hbGl6ZVZhbHVlKG9wdGlvbi52YWx1ZSkuaW5kZXhPZihzZWFyY2gpID4gLTFcbiAgICAgICk7XG4gICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucy5uZXh0KHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUpO1xuICAgIH1cbiAgfVxuXG4gIG5vcm1hbGl6ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IG5vcm1hbGl6ZWRWYWx1ZSA9IHZhbHVlXG4gICAgICAubm9ybWFsaXplKCdORkQnKVxuICAgICAgLnJlcGxhY2UoL1tcXHUwMzAwLVxcdTAzNmZdL2csIFwiXCIpXG4gICAgICAudG9Mb3dlckNhc2UoKTtcbiAgICByZXR1cm4gbm9ybWFsaXplZFZhbHVlO1xuICB9XG5cbiAgdHJpZ2dlck9wZW5lZENoYW5nZShldmVudDogYW55KSB7XG4gICAgdGhpcy5vcGVuZWRDaGFuZ2UuZW1pdChldmVudCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0VG9nZ2xlQWxsQ2hlY2tib3hTdGF0ZSgpIHtcbiAgICBsZXQgZmlsdGVyZWRMZW5ndGggPSAwO1xuICAgIGxldCBzZWFyY2ggPSB0aGlzLmVsZW1lbnQuc2VhcmNoPy5mb3JtQ29udHJvbD8udmFsdWU7XG5cbiAgICBpZiAoc2VhcmNoICYmIHNlYXJjaC52YWx1ZSkge1xuICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZS5mb3JFYWNoKChlbCkgPT4ge1xuICAgICAgICBpZiAoc2VhcmNoLnZhbHVlLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihlbCkgPiAtMSkge1xuICAgICAgICAgIGZpbHRlcmVkTGVuZ3RoKys7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgdGhpcy5pc0luZGV0ZXJtaW5hdGUgPVxuICAgICAgICBmaWx0ZXJlZExlbmd0aCA+IDAgJiYgZmlsdGVyZWRMZW5ndGggPCB0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlLmxlbmd0aDtcbiAgICAgIHRoaXMuaXNDaGVja2VkID1cbiAgICAgICAgZmlsdGVyZWRMZW5ndGggPiAwICYmXG4gICAgICAgIGZpbHRlcmVkTGVuZ3RoID09PSB0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlLmxlbmd0aDtcbiAgICB9XG4gIH1cblxuICB0b2dnbGVTZWxlY3RBbGwoZXZlbnQ6IE1hdENoZWNrYm94Q2hhbmdlKSB7XG4gICAgY29uc3Qgc2VsZWN0QWxsVmFsdWUgPSBldmVudC5jaGVja2VkO1xuICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zLnN1YnNjcmliZSgob3B0aW9uczogRWxlbWVudE9wdGlvbltdKSA9PiB7XG4gICAgICBpZiAoc2VsZWN0QWxsVmFsdWUpIHtcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbD8ucGF0Y2hWYWx1ZShvcHRpb25zKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZm9ybUNvbnRyb2w/LnBhdGNoVmFsdWUoW10pO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuZmlsdGVyZWRHcm91cHMuc3Vic2NyaWJlKChncm91cHM6IEVsZW1lbnRHcm91cFtdKSA9PiB7XG4gICAgICBpZiAoc2VsZWN0QWxsVmFsdWUpIHtcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbD8ucGF0Y2hWYWx1ZShcbiAgICAgICAgICBncm91cHMubWFwKChncm91cDogRWxlbWVudEdyb3VwKSA9PiBncm91cC5vcHRpb25zKVxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbD8ucGF0Y2hWYWx1ZShbXSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICB0b2dnbGVTZWxlY3Rpb24oY2hhbmdlOiBNYXRDaGVja2JveENoYW5nZSk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2UuY2hlY2tlZCkge1xuICAgICAgdGhpcy5mb3JtQ29udHJvbD8uc2V0VmFsdWUodGhpcy5maWx0ZXJlZE9wdGlvbnMpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZvcm1Db250cm9sPy5zZXRWYWx1ZShbXSk7XG4gICAgfVxuICB9XG5cbiAgaXNFbGVtZW50R3JvdXAob2JqZWN0OiBFbGVtZW50R3JvdXAgfCBFbGVtZW50T3B0aW9uKTogb2JqZWN0IGlzIEVsZW1lbnRHcm91cCB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIChvYmplY3QgYXMgRWxlbWVudEdyb3VwKS5sYWJlbCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgIChvYmplY3QgYXMgRWxlbWVudEdyb3VwKS5vcHRpb25zICE9PSB1bmRlZmluZWRcbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBhcmVGbihjMTogYW55LCBjMjogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGMxICYmIGMyID8gYzEua2V5ID09PSBjMi5rZXkgOiBjMSA9PT0gYzI7XG4gIH1cblxuICBoYXNWYWx1ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmZvcm1Db250cm9sLnZhbHVlO1xuICB9XG5cbiAgY2xlYXJWYWx1ZShldmVudDogYW55KTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZShudWxsKTtcbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cImVsZW1lbnRcIj5cbiAgPGxhYmVsICpuZ0lmPVwiZWxlbWVudC5sYWJlbFwiIGNsYXNzPVwibWFwYS1kcm9wZG93bl9fbGFiZWxcIj5cbiAgICB7eyBlbGVtZW50LmxhYmVsIH19XG4gIDwvbGFiZWw+XG4gIDxkaXYgY2xhc3M9XCJtYXBhLWZvcm0tLWlubGluZVwiPlxuICAgIDxtYXQtZm9ybS1maWVsZFxuICAgICAgYXBwZWFyYW5jZT1cIm91dGxpbmVcIlxuICAgICAgY2xhc3M9XCJtYXBhLWRyb3Bkb3duXCJcbiAgICAgIFtjbGFzcy5tYXBhLWRyb3Bkb3duLS1oaWdobGlnaHRdPVwiYm9yZGVyID09PSAnaGlnaGxpZ2h0J1wiXG4gICAgICBbY2xhc3MubWFwYS1kcm9wZG93bi0tc29mdC1ib3JkZXJdPVwiYm9yZGVyID09PSAnc29mdCdcIlxuICAgICAgW2NsYXNzLm1hcGEtZHJvcGRvd24tLXRhZ109XCJib3JkZXIgPT09ICd0YWcnXCJcbiAgICAgIFtjbGFzcy5tYXBhLWRyb3Bkb3duLS1sYWJlbGVkXT1cIiEhZWxlbWVudC5sYWJlbFwiXG4gICAgPlxuICAgICAgPG1hdC1zZWxlY3RcbiAgICAgICAgI2Ryb3Bkb3duXG4gICAgICAgIG5nRGVmYXVsdENvbnRyb2xcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICAgICAgW211bHRpcGxlXT1cImVsZW1lbnQubXVsdGlwbGVcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZWxlbWVudC5wbGFjZWhvbGRlciB8fCAnJ1wiXG4gICAgICAgIFtjb21wYXJlV2l0aF09XCJjb21wYXJlRm5cIlxuICAgICAgICAob3BlbmVkQ2hhbmdlKT1cInRyaWdnZXJPcGVuZWRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0lmPVwiZWxlbWVudC5zZWFyY2hcIiBjbGFzcz1cIm1hcGEtZHJvcGRvd25fX3NlYXJjaFwiPlxuICAgICAgICAgIDxuZ3gtbWF0LXNlbGVjdC1zZWFyY2hcbiAgICAgICAgICAgICpuZ0lmPVwiZWxlbWVudC5zZWFyY2guZm9ybUNvbnRyb2xcIlxuICAgICAgICAgICAgW3Nob3dUb2dnbGVBbGxDaGVja2JveF09XCJlbGVtZW50LnNlYXJjaC50b2dnbGVBbGxDaGVja2JveCFcIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImVsZW1lbnQuc2VhcmNoLmZvcm1Db250cm9sXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlckxhYmVsXT1cImVsZW1lbnQuc2VhcmNoLnBsYWNlaG9sZGVyIHx8ICcnXCJcbiAgICAgICAgICAgIGkxOG4tcGxhY2Vob2xkZXJMYWJlbFxuICAgICAgICAgICAgW25vRW50cmllc0ZvdW5kTGFiZWxdPVwiZWxlbWVudC5zZWFyY2gubm9FbnRyaWVzRm91bmRMYWJlbCB8fCAnJ1wiXG4gICAgICAgICAgPjwvbmd4LW1hdC1zZWxlY3Qtc2VhcmNoPlxuICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICAgKm5nSWY9XCJlbGVtZW50Lm11bHRpcGxlXCJcbiAgICAgICAgICBjbGFzcz1cIm1hcGEtZHJvcGRvd25fX29wdGlvbi0tc2VsZWN0LWFsbFwiXG4gICAgICAgID5cbiAgICAgICAgICA8bWF0LWNoZWNrYm94XG4gICAgICAgICAgICBjbGFzcz1cIm1hdC1vcHRpb25cIlxuICAgICAgICAgICAgW2luZGV0ZXJtaW5hdGVdPVwiaXNJbmRldGVybWluYXRlXCJcbiAgICAgICAgICAgIFtjaGVja2VkXT1cImlzQ2hlY2tlZFwiXG4gICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwidG9nZ2xlU2VsZWN0QWxsKCRldmVudClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIFNlbGVjaW9uYXIgdG9kb3NcbiAgICAgICAgICA8L21hdC1jaGVja2JveD5cbiAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNPcHRpb25zR3JvdXA7IGVsc2UgaXNFbGVtZW50T3B0aW9uc1wiPlxuICAgICAgICAgIDxtYXQtb3B0Z3JvdXBcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBncm91cCBvZiBmaWx0ZXJlZEdyb3VwcyB8IGFzeW5jXCJcbiAgICAgICAgICAgIFtsYWJlbF09XCJncm91cC5sYWJlbFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBncm91cC5vcHRpb25zXCJcbiAgICAgICAgICAgICAgW3ZhbHVlXT1cIm9wdGlvblwiXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIltcbiAgICAgICAgICAgICAgICAnbWFwYS1kcm9wZG93bl9fb3B0aW9uLS1jaGlsZHJlbi1sZXZlbC0nICsgb3B0aW9uLmNoaWxkcmVuTGV2ZWxcbiAgICAgICAgICAgICAgXVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwib3B0aW9uLnZhbHVlXCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgIDwvbWF0LW9wdGdyb3VwPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNpc0VsZW1lbnRPcHRpb25zPlxuICAgICAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGZpbHRlcmVkT3B0aW9ucyB8IGFzeW5jXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJvcHRpb25cIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiW1xuICAgICAgICAgICAgICAnbWFwYS1kcm9wZG93bl9fb3B0aW9uIG1hcGEtZHJvcGRvd25fX29wdGlvbi0tY2hpbGRyZW4tbGV2ZWwtJyArIG9wdGlvbi5jaGlsZHJlbkxldmVsXG4gICAgICAgICAgICBdXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hcGEtZHJvcGRvd25fX29wdGlvbi12YWx1ZVwiIFtpbm5lckhUTUxdPVwib3B0aW9uLnZhbHVlXCI+PC9zcGFuPlxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICA8bWF0LW9wdGlvblxuICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygc2VsZWN0ZWRPcHRpb25zXCJcbiAgICAgICAgICBoaWRkZW5cbiAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJbXG4gICAgICAgICAgICAnbWFwYS1kcm9wZG93bl9fb3B0aW9uLS1jaGlsZHJlbi1sZXZlbC0nICsgb3B0aW9uLmNoaWxkcmVuTGV2ZWxcbiAgICAgICAgICBdXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwib3B0aW9uLnZhbHVlXCI+PC9zcGFuPlxuICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICA8bWF0LWhpbnQgKm5nSWY9XCJlbGVtZW50LmhpbnRcIj57eyBlbGVtZW50LmhpbnQgfX08L21hdC1oaW50PlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcigncmVxdWlyZWQnKVwiPlxuICAgICAgICB7eyBlbGVtZW50LmVycm9ycz8ucmVxdWlyZWQgfX1cbiAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcignbWlubGVuZ3RoJylcIj5cbiAgICAgICAge3sgZWxlbWVudC5lcnJvcnM/Lm1pbmxlbmd0aCB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdjcGYnKVwiPlxuICAgICAgICB7eyBlbGVtZW50LmVycm9ycz8uY3BmIH19XG4gICAgICA8L21hdC1lcnJvcj5cbiAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtQ29udHJvbD8uaGFzRXJyb3IoJ2NucGonKVwiPlxuICAgICAgICB7eyBlbGVtZW50LmVycm9ycz8uY25waiB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdlbWFpbCcpXCI+XG4gICAgICAgIHt7IGVsZW1lbnQuZXJyb3JzPy5lbWFpbCB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdwYXR0ZXJuJylcIj5cbiAgICAgICAge3sgZWxlbWVudC5lcnJvcnM/LnBhdHRlcm4gfX1cbiAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcignbWluJylcIj5cbiAgICAgICAge3sgZWxlbWVudC5lcnJvcnM/Lm1pbiB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdtYXgnKVwiPlxuICAgICAgICB7eyBlbGVtZW50LmVycm9ycz8ubWF4IH19XG4gICAgICA8L21hdC1lcnJvcj5cbiAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtQ29udHJvbD8uaGFzRXJyb3IoJ21pbmxlbmd0aCcpXCI+XG4gICAgICAgIHt7IGVsZW1lbnQuZXJyb3JzPy5taW5MZW5ndGggfX1cbiAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcignbWF4bGVuZ3RoJylcIj5cbiAgICAgICAge3sgZWxlbWVudC5lcnJvcnM/Lm1heExlbmd0aCB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWljb25cbiAgICAgICAgKm5nSWY9XCJoYXNWYWx1ZSgpICYmICFmb3JtQ29udHJvbC5kaXNhYmxlZCAmJiBlbGVtZW50LmNsZWFyVmFsdWVcIlxuICAgICAgICAoY2xpY2spPVwiY2xlYXJWYWx1ZSgkZXZlbnQpXCJcbiAgICAgICAgY2xhc3M9XCJtYXBhLWlucHV0LS1jbG9zZVwiXG4gICAgICAgID5jbG9zZTwvbWF0LWljb25cbiAgICAgID5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDxkaXYgKm5nSWY9XCJlbGVtZW50LmFjdGlvbkJ1dHRvblwiIGNsYXNzPVwibWFwYS1mb3JtLS1hY3Rpb25cIj5cbiAgICAgIDxtYXBhLWJ1dHRvblxuICAgICAgICBjb2xvcj1cImJhc2ljXCJcbiAgICAgICAgKGNsaWNrKT1cImVsZW1lbnQuYWN0aW9uQnV0dG9uLmFjdGlvbi5lbWl0KHRydWUpXCJcbiAgICAgID5cbiAgICAgICAge3sgZWxlbWVudC5hY3Rpb25CdXR0b24ubGFiZWwgfX1cbiAgICAgIDwvbWFwYS1idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -43,7 +43,6 @@ export class MapaDropdownTreeComponent {
43
43
  if (item.children) {
44
44
  options.push(...this.formatTree(this.formatTreeChildren(item.children, childrenLevel + 1), childrenLevel + 1));
45
45
  }
46
- console.log(item);
47
46
  });
48
47
  return options;
49
48
  }
@@ -75,4 +74,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
75
74
  }], openedChange: [{
76
75
  type: Output
77
76
  }] } });
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi10cmVlL3NyYy9kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBhLWxpYnJhcnktdWkvc3JjL2xpYi9jb21wb25lbnRzL2Ryb3Bkb3duLXRyZWUvc3JjL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsS0FBSyxFQUVMLGlCQUFpQixFQUNqQixNQUFNLEVBQ04sWUFBWSxHQUNiLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7O0FBRTdCLE1BQU0sT0FBTyxRQUFRO0lBTW5CLGdCQUFlLENBQUM7Q0FDakI7QUFFRCxpRUFBaUU7QUFDakUsTUFBTSxPQUFPLFlBQVk7SUFNdkIsZ0JBQWUsQ0FBQztDQUNqQjtBQVFELE1BQU0sT0FBTyx5QkFBeUI7SUFRcEMsWUFBb0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFIaEMsaUJBQVksR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUVwRSxpQkFBWSxHQUFHLEtBQUssQ0FBQztJQUN3QixDQUFDO0lBRTlDLFFBQVE7UUFDTixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFbkQsSUFBSSxDQUFDLGFBQWEsR0FBRztZQUNuQixHQUFHLElBQUksQ0FBQyxPQUFPO1lBQ2YsT0FBTztTQUNSLENBQUM7UUFFRixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRTNELEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsY0FBYyxDQUFDLE9BQWlCO1FBQzlCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBcUIsQ0FBQztJQUM3RCxDQUFDO0lBRUQsVUFBVSxDQUFDLElBQWdCLEVBQUUsZ0JBQXdCLENBQUM7UUFDcEQsTUFBTSxPQUFPLEdBQW9CLEVBQUUsQ0FBQztRQUVwQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBYyxFQUFFLEVBQUU7WUFDMUIsT0FBTyxDQUFDLElBQUksQ0FBQztnQkFDWCxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7Z0JBQ2pCLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztnQkFDYixhQUFhO2FBQ2QsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNqQixPQUFPLENBQUMsSUFBSSxDQUNWLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FDaEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsYUFBYSxHQUFHLENBQUMsQ0FBQyxFQUN6RCxhQUFhLEdBQUcsQ0FBQyxDQUNsQixDQUNGLENBQUM7YUFDSDtZQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsa0JBQWtCLENBQ2hCLFFBQW9CLEVBQ3BCLGFBQXFCO1FBRXJCLE1BQU0sT0FBTyxHQUFvQixFQUFFLENBQUM7UUFFcEMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3BCLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0JBQ1gsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO2dCQUNqQixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7Z0JBQ2IsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO2dCQUN2QixhQUFhO2FBQ2QsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsbUJBQW1CLENBQUMsS0FBVTtRQUM1QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDOzt1SEF4RVUseUJBQXlCOzJHQUF6Qix5QkFBeUIsNkpDdkN0Qyx5T0FPQTs0RkRnQ2EseUJBQXlCO2tCQU5yQyxTQUFTOytCQUNFLG9CQUFvQixpQkFHZixpQkFBaUIsQ0FBQyxJQUFJO3dHQUc1QixTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFHSSxZQUFZO3NCQUFyQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBEcm9wZG93biwgRHJvcGRvd25UcmVlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9lbGVtZW50cyc7XG5pbXBvcnQgeyBFbGVtZW50T3B0aW9uIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9pbnRlcmZhY2VzJztcbmltcG9ydCB7IHRpbWVyIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjbGFzcyBEYXRhTm9kZSB7XG4gIGtleSE6IHN0cmluZztcbiAgdmFsdWUhOiBzdHJpbmc7XG4gIGNoaWxkcmVuPzogRGF0YU5vZGVbXTtcbiAgaXNMZWFmPzogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG59XG5cbi8qKiBGbGF0IHRvLWRvIGl0ZW0gbm9kZSB3aXRoIGV4cGFuZGFibGUgYW5kIGxldmVsIGluZm9ybWF0aW9uICovXG5leHBvcnQgY2xhc3MgRGF0YUZsYXROb2RlIHtcbiAga2V5ITogc3RyaW5nO1xuICB2YWx1ZSE6IHN0cmluZztcbiAgbGV2ZWwhOiBudW1iZXI7XG4gIGV4cGFuZGFibGUhOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWFwYS1kcm9wZG93bi10cmVlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZHJvcGRvd24uY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgTWFwYURyb3Bkb3duVHJlZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGZvcm1Hcm91cCE6IEZvcm1Hcm91cDtcbiAgQElucHV0KCkgZWxlbWVudCE6IERyb3Bkb3duVHJlZTtcbiAgZWxlbWVudE9wdGlvbiE6IERyb3Bkb3duO1xuICBmb3JtQ29udHJvbCE6IEZvcm1Db250cm9sO1xuICBAT3V0cHV0KCkgb3BlbmVkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBcbiAgc2hvd0Ryb3Bkb3duID0gZmFsc2U7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBvcHRpb25zID0gdGhpcy5mb3JtYXRUcmVlKHRoaXMuZWxlbWVudC50cmVlKTtcblxuICAgIHRoaXMuZWxlbWVudE9wdGlvbiA9IHtcbiAgICAgIC4uLnRoaXMuZWxlbWVudCxcbiAgICAgIG9wdGlvbnMsXG4gICAgfTtcblxuICAgIHRoaXMuZm9ybUNvbnRyb2wgPSB0aGlzLmdldEZvcm1Db250cm9sKHRoaXMuZWxlbWVudE9wdGlvbik7XG5cbiAgICB0aW1lcigyMDApLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnNob3dEcm9wZG93biA9IHRydWU7XG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfSk7XG4gIH1cblxuICBnZXRGb3JtQ29udHJvbChlbGVtZW50OiBEcm9wZG93bik6IEZvcm1Db250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtR3JvdXAuZ2V0KGVsZW1lbnQua2V5KSBhcyBGb3JtQ29udHJvbDxhbnk+O1xuICB9XG5cbiAgZm9ybWF0VHJlZSh0cmVlOiBEYXRhTm9kZVtdLCBjaGlsZHJlbkxldmVsOiBudW1iZXIgPSAwKTogRWxlbWVudE9wdGlvbltdIHtcbiAgICBjb25zdCBvcHRpb25zOiBFbGVtZW50T3B0aW9uW10gPSBbXTtcblxuICAgIHRyZWUubWFwKChpdGVtOiBEYXRhTm9kZSkgPT4ge1xuICAgICAgb3B0aW9ucy5wdXNoKHtcbiAgICAgICAgdmFsdWU6IGl0ZW0udmFsdWUsXG4gICAgICAgIGtleTogaXRlbS5rZXksXG4gICAgICAgIGNoaWxkcmVuTGV2ZWwsXG4gICAgICB9KTtcbiAgICAgIGlmIChpdGVtLmNoaWxkcmVuKSB7XG4gICAgICAgIG9wdGlvbnMucHVzaChcbiAgICAgICAgICAuLi50aGlzLmZvcm1hdFRyZWUoXG4gICAgICAgICAgICB0aGlzLmZvcm1hdFRyZWVDaGlsZHJlbihpdGVtLmNoaWxkcmVuLCBjaGlsZHJlbkxldmVsICsgMSksXG4gICAgICAgICAgICBjaGlsZHJlbkxldmVsICsgMVxuICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGNvbnNvbGUubG9nKGl0ZW0pO1xuICAgIH0pO1xuICAgIHJldHVybiBvcHRpb25zO1xuICB9XG5cbiAgZm9ybWF0VHJlZUNoaWxkcmVuKFxuICAgIGNoaWxkcmVuOiBEYXRhTm9kZVtdLFxuICAgIGNoaWxkcmVuTGV2ZWw6IG51bWJlclxuICApOiBFbGVtZW50T3B0aW9uW10ge1xuICAgIGNvbnN0IG9wdGlvbnM6IEVsZW1lbnRPcHRpb25bXSA9IFtdO1xuXG4gICAgY2hpbGRyZW4ubWFwKChpdGVtKSA9PiB7XG4gICAgICBvcHRpb25zLnB1c2goe1xuICAgICAgICB2YWx1ZTogaXRlbS52YWx1ZSxcbiAgICAgICAga2V5OiBpdGVtLmtleSxcbiAgICAgICAgY2hpbGRyZW46IGl0ZW0uY2hpbGRyZW4sXG4gICAgICAgIGNoaWxkcmVuTGV2ZWwsXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIHJldHVybiBvcHRpb25zO1xuICB9XG5cbiAgdHJpZ2dlck9wZW5lZENoYW5nZShldmVudDogYW55KSB7XG4gICAgdGhpcy5vcGVuZWRDaGFuZ2UuZW1pdChldmVudCk7XG4gIH1cbn1cbiIsIjxzZWN0aW9uIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCIgKm5nSWY9XCJzaG93RHJvcGRvd25cIj5cbiAgPG1hcGEtZHJvcGRvd25cbiAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxuICAgIFtlbGVtZW50XT1cImVsZW1lbnRPcHRpb25cIlxuICAgIChvcGVuZWRDaGFuZ2UpPVwidHJpZ2dlck9wZW5lZENoYW5nZSgkZXZlbnQpXCJcbiAgPjwvbWFwYS1kcm9wZG93bj5cbjwvc2VjdGlvbj5cbiJdfQ==
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi10cmVlL3NyYy9kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBhLWxpYnJhcnktdWkvc3JjL2xpYi9jb21wb25lbnRzL2Ryb3Bkb3duLXRyZWUvc3JjL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsS0FBSyxFQUVMLGlCQUFpQixFQUNqQixNQUFNLEVBQ04sWUFBWSxHQUNiLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7O0FBRTdCLE1BQU0sT0FBTyxRQUFRO0lBTW5CLGdCQUFlLENBQUM7Q0FDakI7QUFFRCxpRUFBaUU7QUFDakUsTUFBTSxPQUFPLFlBQVk7SUFNdkIsZ0JBQWUsQ0FBQztDQUNqQjtBQVFELE1BQU0sT0FBTyx5QkFBeUI7SUFRcEMsWUFBb0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFIaEMsaUJBQVksR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUVwRSxpQkFBWSxHQUFHLEtBQUssQ0FBQztJQUN3QixDQUFDO0lBRTlDLFFBQVE7UUFDTixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFbkQsSUFBSSxDQUFDLGFBQWEsR0FBRztZQUNuQixHQUFHLElBQUksQ0FBQyxPQUFPO1lBQ2YsT0FBTztTQUNSLENBQUM7UUFFRixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRTNELEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsY0FBYyxDQUFDLE9BQWlCO1FBQzlCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBcUIsQ0FBQztJQUM3RCxDQUFDO0lBRUQsVUFBVSxDQUFDLElBQWdCLEVBQUUsZ0JBQXdCLENBQUM7UUFDcEQsTUFBTSxPQUFPLEdBQW9CLEVBQUUsQ0FBQztRQUVwQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBYyxFQUFFLEVBQUU7WUFDMUIsT0FBTyxDQUFDLElBQUksQ0FBQztnQkFDWCxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7Z0JBQ2pCLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztnQkFDYixhQUFhO2FBQ2QsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNqQixPQUFPLENBQUMsSUFBSSxDQUNWLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FDaEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsYUFBYSxHQUFHLENBQUMsQ0FBQyxFQUN6RCxhQUFhLEdBQUcsQ0FBQyxDQUNsQixDQUNGLENBQUM7YUFDSDtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELGtCQUFrQixDQUNoQixRQUFvQixFQUNwQixhQUFxQjtRQUVyQixNQUFNLE9BQU8sR0FBb0IsRUFBRSxDQUFDO1FBRXBDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNwQixPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUNYLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztnQkFDakIsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO2dCQUNiLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtnQkFDdkIsYUFBYTthQUNkLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELG1CQUFtQixDQUFDLEtBQVU7UUFDNUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQzs7dUhBdkVVLHlCQUF5QjsyR0FBekIseUJBQXlCLDZKQ3ZDdEMseU9BT0E7NEZEZ0NhLHlCQUF5QjtrQkFOckMsU0FBUzsrQkFDRSxvQkFBb0IsaUJBR2YsaUJBQWlCLENBQUMsSUFBSTt3R0FHNUIsU0FBUztzQkFBakIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBR0ksWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRHJvcGRvd24sIERyb3Bkb3duVHJlZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvZWxlbWVudHMnO1xuaW1wb3J0IHsgRWxlbWVudE9wdGlvbiB9IGZyb20gJy4uLy4uLy4uL2NvcmUvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyB0aW1lciB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgY2xhc3MgRGF0YU5vZGUge1xuICBrZXkhOiBzdHJpbmc7XG4gIHZhbHVlITogc3RyaW5nO1xuICBjaGlsZHJlbj86IERhdGFOb2RlW107XG4gIGlzTGVhZj86IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoKSB7fVxufVxuXG4vKiogRmxhdCB0by1kbyBpdGVtIG5vZGUgd2l0aCBleHBhbmRhYmxlIGFuZCBsZXZlbCBpbmZvcm1hdGlvbiAqL1xuZXhwb3J0IGNsYXNzIERhdGFGbGF0Tm9kZSB7XG4gIGtleSE6IHN0cmluZztcbiAgdmFsdWUhOiBzdHJpbmc7XG4gIGxldmVsITogbnVtYmVyO1xuICBleHBhbmRhYmxlITogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21hcGEtZHJvcGRvd24tdHJlZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9kcm9wZG93bi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Ryb3Bkb3duLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIE1hcGFEcm9wZG93blRyZWVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBmb3JtR3JvdXAhOiBGb3JtR3JvdXA7XG4gIEBJbnB1dCgpIGVsZW1lbnQhOiBEcm9wZG93blRyZWU7XG4gIGVsZW1lbnRPcHRpb24hOiBEcm9wZG93bjtcbiAgZm9ybUNvbnRyb2whOiBGb3JtQ29udHJvbDtcbiAgQE91dHB1dCgpIG9wZW5lZENoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgXG4gIHNob3dEcm9wZG93biA9IGZhbHNlO1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuZm9ybWF0VHJlZSh0aGlzLmVsZW1lbnQudHJlZSk7XG5cbiAgICB0aGlzLmVsZW1lbnRPcHRpb24gPSB7XG4gICAgICAuLi50aGlzLmVsZW1lbnQsXG4gICAgICBvcHRpb25zLFxuICAgIH07XG5cbiAgICB0aGlzLmZvcm1Db250cm9sID0gdGhpcy5nZXRGb3JtQ29udHJvbCh0aGlzLmVsZW1lbnRPcHRpb24pO1xuXG4gICAgdGltZXIoMjAwKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5zaG93RHJvcGRvd24gPSB0cnVlO1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0Rm9ybUNvbnRyb2woZWxlbWVudDogRHJvcGRvd24pOiBGb3JtQ29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLmdldChlbGVtZW50LmtleSkgYXMgRm9ybUNvbnRyb2w8YW55PjtcbiAgfVxuXG4gIGZvcm1hdFRyZWUodHJlZTogRGF0YU5vZGVbXSwgY2hpbGRyZW5MZXZlbDogbnVtYmVyID0gMCk6IEVsZW1lbnRPcHRpb25bXSB7XG4gICAgY29uc3Qgb3B0aW9uczogRWxlbWVudE9wdGlvbltdID0gW107XG5cbiAgICB0cmVlLm1hcCgoaXRlbTogRGF0YU5vZGUpID0+IHtcbiAgICAgIG9wdGlvbnMucHVzaCh7XG4gICAgICAgIHZhbHVlOiBpdGVtLnZhbHVlLFxuICAgICAgICBrZXk6IGl0ZW0ua2V5LFxuICAgICAgICBjaGlsZHJlbkxldmVsLFxuICAgICAgfSk7XG4gICAgICBpZiAoaXRlbS5jaGlsZHJlbikge1xuICAgICAgICBvcHRpb25zLnB1c2goXG4gICAgICAgICAgLi4udGhpcy5mb3JtYXRUcmVlKFxuICAgICAgICAgICAgdGhpcy5mb3JtYXRUcmVlQ2hpbGRyZW4oaXRlbS5jaGlsZHJlbiwgY2hpbGRyZW5MZXZlbCArIDEpLFxuICAgICAgICAgICAgY2hpbGRyZW5MZXZlbCArIDFcbiAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIG9wdGlvbnM7XG4gIH1cblxuICBmb3JtYXRUcmVlQ2hpbGRyZW4oXG4gICAgY2hpbGRyZW46IERhdGFOb2RlW10sXG4gICAgY2hpbGRyZW5MZXZlbDogbnVtYmVyXG4gICk6IEVsZW1lbnRPcHRpb25bXSB7XG4gICAgY29uc3Qgb3B0aW9uczogRWxlbWVudE9wdGlvbltdID0gW107XG5cbiAgICBjaGlsZHJlbi5tYXAoKGl0ZW0pID0+IHtcbiAgICAgIG9wdGlvbnMucHVzaCh7XG4gICAgICAgIHZhbHVlOiBpdGVtLnZhbHVlLFxuICAgICAgICBrZXk6IGl0ZW0ua2V5LFxuICAgICAgICBjaGlsZHJlbjogaXRlbS5jaGlsZHJlbixcbiAgICAgICAgY2hpbGRyZW5MZXZlbCxcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIG9wdGlvbnM7XG4gIH1cblxuICB0cmlnZ2VyT3BlbmVkQ2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLm9wZW5lZENoYW5nZS5lbWl0KGV2ZW50KTtcbiAgfVxufVxuIiwiPHNlY3Rpb24gW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIiAqbmdJZj1cInNob3dEcm9wZG93blwiPlxuICA8bWFwYS1kcm9wZG93blxuICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiXG4gICAgW2VsZW1lbnRdPVwiZWxlbWVudE9wdGlvblwiXG4gICAgKG9wZW5lZENoYW5nZSk9XCJ0cmlnZ2VyT3BlbmVkQ2hhbmdlKCRldmVudClcIlxuICA+PC9tYXBhLWRyb3Bkb3duPlxuPC9zZWN0aW9uPlxuIl19
@@ -39,7 +39,8 @@ export class MapaDropdownComponent {
39
39
  }
40
40
  }
41
41
  ngOnChanges(changes) {
42
- if (changes["element"].previousValue?.controlType === "dropdown" &&
42
+ if (changes['element'].previousValue !== undefined &&
43
+ changes["element"].previousValue?.controlType === "dropdown" &&
43
44
  changes["element"].previousValue?.options !== changes["element"].currentValue?.options) {
44
45
  this.element.options = changes["element"].currentValue.options;
45
46
  this.setOptions();
@@ -101,7 +102,6 @@ export class MapaDropdownComponent {
101
102
  .normalize('NFD')
102
103
  .replace(/[\u0300-\u036f]/g, "")
103
104
  .toLowerCase();
104
- console.log(normalizedValue);
105
105
  return normalizedValue;
106
106
  }
107
107
  triggerOpenedChange(event) {
@@ -189,4 +189,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
189
189
  type: ViewChild,
190
190
  args: ["dropdown", { static: true }]
191
191
  }] } });
192
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUlMLE1BQU0sRUFFTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBS3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7O0FBY2hELE1BQU0sT0FBTyxxQkFBcUI7SUF1QmhDLElBQUksZUFBZTtRQUNqQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDNUMsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVEO1FBdkJVLGlCQUFZLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFJN0Qsb0JBQWUsR0FBbUMsSUFBSSxhQUFhLENBRXhFLENBQUMsQ0FBQyxDQUFDO1FBQ0UsbUJBQWMsR0FBa0MsSUFBSSxhQUFhLENBRXRFLENBQUMsQ0FBQyxDQUFDO1FBQ0sseUJBQW9CLEdBQW9CLEVBQUUsQ0FBQztRQUMzQyx1QkFB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TztRQUN4QixPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUNsRCxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBVTtRQUNuQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQzs7bUhBdE1VLHFCQUFxQjt1R0FBckIscUJBQXFCLCtWQ2hDbEMsazNKQXFJQTs0RkRyR2EscUJBQXFCO2tCQU5qQyxTQUFTOytCQUNFLGVBQWUsaUJBR1YsaUJBQWlCLENBQUMsSUFBSTswRUFHNUIsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDSSxZQUFZO3NCQUFyQixNQUFNO2dCQUVrQyxRQUFRO3NCQUFoRCxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5cbmltcG9ydCB7IE1hdFNlbGVjdCB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3RcIjtcblxuaW1wb3J0IHsgUmVwbGF5U3ViamVjdCB9IGZyb20gXCJyeGpzL2ludGVybmFsL1JlcGxheVN1YmplY3RcIjtcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqcy9pbnRlcm5hbC9TdWJqZWN0XCI7XG4vL2ltcG9ydCB7IHRha2UsIHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuXG5pbXBvcnQgeyBFbGVtZW50T3B0aW9uIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvaW50ZXJmYWNlcy9lbGVtZW50LW9wdGlvbi5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IERyb3Bkb3duIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvZWxlbWVudHMvZHJvcGRvd25cIjtcbmltcG9ydCB7IEVsZW1lbnRHcm91cCB9IGZyb20gXCIuLi8uLi8uLi9jb3JlL2ludGVyZmFjZXMvZWxlbWVudC1ncm91cC5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IE1hdENoZWNrYm94Q2hhbmdlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJtYXBhLWRyb3Bkb3duXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vZHJvcGRvd24uY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL2Ryb3Bkb3duLmNvbXBvbmVudC5zY3NzXCJdLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBNYXBhRHJvcGRvd25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgZm9ybUNvbnRyb2whOiBGb3JtQ29udHJvbDtcbiAgQElucHV0KCkgZm9ybUNvbnRyb2xTZWFyY2ghOiBGb3JtQ29udHJvbDtcbiAgQElucHV0KCkgZWxlbWVudCE6IERyb3Bkb3duO1xuICBASW5wdXQoKSBib3JkZXI6IFwic29mdFwiIHwgXCJ0YWdcIiB8IFwiaGlnaGxpZ2h0XCIgfCBudWxsIHwgdW5kZWZpbmVkO1xuICBAT3V0cHV0KCkgb3BlbmVkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIEBWaWV3Q2hpbGQoXCJkcm9wZG93blwiLCB7IHN0YXRpYzogdHJ1ZSB9KSBkcm9wZG93biE6IE1hdFNlbGVjdDtcblxuICBwdWJsaWMgZmlsdGVyZWRPcHRpb25zOiBSZXBsYXlTdWJqZWN0PEVsZW1lbnRPcHRpb25bXT4gPSBuZXcgUmVwbGF5U3ViamVjdDxcbiAgICBFbGVtZW50T3B0aW9uW11cbiAgPigxKTtcbiAgcHVibGljIGZpbHRlcmVkR3JvdXBzOiBSZXBsYXlTdWJqZWN0PEVsZW1lbnRHcm91cFtdPiA9IG5ldyBSZXBsYXlTdWJqZWN0PFxuICAgIEVsZW1lbnRHcm91cFtdXG4gID4oMSk7XG4gIHByb3RlY3RlZCBmaWx0ZXJlZE9wdGlvbnNDYWNoZTogRWxlbWVudE9wdGlvbltdID0gW107XG4gIHByb3RlY3RlZCBmaWx0ZXJlZEdyb3VwQ2FjaGU6IEVsZW1lbnRHcm91cFtdID0gW107XG4gIHByb3RlY3RlZCBfb25EZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBpc0luZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgaXNDaGVja2VkID0gZmFsc2U7XG4gIGlzT3B0aW9uc0dyb3VwID0gZmFsc2U7XG5cbiAgZ2V0IHNlbGVjdGVkT3B0aW9ucygpIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZm9ybUNvbnRyb2w/LnZhbHVlIHx8IFtdO1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW3ZhbHVlXTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZXRPcHRpb25zKCk7XG5cbiAgICBpZiAodGhpcy5lbGVtZW50LnNlYXJjaCkge1xuICAgICAgdGhpcy5lbGVtZW50LnNlYXJjaC5mb3JtQ29udHJvbD8udmFsdWVDaGFuZ2VzXG4gICAgICAgIC8vLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuZmlsdGVyT3B0aW9ucygpO1xuICAgICAgICAgIHRoaXMuc2V0VG9nZ2xlQWxsQ2hlY2tib3hTdGF0ZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgY2hhbmdlc1tcImVsZW1lbnRcIl0ucHJldmlvdXNWYWx1ZT8uY29udHJvbFR5cGUgPT09IFwiZHJvcGRvd25cIiAmJlxuICAgICAgY2hhbmdlc1tcImVsZW1lbnRcIl0ucHJldmlvdXNWYWx1ZT8ub3B0aW9ucyAhPT0gY2hhbmdlc1tcImVsZW1lbnRcIl0uY3VycmVudFZhbHVlPy5vcHRpb25zXG4gICAgKSB7XG4gICAgICB0aGlzLmVsZW1lbnQub3B0aW9ucyA9IGNoYW5nZXNbXCJlbGVtZW50XCJdLmN1cnJlbnRWYWx1ZS5vcHRpb25zO1xuICAgICAgdGhpcy5zZXRPcHRpb25zKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fb25EZXN0cm95Lm5leHQoKTtcbiAgICB0aGlzLl9vbkRlc3Ryb3kuY29tcGxldGUoKTtcbiAgfVxuXG4gIHNldE9wdGlvbnMoKTogdm9pZCB7XG4gICAgdGhpcy5pc09wdGlvbnNHcm91cCA9IHRoaXMuaXNFbGVtZW50R3JvdXAodGhpcy5lbGVtZW50Lm9wdGlvbnNbMF0pO1xuXG4gICAgaWYgKHRoaXMuaXNPcHRpb25zR3JvdXApIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRHcm91cENhY2hlID0gKHRoaXMuZWxlbWVudFxuICAgICAgICAub3B0aW9ucyBhcyBFbGVtZW50R3JvdXBbXSkuc2xpY2UoKTtcbiAgICAgIHRoaXMuZmlsdGVyZWRHcm91cHMubmV4dCh0aGlzLmZpbHRlcmVkR3JvdXBDYWNoZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUgPSAodGhpcy5lbGVtZW50XG4gICAgICAgIC5vcHRpb25zIGFzIEVsZW1lbnRPcHRpb25bXSkuc2xpY2UoKTtcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zLm5leHQodGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGZpbHRlck9wdGlvbnNGcm9tR3JvdXAoXG4gICAgZ3JvdXA6IEVsZW1lbnRHcm91cCxcbiAgICB2YWx1ZTogc3RyaW5nXG4gICk6IEVsZW1lbnRPcHRpb25bXSB7XG4gICAgY29uc3QgZmlsdGVyVmFsdWUgPSB0aGlzLm5vcm1hbGl6ZVZhbHVlKHZhbHVlKTtcblxuICAgIHJldHVybiB0aGlzLm5vcm1hbGl6ZVZhbHVlKGdyb3VwLmxhYmVsKS5pbmNsdWRlcyhmaWx0ZXJWYWx1ZSlcbiAgICAgID8gZ3JvdXAub3B0aW9uc1xuICAgICAgOiBncm91cC5vcHRpb25zLmZpbHRlcigoaXRlbSkgPT5cbiAgICAgICAgdGhpcy5ub3JtYWxpemVWYWx1ZShpdGVtLnZhbHVlKS5pbmNsdWRlcyhmaWx0ZXJWYWx1ZSlcbiAgICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZmlsdGVyT3B0aW9ucygpIHtcbiAgICBpZiAoIXRoaXMuZWxlbWVudC5vcHRpb25zKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIGdldCB0aGUgc2VhcmNoIGtleXdvcmRcbiAgICBsZXQgc2VhcmNoID0gdGhpcy5ub3JtYWxpemVWYWx1ZSh0aGlzLmVsZW1lbnQuc2VhcmNoPy5mb3JtQ29udHJvbD8udmFsdWUpO1xuXG4gICAgaWYgKHRoaXMuaXNPcHRpb25zR3JvdXApIHtcbiAgICAgIGNvbnN0IGdyb3VwcyA9IHRoaXMuZWxlbWVudC5vcHRpb25zIGFzIEVsZW1lbnRHcm91cFtdO1xuICAgICAgdGhpcy5maWx0ZXJlZEdyb3VwQ2FjaGUgPSBncm91cHNcbiAgICAgICAgLm1hcCgoZ3JvdXA6IEVsZW1lbnRHcm91cCkgPT4gKHtcbiAgICAgICAgICBsYWJlbDogZ3JvdXAubGFiZWwsXG4gICAgICAgICAgb3B0aW9uczogdGhpcy5maWx0ZXJPcHRpb25zRnJvbUdyb3VwKGdyb3VwLCBzZWFyY2gpLFxuICAgICAgICB9KSlcbiAgICAgICAgLmZpbHRlcigoZ3JvdXApID0+IGdyb3VwLm9wdGlvbnMubGVuZ3RoID4gMCk7XG4gICAgICB0aGlzLmZpbHRlcmVkR3JvdXBzLm5leHQodGhpcy5maWx0ZXJlZEdyb3VwQ2FjaGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBvcHRpb25zID0gdGhpcy5lbGVtZW50Lm9wdGlvbnMgYXMgRWxlbWVudE9wdGlvbltdO1xuICAgICAgaWYgKCFzZWFyY2gpIHtcbiAgICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZSA9IG9wdGlvbnMuc2xpY2UoKTtcbiAgICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMubmV4dCh0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgLy8gZmlsdGVyIHRoZSBvcHRpb25zXG4gICAgICB0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlID0gb3B0aW9ucy5maWx0ZXIoXG4gICAgICAgIChvcHRpb246IEVsZW1lbnRPcHRpb24pID0+XG4gICAgICAgICAgdGhpcy5ub3JtYWxpemVWYWx1ZShvcHRpb24udmFsdWUpLmluZGV4T2Yoc2VhcmNoKSA+IC0xXG4gICAgICApO1xuICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMubmV4dCh0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlKTtcbiAgICB9XG4gIH1cblxuICBub3JtYWxpemVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBub3JtYWxpemVkVmFsdWUgPSB2YWx1ZVxuICAgICAgLm5vcm1hbGl6ZSgnTkZEJylcbiAgICAgIC5yZXBsYWNlKC9bXFx1MDMwMC1cXHUwMzZmXS9nLCBcIlwiKVxuICAgICAgLnRvTG93ZXJDYXNlKCk7XG4gICAgY29uc29sZS5sb2cobm9ybWFsaXplZFZhbHVlKTtcbiAgICByZXR1cm4gbm9ybWFsaXplZFZhbHVlO1xuICB9XG5cbiAgdHJpZ2dlck9wZW5lZENoYW5nZShldmVudDogYW55KSB7XG4gICAgdGhpcy5vcGVuZWRDaGFuZ2UuZW1pdChldmVudCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0VG9nZ2xlQWxsQ2hlY2tib3hTdGF0ZSgpIHtcbiAgICBsZXQgZmlsdGVyZWRMZW5ndGggPSAwO1xuICAgIGxldCBzZWFyY2ggPSB0aGlzLmVsZW1lbnQuc2VhcmNoPy5mb3JtQ29udHJvbD8udmFsdWU7XG5cbiAgICBpZiAoc2VhcmNoICYmIHNlYXJjaC52YWx1ZSkge1xuICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZS5mb3JFYWNoKChlbCkgPT4ge1xuICAgICAgICBpZiAoc2VhcmNoLnZhbHVlLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihlbCkgPiAtMSkge1xuICAgICAgICAgIGZpbHRlcmVkTGVuZ3RoKys7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgdGhpcy5pc0luZGV0ZXJtaW5hdGUgPVxuICAgICAgICBmaWx0ZXJlZExlbmd0aCA+IDAgJiYgZmlsdGVyZWRMZW5ndGggPCB0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlLmxlbmd0aDtcbiAgICAgIHRoaXMuaXNDaGVja2VkID1cbiAgICAgICAgZmlsdGVyZWRMZW5ndGggPiAwICYmXG4gICAgICAgIGZpbHRlcmVkTGVuZ3RoID09PSB0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlLmxlbmd0aDtcbiAgICB9XG4gIH1cblxuICB0b2dnbGVTZWxlY3RBbGwoZXZlbnQ6IE1hdENoZWNrYm94Q2hhbmdlKSB7XG4gICAgY29uc3Qgc2VsZWN0QWxsVmFsdWUgPSBldmVudC5jaGVja2VkO1xuICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zLnN1YnNjcmliZSgob3B0aW9uczogRWxlbWVudE9wdGlvbltdKSA9PiB7XG4gICAgICBpZiAoc2VsZWN0QWxsVmFsdWUpIHtcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbD8ucGF0Y2hWYWx1ZShvcHRpb25zKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZm9ybUNvbnRyb2w/LnBhdGNoVmFsdWUoW10pO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuZmlsdGVyZWRHcm91cHMuc3Vic2NyaWJlKChncm91cHM6IEVsZW1lbnRHcm91cFtdKSA9PiB7XG4gICAgICBpZiAoc2VsZWN0QWxsVmFsdWUpIHtcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbD8ucGF0Y2hWYWx1ZShcbiAgICAgICAgICBncm91cHMubWFwKChncm91cDogRWxlbWVudEdyb3VwKSA9PiBncm91cC5vcHRpb25zKVxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbD8ucGF0Y2hWYWx1ZShbXSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICB0b2dnbGVTZWxlY3Rpb24oY2hhbmdlOiBNYXRDaGVja2JveENoYW5nZSk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2UuY2hlY2tlZCkge1xuICAgICAgdGhpcy5mb3JtQ29udHJvbD8uc2V0VmFsdWUodGhpcy5maWx0ZXJlZE9wdGlvbnMpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZvcm1Db250cm9sPy5zZXRWYWx1ZShbXSk7XG4gICAgfVxuICB9XG5cbiAgaXNFbGVtZW50R3JvdXAob2JqZWN0OiBFbGVtZW50R3JvdXAgfCBFbGVtZW50T3B0aW9uKTogb2JqZWN0IGlzIEVsZW1lbnRHcm91cCB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIChvYmplY3QgYXMgRWxlbWVudEdyb3VwKS5sYWJlbCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgIChvYmplY3QgYXMgRWxlbWVudEdyb3VwKS5vcHRpb25zICE9PSB1bmRlZmluZWRcbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBhcmVGbihjMTogYW55LCBjMjogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGMxICYmIGMyID8gYzEua2V5ID09PSBjMi5rZXkgOiBjMSA9PT0gYzI7XG4gIH1cblxuICBoYXNWYWx1ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmZvcm1Db250cm9sLnZhbHVlO1xuICB9XG5cbiAgY2xlYXJWYWx1ZShldmVudDogYW55KTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZShudWxsKTtcbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cImVsZW1lbnRcIj5cbiAgPGxhYmVsICpuZ0lmPVwiZWxlbWVudC5sYWJlbFwiIGNsYXNzPVwibWFwYS1kcm9wZG93bl9fbGFiZWxcIj5cbiAgICB7eyBlbGVtZW50LmxhYmVsIH19XG4gIDwvbGFiZWw+XG4gIDxkaXYgY2xhc3M9XCJtYXBhLWZvcm0tLWlubGluZVwiPlxuICAgIDxtYXQtZm9ybS1maWVsZFxuICAgICAgYXBwZWFyYW5jZT1cIm91dGxpbmVcIlxuICAgICAgY2xhc3M9XCJtYXBhLWRyb3Bkb3duXCJcbiAgICAgIFtjbGFzcy5tYXBhLWRyb3Bkb3duLS1oaWdobGlnaHRdPVwiYm9yZGVyID09PSAnaGlnaGxpZ2h0J1wiXG4gICAgICBbY2xhc3MubWFwYS1kcm9wZG93bi0tc29mdC1ib3JkZXJdPVwiYm9yZGVyID09PSAnc29mdCdcIlxuICAgICAgW2NsYXNzLm1hcGEtZHJvcGRvd24tLXRhZ109XCJib3JkZXIgPT09ICd0YWcnXCJcbiAgICAgIFtjbGFzcy5tYXBhLWRyb3Bkb3duLS1sYWJlbGVkXT1cIiEhZWxlbWVudC5sYWJlbFwiXG4gICAgPlxuICAgICAgPG1hdC1zZWxlY3RcbiAgICAgICAgI2Ryb3Bkb3duXG4gICAgICAgIG5nRGVmYXVsdENvbnRyb2xcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICAgICAgW211bHRpcGxlXT1cImVsZW1lbnQubXVsdGlwbGVcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZWxlbWVudC5wbGFjZWhvbGRlciB8fCAnJ1wiXG4gICAgICAgIFtjb21wYXJlV2l0aF09XCJjb21wYXJlRm5cIlxuICAgICAgICAob3BlbmVkQ2hhbmdlKT1cInRyaWdnZXJPcGVuZWRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0lmPVwiZWxlbWVudC5zZWFyY2hcIiBjbGFzcz1cIm1hcGEtZHJvcGRvd25fX3NlYXJjaFwiPlxuICAgICAgICAgIDxuZ3gtbWF0LXNlbGVjdC1zZWFyY2hcbiAgICAgICAgICAgICpuZ0lmPVwiZWxlbWVudC5zZWFyY2guZm9ybUNvbnRyb2xcIlxuICAgICAgICAgICAgW3Nob3dUb2dnbGVBbGxDaGVja2JveF09XCJlbGVtZW50LnNlYXJjaC50b2dnbGVBbGxDaGVja2JveCFcIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImVsZW1lbnQuc2VhcmNoLmZvcm1Db250cm9sXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlckxhYmVsXT1cImVsZW1lbnQuc2VhcmNoLnBsYWNlaG9sZGVyIHx8ICcnXCJcbiAgICAgICAgICAgIGkxOG4tcGxhY2Vob2xkZXJMYWJlbFxuICAgICAgICAgICAgW25vRW50cmllc0ZvdW5kTGFiZWxdPVwiZWxlbWVudC5zZWFyY2gubm9FbnRyaWVzRm91bmRMYWJlbCB8fCAnJ1wiXG4gICAgICAgICAgPjwvbmd4LW1hdC1zZWxlY3Qtc2VhcmNoPlxuICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICAgKm5nSWY9XCJlbGVtZW50Lm11bHRpcGxlXCJcbiAgICAgICAgICBjbGFzcz1cIm1hcGEtZHJvcGRvd25fX29wdGlvbi0tc2VsZWN0LWFsbFwiXG4gICAgICAgID5cbiAgICAgICAgICA8bWF0LWNoZWNrYm94XG4gICAgICAgICAgICBjbGFzcz1cIm1hdC1vcHRpb25cIlxuICAgICAgICAgICAgW2luZGV0ZXJtaW5hdGVdPVwiaXNJbmRldGVybWluYXRlXCJcbiAgICAgICAgICAgIFtjaGVja2VkXT1cImlzQ2hlY2tlZFwiXG4gICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwidG9nZ2xlU2VsZWN0QWxsKCRldmVudClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIFNlbGVjaW9uYXIgdG9kb3NcbiAgICAgICAgICA8L21hdC1jaGVja2JveD5cbiAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNPcHRpb25zR3JvdXA7IGVsc2UgaXNFbGVtZW50T3B0aW9uc1wiPlxuICAgICAgICAgIDxtYXQtb3B0Z3JvdXBcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBncm91cCBvZiBmaWx0ZXJlZEdyb3VwcyB8IGFzeW5jXCJcbiAgICAgICAgICAgIFtsYWJlbF09XCJncm91cC5sYWJlbFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBncm91cC5vcHRpb25zXCJcbiAgICAgICAgICAgICAgW3ZhbHVlXT1cIm9wdGlvblwiXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIltcbiAgICAgICAgICAgICAgICAnbWFwYS1kcm9wZG93bl9fb3B0aW9uLS1jaGlsZHJlbi1sZXZlbC0nICsgb3B0aW9uLmNoaWxkcmVuTGV2ZWxcbiAgICAgICAgICAgICAgXVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwib3B0aW9uLnZhbHVlXCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgIDwvbWF0LW9wdGdyb3VwPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNpc0VsZW1lbnRPcHRpb25zPlxuICAgICAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGZpbHRlcmVkT3B0aW9ucyB8IGFzeW5jXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJvcHRpb25cIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiW1xuICAgICAgICAgICAgICAnbWFwYS1kcm9wZG93bl9fb3B0aW9uIG1hcGEtZHJvcGRvd25fX29wdGlvbi0tY2hpbGRyZW4tbGV2ZWwtJyArIG9wdGlvbi5jaGlsZHJlbkxldmVsXG4gICAgICAgICAgICBdXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hcGEtZHJvcGRvd25fX29wdGlvbi12YWx1ZVwiIFtpbm5lckhUTUxdPVwib3B0aW9uLnZhbHVlXCI+PC9zcGFuPlxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICA8bWF0LW9wdGlvblxuICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygc2VsZWN0ZWRPcHRpb25zXCJcbiAgICAgICAgICBoaWRkZW5cbiAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJbXG4gICAgICAgICAgICAnbWFwYS1kcm9wZG93bl9fb3B0aW9uLS1jaGlsZHJlbi1sZXZlbC0nICsgb3B0aW9uLmNoaWxkcmVuTGV2ZWxcbiAgICAgICAgICBdXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwib3B0aW9uLnZhbHVlXCI+PC9zcGFuPlxuICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICA8bWF0LWhpbnQgKm5nSWY9XCJlbGVtZW50LmhpbnRcIj57eyBlbGVtZW50LmhpbnQgfX08L21hdC1oaW50PlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcigncmVxdWlyZWQnKVwiPlxuICAgICAgICB7eyBlbGVtZW50LmVycm9ycz8ucmVxdWlyZWQgfX1cbiAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcignbWlubGVuZ3RoJylcIj5cbiAgICAgICAge3sgZWxlbWVudC5lcnJvcnM/Lm1pbmxlbmd0aCB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdjcGYnKVwiPlxuICAgICAgICB7eyBlbGVtZW50LmVycm9ycz8uY3BmIH19XG4gICAgICA8L21hdC1lcnJvcj5cbiAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtQ29udHJvbD8uaGFzRXJyb3IoJ2NucGonKVwiPlxuICAgICAgICB7eyBlbGVtZW50LmVycm9ycz8uY25waiB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdlbWFpbCcpXCI+XG4gICAgICAgIHt7IGVsZW1lbnQuZXJyb3JzPy5lbWFpbCB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdwYXR0ZXJuJylcIj5cbiAgICAgICAge3sgZWxlbWVudC5lcnJvcnM/LnBhdHRlcm4gfX1cbiAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcignbWluJylcIj5cbiAgICAgICAge3sgZWxlbWVudC5lcnJvcnM/Lm1pbiB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdtYXgnKVwiPlxuICAgICAgICB7eyBlbGVtZW50LmVycm9ycz8ubWF4IH19XG4gICAgICA8L21hdC1lcnJvcj5cbiAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtQ29udHJvbD8uaGFzRXJyb3IoJ21pbmxlbmd0aCcpXCI+XG4gICAgICAgIHt7IGVsZW1lbnQuZXJyb3JzPy5taW5MZW5ndGggfX1cbiAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcignbWF4bGVuZ3RoJylcIj5cbiAgICAgICAge3sgZWxlbWVudC5lcnJvcnM/Lm1heExlbmd0aCB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWljb25cbiAgICAgICAgKm5nSWY9XCJoYXNWYWx1ZSgpICYmICFmb3JtQ29udHJvbC5kaXNhYmxlZCAmJiBlbGVtZW50LmNsZWFyVmFsdWVcIlxuICAgICAgICAoY2xpY2spPVwiY2xlYXJWYWx1ZSgkZXZlbnQpXCJcbiAgICAgICAgY2xhc3M9XCJtYXBhLWlucHV0LS1jbG9zZVwiXG4gICAgICAgID5jbG9zZTwvbWF0LWljb25cbiAgICAgID5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDxkaXYgKm5nSWY9XCJlbGVtZW50LmFjdGlvbkJ1dHRvblwiIGNsYXNzPVwibWFwYS1mb3JtLS1hY3Rpb25cIj5cbiAgICAgIDxtYXBhLWJ1dHRvblxuICAgICAgICBjb2xvcj1cImJhc2ljXCJcbiAgICAgICAgKGNsaWNrKT1cImVsZW1lbnQuYWN0aW9uQnV0dG9uLmFjdGlvbi5lbWl0KHRydWUpXCJcbiAgICAgID5cbiAgICAgICAge3sgZWxlbWVudC5hY3Rpb25CdXR0b24ubGFiZWwgfX1cbiAgICAgIDwvbWFwYS1idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
192
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUlMLE1BQU0sRUFFTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBS3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7O0FBY2hELE1BQU0sT0FBTyxxQkFBcUI7SUF1QmhDLElBQUksZUFBZTtRQUNqQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDNUMsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVEO1FBdkJVLGlCQUFZLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFJN0Qsb0JBQWUsR0FBbUMsSUFBSSxhQUFhLENBRXhFLENBQUMsQ0FBQyxDQUFDO1FBQ0UsbUJBQWMsR0FBa0MsSUFBSSxhQUFhLENBRXRFLENBQUMsQ0FBQyxDQUFDO1FBQ0sseUJBQW9CLEdBQW9CLEVBQUUsQ0FBQztRQUMzQyx1QkFB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RSxFQUFPO1FBQ3hCLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQ2xELENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7SUFDbEMsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFVO1FBQ25CLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDOzttSEF0TVUscUJBQXFCO3VHQUFyQixxQkFBcUIsK1ZDaENsQyxrM0pBcUlBOzRGRHJHYSxxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0UsZUFBZSxpQkFHVixpQkFBaUIsQ0FBQyxJQUFJOzBFQUc1QixXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNJLFlBQVk7c0JBQXJCLE1BQU07Z0JBRWtDLFFBQVE7c0JBQWhELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcblxuaW1wb3J0IHsgTWF0U2VsZWN0IH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NlbGVjdFwiO1xuXG5pbXBvcnQgeyBSZXBsYXlTdWJqZWN0IH0gZnJvbSBcInJ4anMvaW50ZXJuYWwvUmVwbGF5U3ViamVjdFwiO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzL2ludGVybmFsL1N1YmplY3RcIjtcbi8vaW1wb3J0IHsgdGFrZSwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5cbmltcG9ydCB7IEVsZW1lbnRPcHRpb24gfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9pbnRlcmZhY2VzL2VsZW1lbnQtb3B0aW9uLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgRHJvcGRvd24gfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9lbGVtZW50cy9kcm9wZG93blwiO1xuaW1wb3J0IHsgRWxlbWVudEdyb3VwIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvaW50ZXJmYWNlcy9lbGVtZW50LWdyb3VwLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgTWF0Q2hlY2tib3hDaGFuZ2UgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3hcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcIm1hcGEtZHJvcGRvd25cIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9kcm9wZG93bi5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vZHJvcGRvd24uY29tcG9uZW50LnNjc3NcIl0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIE1hcGFEcm9wZG93bkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBmb3JtQ29udHJvbCE6IEZvcm1Db250cm9sO1xuICBASW5wdXQoKSBmb3JtQ29udHJvbFNlYXJjaCE6IEZvcm1Db250cm9sO1xuICBASW5wdXQoKSBlbGVtZW50ITogRHJvcGRvd247XG4gIEBJbnB1dCgpIGJvcmRlcjogXCJzb2Z0XCIgfCBcInRhZ1wiIHwgXCJoaWdobGlnaHRcIiB8IG51bGwgfCB1bmRlZmluZWQ7XG4gIEBPdXRwdXQoKSBvcGVuZWRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgQFZpZXdDaGlsZChcImRyb3Bkb3duXCIsIHsgc3RhdGljOiB0cnVlIH0pIGRyb3Bkb3duITogTWF0U2VsZWN0O1xuXG4gIHB1YmxpYyBmaWx0ZXJlZE9wdGlvbnM6IFJlcGxheVN1YmplY3Q8RWxlbWVudE9wdGlvbltdPiA9IG5ldyBSZXBsYXlTdWJqZWN0PFxuICAgIEVsZW1lbnRPcHRpb25bXVxuICA+KDEpO1xuICBwdWJsaWMgZmlsdGVyZWRHcm91cHM6IFJlcGxheVN1YmplY3Q8RWxlbWVudEdyb3VwW10+ID0gbmV3IFJlcGxheVN1YmplY3Q8XG4gICAgRWxlbWVudEdyb3VwW11cbiAgPigxKTtcbiAgcHJvdGVjdGVkIGZpbHRlcmVkT3B0aW9uc0NhY2hlOiBFbGVtZW50T3B0aW9uW10gPSBbXTtcbiAgcHJvdGVjdGVkIGZpbHRlcmVkR3JvdXBDYWNoZTogRWxlbWVudEdyb3VwW10gPSBbXTtcbiAgcHJvdGVjdGVkIF9vbkRlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGlzSW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICBpc0NoZWNrZWQgPSBmYWxzZTtcbiAgaXNPcHRpb25zR3JvdXAgPSBmYWxzZTtcblxuICBnZXQgc2VsZWN0ZWRPcHRpb25zKCkge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5mb3JtQ29udHJvbD8udmFsdWUgfHwgW107XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbdmFsdWVdO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNldE9wdGlvbnMoKTtcblxuICAgIGlmICh0aGlzLmVsZW1lbnQuc2VhcmNoKSB7XG4gICAgICB0aGlzLmVsZW1lbnQuc2VhcmNoLmZvcm1Db250cm9sPy52YWx1ZUNoYW5nZXNcbiAgICAgICAgLy8ucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95KSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5maWx0ZXJPcHRpb25zKCk7XG4gICAgICAgICAgdGhpcy5zZXRUb2dnbGVBbGxDaGVja2JveFN0YXRlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICBjaGFuZ2VzWydlbGVtZW50J10ucHJldmlvdXNWYWx1ZSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICBjaGFuZ2VzW1wiZWxlbWVudFwiXS5wcmV2aW91c1ZhbHVlPy5jb250cm9sVHlwZSA9PT0gXCJkcm9wZG93blwiICYmXG4gICAgICBjaGFuZ2VzW1wiZWxlbWVudFwiXS5wcmV2aW91c1ZhbHVlPy5vcHRpb25zICE9PSBjaGFuZ2VzW1wiZWxlbWVudFwiXS5jdXJyZW50VmFsdWU/Lm9wdGlvbnNcbiAgICApIHtcbiAgICAgIHRoaXMuZWxlbWVudC5vcHRpb25zID0gY2hhbmdlc1tcImVsZW1lbnRcIl0uY3VycmVudFZhbHVlLm9wdGlvbnM7XG4gICAgICB0aGlzLnNldE9wdGlvbnMoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9vbkRlc3Ryb3kubmV4dCgpO1xuICAgIHRoaXMuX29uRGVzdHJveS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgc2V0T3B0aW9ucygpOiB2b2lkIHtcbiAgICB0aGlzLmlzT3B0aW9uc0dyb3VwID0gdGhpcy5pc0VsZW1lbnRHcm91cCh0aGlzLmVsZW1lbnQub3B0aW9uc1swXSk7XG5cbiAgICBpZiAodGhpcy5pc09wdGlvbnNHcm91cCkge1xuICAgICAgdGhpcy5maWx0ZXJlZEdyb3VwQ2FjaGUgPSAodGhpcy5lbGVtZW50XG4gICAgICAgIC5vcHRpb25zIGFzIEVsZW1lbnRHcm91cFtdKS5zbGljZSgpO1xuICAgICAgdGhpcy5maWx0ZXJlZEdyb3Vwcy5uZXh0KHRoaXMuZmlsdGVyZWRHcm91cENhY2hlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZSA9ICh0aGlzLmVsZW1lbnRcbiAgICAgICAgLm9wdGlvbnMgYXMgRWxlbWVudE9wdGlvbltdKS5zbGljZSgpO1xuICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMubmV4dCh0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgZmlsdGVyT3B0aW9uc0Zyb21Hcm91cChcbiAgICBncm91cDogRWxlbWVudEdyb3VwLFxuICAgIHZhbHVlOiBzdHJpbmdcbiAgKTogRWxlbWVudE9wdGlvbltdIHtcbiAgICBjb25zdCBmaWx0ZXJWYWx1ZSA9IHRoaXMubm9ybWFsaXplVmFsdWUodmFsdWUpO1xuXG4gICAgcmV0dXJuIHRoaXMubm9ybWFsaXplVmFsdWUoZ3JvdXAubGFiZWwpLmluY2x1ZGVzKGZpbHRlclZhbHVlKVxuICAgICAgPyBncm91cC5vcHRpb25zXG4gICAgICA6IGdyb3VwLm9wdGlvbnMuZmlsdGVyKChpdGVtKSA9PlxuICAgICAgICB0aGlzLm5vcm1hbGl6ZVZhbHVlKGl0ZW0udmFsdWUpLmluY2x1ZGVzKGZpbHRlclZhbHVlKVxuICAgICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBmaWx0ZXJPcHRpb25zKCkge1xuICAgIGlmICghdGhpcy5lbGVtZW50Lm9wdGlvbnMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gZ2V0IHRoZSBzZWFyY2gga2V5d29yZFxuICAgIGxldCBzZWFyY2ggPSB0aGlzLm5vcm1hbGl6ZVZhbHVlKHRoaXMuZWxlbWVudC5zZWFyY2g/LmZvcm1Db250cm9sPy52YWx1ZSk7XG5cbiAgICBpZiAodGhpcy5pc09wdGlvbnNHcm91cCkge1xuICAgICAgY29uc3QgZ3JvdXBzID0gdGhpcy5lbGVtZW50Lm9wdGlvbnMgYXMgRWxlbWVudEdyb3VwW107XG4gICAgICB0aGlzLmZpbHRlcmVkR3JvdXBDYWNoZSA9IGdyb3Vwc1xuICAgICAgICAubWFwKChncm91cDogRWxlbWVudEdyb3VwKSA9PiAoe1xuICAgICAgICAgIGxhYmVsOiBncm91cC5sYWJlbCxcbiAgICAgICAgICBvcHRpb25zOiB0aGlzLmZpbHRlck9wdGlvbnNGcm9tR3JvdXAoZ3JvdXAsIHNlYXJjaCksXG4gICAgICAgIH0pKVxuICAgICAgICAuZmlsdGVyKChncm91cCkgPT4gZ3JvdXAub3B0aW9ucy5sZW5ndGggPiAwKTtcbiAgICAgIHRoaXMuZmlsdGVyZWRHcm91cHMubmV4dCh0aGlzLmZpbHRlcmVkR3JvdXBDYWNoZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLmVsZW1lbnQub3B0aW9ucyBhcyBFbGVtZW50T3B0aW9uW107XG4gICAgICBpZiAoIXNlYXJjaCkge1xuICAgICAgICB0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlID0gb3B0aW9ucy5zbGljZSgpO1xuICAgICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucy5uZXh0KHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICAvLyBmaWx0ZXIgdGhlIG9wdGlvbnNcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUgPSBvcHRpb25zLmZpbHRlcihcbiAgICAgICAgKG9wdGlvbjogRWxlbWVudE9wdGlvbikgPT5cbiAgICAgICAgICB0aGlzLm5vcm1hbGl6ZVZhbHVlKG9wdGlvbi52YWx1ZSkuaW5kZXhPZihzZWFyY2gpID4gLTFcbiAgICAgICk7XG4gICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucy5uZXh0KHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUpO1xuICAgIH1cbiAgfVxuXG4gIG5vcm1hbGl6ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IG5vcm1hbGl6ZWRWYWx1ZSA9IHZhbHVlXG4gICAgICAubm9ybWFsaXplKCdORkQnKVxuICAgICAgLnJlcGxhY2UoL1tcXHUwMzAwLVxcdTAzNmZdL2csIFwiXCIpXG4gICAgICAudG9Mb3dlckNhc2UoKTtcbiAgICByZXR1cm4gbm9ybWFsaXplZFZhbHVlO1xuICB9XG5cbiAgdHJpZ2dlck9wZW5lZENoYW5nZShldmVudDogYW55KSB7XG4gICAgdGhpcy5vcGVuZWRDaGFuZ2UuZW1pdChldmVudCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0VG9nZ2xlQWxsQ2hlY2tib3hTdGF0ZSgpIHtcbiAgICBsZXQgZmlsdGVyZWRMZW5ndGggPSAwO1xuICAgIGxldCBzZWFyY2ggPSB0aGlzLmVsZW1lbnQuc2VhcmNoPy5mb3JtQ29udHJvbD8udmFsdWU7XG5cbiAgICBpZiAoc2VhcmNoICYmIHNlYXJjaC52YWx1ZSkge1xuICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZS5mb3JFYWNoKChlbCkgPT4ge1xuICAgICAgICBpZiAoc2VhcmNoLnZhbHVlLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihlbCkgPiAtMSkge1xuICAgICAgICAgIGZpbHRlcmVkTGVuZ3RoKys7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgdGhpcy5pc0luZGV0ZXJtaW5hdGUgPVxuICAgICAgICBmaWx0ZXJlZExlbmd0aCA+IDAgJiYgZmlsdGVyZWRMZW5ndGggPCB0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlLmxlbmd0aDtcbiAgICAgIHRoaXMuaXNDaGVja2VkID1cbiAgICAgICAgZmlsdGVyZWRMZW5ndGggPiAwICYmXG4gICAgICAgIGZpbHRlcmVkTGVuZ3RoID09PSB0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlLmxlbmd0aDtcbiAgICB9XG4gIH1cblxuICB0b2dnbGVTZWxlY3RBbGwoZXZlbnQ6IE1hdENoZWNrYm94Q2hhbmdlKSB7XG4gICAgY29uc3Qgc2VsZWN0QWxsVmFsdWUgPSBldmVudC5jaGVja2VkO1xuICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zLnN1YnNjcmliZSgob3B0aW9uczogRWxlbWVudE9wdGlvbltdKSA9PiB7XG4gICAgICBpZiAoc2VsZWN0QWxsVmFsdWUpIHtcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbD8ucGF0Y2hWYWx1ZShvcHRpb25zKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZm9ybUNvbnRyb2w/LnBhdGNoVmFsdWUoW10pO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuZmlsdGVyZWRHcm91cHMuc3Vic2NyaWJlKChncm91cHM6IEVsZW1lbnRHcm91cFtdKSA9PiB7XG4gICAgICBpZiAoc2VsZWN0QWxsVmFsdWUpIHtcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbD8ucGF0Y2hWYWx1ZShcbiAgICAgICAgICBncm91cHMubWFwKChncm91cDogRWxlbWVudEdyb3VwKSA9PiBncm91cC5vcHRpb25zKVxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbD8ucGF0Y2hWYWx1ZShbXSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICB0b2dnbGVTZWxlY3Rpb24oY2hhbmdlOiBNYXRDaGVja2JveENoYW5nZSk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2UuY2hlY2tlZCkge1xuICAgICAgdGhpcy5mb3JtQ29udHJvbD8uc2V0VmFsdWUodGhpcy5maWx0ZXJlZE9wdGlvbnMpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZvcm1Db250cm9sPy5zZXRWYWx1ZShbXSk7XG4gICAgfVxuICB9XG5cbiAgaXNFbGVtZW50R3JvdXAob2JqZWN0OiBFbGVtZW50R3JvdXAgfCBFbGVtZW50T3B0aW9uKTogb2JqZWN0IGlzIEVsZW1lbnRHcm91cCB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIChvYmplY3QgYXMgRWxlbWVudEdyb3VwKS5sYWJlbCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgIChvYmplY3QgYXMgRWxlbWVudEdyb3VwKS5vcHRpb25zICE9PSB1bmRlZmluZWRcbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBhcmVGbihjMTogYW55LCBjMjogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGMxICYmIGMyID8gYzEua2V5ID09PSBjMi5rZXkgOiBjMSA9PT0gYzI7XG4gIH1cblxuICBoYXNWYWx1ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmZvcm1Db250cm9sLnZhbHVlO1xuICB9XG5cbiAgY2xlYXJWYWx1ZShldmVudDogYW55KTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZShudWxsKTtcbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cImVsZW1lbnRcIj5cbiAgPGxhYmVsICpuZ0lmPVwiZWxlbWVudC5sYWJlbFwiIGNsYXNzPVwibWFwYS1kcm9wZG93bl9fbGFiZWxcIj5cbiAgICB7eyBlbGVtZW50LmxhYmVsIH19XG4gIDwvbGFiZWw+XG4gIDxkaXYgY2xhc3M9XCJtYXBhLWZvcm0tLWlubGluZVwiPlxuICAgIDxtYXQtZm9ybS1maWVsZFxuICAgICAgYXBwZWFyYW5jZT1cIm91dGxpbmVcIlxuICAgICAgY2xhc3M9XCJtYXBhLWRyb3Bkb3duXCJcbiAgICAgIFtjbGFzcy5tYXBhLWRyb3Bkb3duLS1oaWdobGlnaHRdPVwiYm9yZGVyID09PSAnaGlnaGxpZ2h0J1wiXG4gICAgICBbY2xhc3MubWFwYS1kcm9wZG93bi0tc29mdC1ib3JkZXJdPVwiYm9yZGVyID09PSAnc29mdCdcIlxuICAgICAgW2NsYXNzLm1hcGEtZHJvcGRvd24tLXRhZ109XCJib3JkZXIgPT09ICd0YWcnXCJcbiAgICAgIFtjbGFzcy5tYXBhLWRyb3Bkb3duLS1sYWJlbGVkXT1cIiEhZWxlbWVudC5sYWJlbFwiXG4gICAgPlxuICAgICAgPG1hdC1zZWxlY3RcbiAgICAgICAgI2Ryb3Bkb3duXG4gICAgICAgIG5nRGVmYXVsdENvbnRyb2xcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICAgICAgW211bHRpcGxlXT1cImVsZW1lbnQubXVsdGlwbGVcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZWxlbWVudC5wbGFjZWhvbGRlciB8fCAnJ1wiXG4gICAgICAgIFtjb21wYXJlV2l0aF09XCJjb21wYXJlRm5cIlxuICAgICAgICAob3BlbmVkQ2hhbmdlKT1cInRyaWdnZXJPcGVuZWRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0lmPVwiZWxlbWVudC5zZWFyY2hcIiBjbGFzcz1cIm1hcGEtZHJvcGRvd25fX3NlYXJjaFwiPlxuICAgICAgICAgIDxuZ3gtbWF0LXNlbGVjdC1zZWFyY2hcbiAgICAgICAgICAgICpuZ0lmPVwiZWxlbWVudC5zZWFyY2guZm9ybUNvbnRyb2xcIlxuICAgICAgICAgICAgW3Nob3dUb2dnbGVBbGxDaGVja2JveF09XCJlbGVtZW50LnNlYXJjaC50b2dnbGVBbGxDaGVja2JveCFcIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImVsZW1lbnQuc2VhcmNoLmZvcm1Db250cm9sXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlckxhYmVsXT1cImVsZW1lbnQuc2VhcmNoLnBsYWNlaG9sZGVyIHx8ICcnXCJcbiAgICAgICAgICAgIGkxOG4tcGxhY2Vob2xkZXJMYWJlbFxuICAgICAgICAgICAgW25vRW50cmllc0ZvdW5kTGFiZWxdPVwiZWxlbWVudC5zZWFyY2gubm9FbnRyaWVzRm91bmRMYWJlbCB8fCAnJ1wiXG4gICAgICAgICAgPjwvbmd4LW1hdC1zZWxlY3Qtc2VhcmNoPlxuICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICAgKm5nSWY9XCJlbGVtZW50Lm11bHRpcGxlXCJcbiAgICAgICAgICBjbGFzcz1cIm1hcGEtZHJvcGRvd25fX29wdGlvbi0tc2VsZWN0LWFsbFwiXG4gICAgICAgID5cbiAgICAgICAgICA8bWF0LWNoZWNrYm94XG4gICAgICAgICAgICBjbGFzcz1cIm1hdC1vcHRpb25cIlxuICAgICAgICAgICAgW2luZGV0ZXJtaW5hdGVdPVwiaXNJbmRldGVybWluYXRlXCJcbiAgICAgICAgICAgIFtjaGVja2VkXT1cImlzQ2hlY2tlZFwiXG4gICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwidG9nZ2xlU2VsZWN0QWxsKCRldmVudClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIFNlbGVjaW9uYXIgdG9kb3NcbiAgICAgICAgICA8L21hdC1jaGVja2JveD5cbiAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNPcHRpb25zR3JvdXA7IGVsc2UgaXNFbGVtZW50T3B0aW9uc1wiPlxuICAgICAgICAgIDxtYXQtb3B0Z3JvdXBcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBncm91cCBvZiBmaWx0ZXJlZEdyb3VwcyB8IGFzeW5jXCJcbiAgICAgICAgICAgIFtsYWJlbF09XCJncm91cC5sYWJlbFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBncm91cC5vcHRpb25zXCJcbiAgICAgICAgICAgICAgW3ZhbHVlXT1cIm9wdGlvblwiXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIltcbiAgICAgICAgICAgICAgICAnbWFwYS1kcm9wZG93bl9fb3B0aW9uLS1jaGlsZHJlbi1sZXZlbC0nICsgb3B0aW9uLmNoaWxkcmVuTGV2ZWxcbiAgICAgICAgICAgICAgXVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwib3B0aW9uLnZhbHVlXCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgIDwvbWF0LW9wdGdyb3VwPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNpc0VsZW1lbnRPcHRpb25zPlxuICAgICAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGZpbHRlcmVkT3B0aW9ucyB8IGFzeW5jXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJvcHRpb25cIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiW1xuICAgICAgICAgICAgICAnbWFwYS1kcm9wZG93bl9fb3B0aW9uIG1hcGEtZHJvcGRvd25fX29wdGlvbi0tY2hpbGRyZW4tbGV2ZWwtJyArIG9wdGlvbi5jaGlsZHJlbkxldmVsXG4gICAgICAgICAgICBdXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hcGEtZHJvcGRvd25fX29wdGlvbi12YWx1ZVwiIFtpbm5lckhUTUxdPVwib3B0aW9uLnZhbHVlXCI+PC9zcGFuPlxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICA8bWF0LW9wdGlvblxuICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygc2VsZWN0ZWRPcHRpb25zXCJcbiAgICAgICAgICBoaWRkZW5cbiAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJbXG4gICAgICAgICAgICAnbWFwYS1kcm9wZG93bl9fb3B0aW9uLS1jaGlsZHJlbi1sZXZlbC0nICsgb3B0aW9uLmNoaWxkcmVuTGV2ZWxcbiAgICAgICAgICBdXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwib3B0aW9uLnZhbHVlXCI+PC9zcGFuPlxuICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICA8bWF0LWhpbnQgKm5nSWY9XCJlbGVtZW50LmhpbnRcIj57eyBlbGVtZW50LmhpbnQgfX08L21hdC1oaW50PlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcigncmVxdWlyZWQnKVwiPlxuICAgICAgICB7eyBlbGVtZW50LmVycm9ycz8ucmVxdWlyZWQgfX1cbiAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcignbWlubGVuZ3RoJylcIj5cbiAgICAgICAge3sgZWxlbWVudC5lcnJvcnM/Lm1pbmxlbmd0aCB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdjcGYnKVwiPlxuICAgICAgICB7eyBlbGVtZW50LmVycm9ycz8uY3BmIH19XG4gICAgICA8L21hdC1lcnJvcj5cbiAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtQ29udHJvbD8uaGFzRXJyb3IoJ2NucGonKVwiPlxuICAgICAgICB7eyBlbGVtZW50LmVycm9ycz8uY25waiB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdlbWFpbCcpXCI+XG4gICAgICAgIHt7IGVsZW1lbnQuZXJyb3JzPy5lbWFpbCB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdwYXR0ZXJuJylcIj5cbiAgICAgICAge3sgZWxlbWVudC5lcnJvcnM/LnBhdHRlcm4gfX1cbiAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcignbWluJylcIj5cbiAgICAgICAge3sgZWxlbWVudC5lcnJvcnM/Lm1pbiB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdtYXgnKVwiPlxuICAgICAgICB7eyBlbGVtZW50LmVycm9ycz8ubWF4IH19XG4gICAgICA8L21hdC1lcnJvcj5cbiAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtQ29udHJvbD8uaGFzRXJyb3IoJ21pbmxlbmd0aCcpXCI+XG4gICAgICAgIHt7IGVsZW1lbnQuZXJyb3JzPy5taW5MZW5ndGggfX1cbiAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcignbWF4bGVuZ3RoJylcIj5cbiAgICAgICAge3sgZWxlbWVudC5lcnJvcnM/Lm1heExlbmd0aCB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8bWF0LWljb25cbiAgICAgICAgKm5nSWY9XCJoYXNWYWx1ZSgpICYmICFmb3JtQ29udHJvbC5kaXNhYmxlZCAmJiBlbGVtZW50LmNsZWFyVmFsdWVcIlxuICAgICAgICAoY2xpY2spPVwiY2xlYXJWYWx1ZSgkZXZlbnQpXCJcbiAgICAgICAgY2xhc3M9XCJtYXBhLWlucHV0LS1jbG9zZVwiXG4gICAgICAgID5jbG9zZTwvbWF0LWljb25cbiAgICAgID5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDxkaXYgKm5nSWY9XCJlbGVtZW50LmFjdGlvbkJ1dHRvblwiIGNsYXNzPVwibWFwYS1mb3JtLS1hY3Rpb25cIj5cbiAgICAgIDxtYXBhLWJ1dHRvblxuICAgICAgICBjb2xvcj1cImJhc2ljXCJcbiAgICAgICAgKGNsaWNrKT1cImVsZW1lbnQuYWN0aW9uQnV0dG9uLmFjdGlvbi5lbWl0KHRydWUpXCJcbiAgICAgID5cbiAgICAgICAge3sgZWxlbWVudC5hY3Rpb25CdXR0b24ubGFiZWwgfX1cbiAgICAgIDwvbWFwYS1idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=