@tuki-io/tuki-widgets 0.0.194 → 0.0.196

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 (34) hide show
  1. package/esm2020/di2mt/shared/components/stat-card/stat-card.component.mjs +4 -4
  2. package/esm2020/di2mt/widgets/upgrade-overview/cards/pending-activation-users/pending-activation-users.component.mjs +1 -2
  3. package/esm2020/user-creation/src/interfaces/user-creation-wizard.interfaces.mjs +1 -1
  4. package/esm2020/user-creation/src/shared/components/notification/notification.component.mjs +5 -7
  5. package/esm2020/user-creation/src/shared/services/user-creation-api.service.mjs +3 -2
  6. package/esm2020/user-creation/src/utils/device-name-validation.mjs +23 -0
  7. package/esm2020/user-creation/src/utils/parse-device-name-rule.mjs +26 -0
  8. package/esm2020/user-creation/src/widgets/user-creation-wizard/components/user-details-step/user-details-step.component.mjs +102 -19
  9. package/esm2020/user-creation/src/widgets/user-creation-wizard/components/user-overview-step/user-overview-step.component.mjs +3 -3
  10. package/esm2020/user-creation/src/widgets/user-creation-wizard/user-creation-wizard.component.mjs +13 -3
  11. package/esm2020/user-creation/src/widgets/user-creation-wizard/user-creation-wizard.service.mjs +105 -16
  12. package/esm2020/users-list/src/users-list.component.mjs +6 -3
  13. package/fesm2015/tuki-io-tuki-widgets-di2mt.mjs +4 -4
  14. package/fesm2015/tuki-io-tuki-widgets-di2mt.mjs.map +1 -1
  15. package/fesm2015/tuki-io-tuki-widgets-user-creation.mjs +288 -63
  16. package/fesm2015/tuki-io-tuki-widgets-user-creation.mjs.map +1 -1
  17. package/fesm2015/tuki-io-tuki-widgets-users-list.mjs +5 -2
  18. package/fesm2015/tuki-io-tuki-widgets-users-list.mjs.map +1 -1
  19. package/fesm2020/tuki-io-tuki-widgets-di2mt.mjs +3 -4
  20. package/fesm2020/tuki-io-tuki-widgets-di2mt.mjs.map +1 -1
  21. package/fesm2020/tuki-io-tuki-widgets-user-creation.mjs +277 -60
  22. package/fesm2020/tuki-io-tuki-widgets-user-creation.mjs.map +1 -1
  23. package/fesm2020/tuki-io-tuki-widgets-users-list.mjs +5 -2
  24. package/fesm2020/tuki-io-tuki-widgets-users-list.mjs.map +1 -1
  25. package/package.json +1 -1
  26. package/user-creation/src/interfaces/user-creation-wizard.interfaces.d.ts +19 -0
  27. package/user-creation/src/shared/services/user-creation-api.service.d.ts +2 -2
  28. package/user-creation/src/utils/device-name-validation.d.ts +6 -0
  29. package/user-creation/src/utils/parse-device-name-rule.d.ts +8 -0
  30. package/user-creation/src/widgets/user-creation-wizard/components/user-details-step/user-details-step.component.d.ts +8 -0
  31. package/user-creation/src/widgets/user-creation-wizard/user-creation-wizard.component.d.ts +2 -0
  32. package/user-creation/src/widgets/user-creation-wizard/user-creation-wizard.service.d.ts +14 -0
  33. package/esm2020/user-creation/src/utils/validation.mjs +0 -14
  34. package/user-creation/src/utils/validation.d.ts +0 -4
@@ -45,14 +45,14 @@ export class StatCardComponent {
45
45
  return Math.ceil(this.stats?.totalUpgraded / this.stats?.total * 100);
46
46
  }
47
47
  get pendingActivationPercentage() {
48
- return Math.ceil(this.stats?.pendingActivation / this.stats?.totalUpgraded * 100);
48
+ return Math.ceil(this.stats?.totalUpgraded / this.stats?.pendingActivation * 100);
49
49
  }
50
50
  }
51
51
  StatCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: StatCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
52
- StatCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: StatCardComponent, selector: "tk-stat-card", inputs: { title: "title", type: "type", readinessStats: "readinessStats", upgradeStatus: "upgradeStatus" }, ngImport: i0, template: "<tk-card [title]=\"title\">\r\n <ng-container ngProjectAs=\"card-content\">\r\n <div class=\"card__content-info\">\r\n <div class=\"card__content-wrapper\">\r\n <img width=\"42\" [src]=\"'assets/icons/' + type + '.png'\" alt=\"\" />\r\n <div class=\"card__content-text\">\r\n <ng-container *ngIf=\"upgradeStatus === 'ready' || upgradeStatus === 'already'\">\r\n <div class=\"card__content-label\">\r\n {{ upgradeStatus === 'ready' ? stats?.totalReady : stats?.totalUpgraded }}\r\n {{ type === 'user' ? 'Users' : 'Sites' }}</div>\r\n <div class=\"card__content-description\">{{ upgradeStatus === 'ready' ? 'Ready to Upgrade' : 'Already Upgraded' }}</div>\r\n </ng-container>\r\n <ng-container *ngIf=\"upgradeStatus === 'pending'\">\r\n <div class=\"card__content-label\">\r\n {{ stats?.pendingActivation }}\r\n {{ 'User' }}</div>\r\n <div class=\"card__content-description\">{{ 'Ready to activate' }}</div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card__content-progress-wrapper\">\r\n <ng-container *ngIf=\"upgradeStatus === 'ready' || upgradeStatus === 'already'\">\r\n <div class=\"card__content-progress\">\r\n <div class=\"card__content-progress-label\">\r\n <span>{{ readyPercentage }}%</span>\r\n <span>From all {{ stats?.total }} {{ type === 'user' ? 'users' : 'sites' }}</span>\r\n </div>\r\n <div class=\"card__content-progress-bar\">\r\n <div\r\n class=\"card__content-progress-bar-fill ready\"\r\n [class.already]=\"upgradeStatus === 'already'\"\r\n [style.width.%]=\"readyPercentage\"\r\n ></div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"upgradeStatus === 'already'\" class=\"card__content-progress\">\r\n <div class=\"card__content-progress-label\">\r\n <span>{{ upgradedPercentage }}%</span>\r\n <span>From all {{ stats?.totalReady }} ready {{ type === 'user' ? 'users' : 'sites' }}</span>\r\n </div>\r\n <div class=\"card__content-progress-bar\">\r\n <div\r\n class=\"card__content-progress-bar-fill ready\"\r\n [class.already]=\"upgradeStatus === 'already'\"\r\n [style.width.%]=\"upgradedPercentage\"\r\n ></div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"upgradeStatus === 'pending'\">\r\n <div class=\"card__content-progress\">\r\n <div class=\"card__content-progress-label\">\r\n <span>{{ pendingActivationPercentage }}%</span>\r\n <span>From all {{ stats?.totalUpgraded }} {{ 'upgraded users' }}</span>\r\n </div>\r\n <div class=\"card__content-progress-bar\">\r\n <div\r\n class=\"card__content-progress-bar-fill ready\"\r\n [class.pending-activation]=\"upgradeStatus === 'pending'\"\r\n [style.width.%]=\"pendingActivationPercentage\"\r\n ></div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n</tk-card>\r\n", styles: [":host{display:block;height:100%;box-sizing:border-box}.card__content-info{display:flex;align-items:center;justify-content:space-between}.card__content-text{display:flex;flex-direction:column;gap:.25rem}.card__content-text .card__content-label{font-size:20px}.card__content-text .card__content-description{font-size:12px}.card__content-wrapper{display:flex;align-items:center;justify-content:center;gap:1rem}.card__content-wrapper:first-child{display:flex;gap:.5rem}.card__content-progress-wrapper{display:flex;flex-direction:column;gap:1rem}.card__content-progress{display:flex;flex-direction:column;gap:.25rem;font-size:14px}.card__content-progress .card__content-progress-label{display:flex;align-items:center;justify-content:space-between;padding:.05rem}.card__content-progress .card__content-progress-bar{background-color:#ededed;border-radius:10rem}.card__content-progress .card__content-progress-bar .card__content-progress-bar-fill{height:10px;border-radius:inherit}.ready{background-color:#0a78cc}.already{background-color:#16a693}.pending-activation{background-color:#ddbf45}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.CardComponent, selector: "tk-card", inputs: ["title"] }] });
52
+ StatCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: StatCardComponent, selector: "tk-stat-card", inputs: { title: "title", type: "type", readinessStats: "readinessStats", upgradeStatus: "upgradeStatus" }, ngImport: i0, template: "<tk-card [title]=\"title\">\r\n <ng-container ngProjectAs=\"card-content\">\r\n <div class=\"card__content-info\">\r\n <div class=\"card__content-wrapper\">\r\n <img width=\"42\" [src]=\"'assets/icons/' + type + '.png'\" alt=\"\" />\r\n <div class=\"card__content-text\">\r\n <ng-container *ngIf=\"upgradeStatus === 'ready' || upgradeStatus === 'already'\">\r\n <div class=\"card__content-label\">\r\n {{ upgradeStatus === 'ready' ? stats?.totalReady : stats?.totalUpgraded }}\r\n {{ type === 'user' ? 'Users' : 'Sites' }}</div>\r\n <div class=\"card__content-description\">{{ upgradeStatus === 'ready' ? 'Ready to Upgrade' : 'Already Upgraded' }}</div>\r\n </ng-container>\r\n <ng-container *ngIf=\"upgradeStatus === 'pending'\">\r\n <div class=\"card__content-label\">\r\n {{ stats?.pendingActivation }}\r\n {{ 'User' }}</div>\r\n <div class=\"card__content-description\">{{ 'Ready to activate' }}</div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card__content-progress-wrapper\">\r\n <ng-container *ngIf=\"upgradeStatus === 'ready' || upgradeStatus === 'already'\">\r\n <div class=\"card__content-progress\">\r\n <div class=\"card__content-progress-label\">\r\n <span>{{ readyPercentage }}%</span>\r\n <span>From all {{ stats?.total }} {{ type === 'user' ? 'users' : 'sites' }}</span>\r\n </div>\r\n <div class=\"card__content-progress-bar\">\r\n <div\r\n class=\"card__content-progress-bar-fill ready\"\r\n [class.already]=\"upgradeStatus === 'already'\"\r\n [style.width.%]=\"readyPercentage\"\r\n ></div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"upgradeStatus === 'already'\" class=\"card__content-progress\">\r\n <div class=\"card__content-progress-label\">\r\n <span>{{ upgradedPercentage }}%</span>\r\n <span>From all {{ stats?.totalReady }} ready {{ type === 'user' ? 'users' : 'sites' }}</span>\r\n </div>\r\n <div class=\"card__content-progress-bar\">\r\n <div\r\n class=\"card__content-progress-bar-fill ready\"\r\n [class.already]=\"upgradeStatus === 'already'\"\r\n [style.width.%]=\"upgradedPercentage\"\r\n ></div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"upgradeStatus === 'pending'\">\r\n <div class=\"card__content-progress\">\r\n <div class=\"card__content-progress-label\">\r\n <span>{{ pendingActivationPercentage }}%</span>\r\n <span>From all {{ stats?.totalUpgraded }} {{ 'upgraded users' }}</span>\r\n </div>\r\n <div class=\"card__content-progress-bar\" style=\"overflow: hidden;\">\r\n <div\r\n class=\"card__content-progress-bar-fill ready\"\r\n [class.pending-activation]=\"upgradeStatus === 'pending'\"\r\n [style.width.%]=\"pendingActivationPercentage\"\r\n ></div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n</tk-card>\r\n", styles: [":host{display:block;height:100%;box-sizing:border-box}.card__content-info{display:flex;align-items:center;justify-content:space-between}.card__content-text{display:flex;flex-direction:column;gap:.25rem}.card__content-text .card__content-label{font-size:20px}.card__content-text .card__content-description{font-size:12px}.card__content-wrapper{display:flex;align-items:center;justify-content:center;gap:1rem}.card__content-wrapper:first-child{display:flex;gap:.5rem}.card__content-progress-wrapper{display:flex;flex-direction:column;gap:1rem}.card__content-progress{display:flex;flex-direction:column;gap:.25rem;font-size:14px}.card__content-progress .card__content-progress-label{display:flex;align-items:center;justify-content:space-between;padding:.05rem}.card__content-progress .card__content-progress-bar{background-color:#ededed;border-radius:10rem}.card__content-progress .card__content-progress-bar .card__content-progress-bar-fill{height:10px;border-radius:inherit}.ready{background-color:#0a78cc}.already{background-color:#16a693}.pending-activation{background-color:#ddbf45}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.CardComponent, selector: "tk-card", inputs: ["title"] }] });
53
53
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: StatCardComponent, decorators: [{
54
54
  type: Component,
55
- args: [{ selector: 'tk-stat-card', template: "<tk-card [title]=\"title\">\r\n <ng-container ngProjectAs=\"card-content\">\r\n <div class=\"card__content-info\">\r\n <div class=\"card__content-wrapper\">\r\n <img width=\"42\" [src]=\"'assets/icons/' + type + '.png'\" alt=\"\" />\r\n <div class=\"card__content-text\">\r\n <ng-container *ngIf=\"upgradeStatus === 'ready' || upgradeStatus === 'already'\">\r\n <div class=\"card__content-label\">\r\n {{ upgradeStatus === 'ready' ? stats?.totalReady : stats?.totalUpgraded }}\r\n {{ type === 'user' ? 'Users' : 'Sites' }}</div>\r\n <div class=\"card__content-description\">{{ upgradeStatus === 'ready' ? 'Ready to Upgrade' : 'Already Upgraded' }}</div>\r\n </ng-container>\r\n <ng-container *ngIf=\"upgradeStatus === 'pending'\">\r\n <div class=\"card__content-label\">\r\n {{ stats?.pendingActivation }}\r\n {{ 'User' }}</div>\r\n <div class=\"card__content-description\">{{ 'Ready to activate' }}</div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card__content-progress-wrapper\">\r\n <ng-container *ngIf=\"upgradeStatus === 'ready' || upgradeStatus === 'already'\">\r\n <div class=\"card__content-progress\">\r\n <div class=\"card__content-progress-label\">\r\n <span>{{ readyPercentage }}%</span>\r\n <span>From all {{ stats?.total }} {{ type === 'user' ? 'users' : 'sites' }}</span>\r\n </div>\r\n <div class=\"card__content-progress-bar\">\r\n <div\r\n class=\"card__content-progress-bar-fill ready\"\r\n [class.already]=\"upgradeStatus === 'already'\"\r\n [style.width.%]=\"readyPercentage\"\r\n ></div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"upgradeStatus === 'already'\" class=\"card__content-progress\">\r\n <div class=\"card__content-progress-label\">\r\n <span>{{ upgradedPercentage }}%</span>\r\n <span>From all {{ stats?.totalReady }} ready {{ type === 'user' ? 'users' : 'sites' }}</span>\r\n </div>\r\n <div class=\"card__content-progress-bar\">\r\n <div\r\n class=\"card__content-progress-bar-fill ready\"\r\n [class.already]=\"upgradeStatus === 'already'\"\r\n [style.width.%]=\"upgradedPercentage\"\r\n ></div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"upgradeStatus === 'pending'\">\r\n <div class=\"card__content-progress\">\r\n <div class=\"card__content-progress-label\">\r\n <span>{{ pendingActivationPercentage }}%</span>\r\n <span>From all {{ stats?.totalUpgraded }} {{ 'upgraded users' }}</span>\r\n </div>\r\n <div class=\"card__content-progress-bar\">\r\n <div\r\n class=\"card__content-progress-bar-fill ready\"\r\n [class.pending-activation]=\"upgradeStatus === 'pending'\"\r\n [style.width.%]=\"pendingActivationPercentage\"\r\n ></div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n</tk-card>\r\n", styles: [":host{display:block;height:100%;box-sizing:border-box}.card__content-info{display:flex;align-items:center;justify-content:space-between}.card__content-text{display:flex;flex-direction:column;gap:.25rem}.card__content-text .card__content-label{font-size:20px}.card__content-text .card__content-description{font-size:12px}.card__content-wrapper{display:flex;align-items:center;justify-content:center;gap:1rem}.card__content-wrapper:first-child{display:flex;gap:.5rem}.card__content-progress-wrapper{display:flex;flex-direction:column;gap:1rem}.card__content-progress{display:flex;flex-direction:column;gap:.25rem;font-size:14px}.card__content-progress .card__content-progress-label{display:flex;align-items:center;justify-content:space-between;padding:.05rem}.card__content-progress .card__content-progress-bar{background-color:#ededed;border-radius:10rem}.card__content-progress .card__content-progress-bar .card__content-progress-bar-fill{height:10px;border-radius:inherit}.ready{background-color:#0a78cc}.already{background-color:#16a693}.pending-activation{background-color:#ddbf45}\n"] }]
55
+ args: [{ selector: 'tk-stat-card', template: "<tk-card [title]=\"title\">\r\n <ng-container ngProjectAs=\"card-content\">\r\n <div class=\"card__content-info\">\r\n <div class=\"card__content-wrapper\">\r\n <img width=\"42\" [src]=\"'assets/icons/' + type + '.png'\" alt=\"\" />\r\n <div class=\"card__content-text\">\r\n <ng-container *ngIf=\"upgradeStatus === 'ready' || upgradeStatus === 'already'\">\r\n <div class=\"card__content-label\">\r\n {{ upgradeStatus === 'ready' ? stats?.totalReady : stats?.totalUpgraded }}\r\n {{ type === 'user' ? 'Users' : 'Sites' }}</div>\r\n <div class=\"card__content-description\">{{ upgradeStatus === 'ready' ? 'Ready to Upgrade' : 'Already Upgraded' }}</div>\r\n </ng-container>\r\n <ng-container *ngIf=\"upgradeStatus === 'pending'\">\r\n <div class=\"card__content-label\">\r\n {{ stats?.pendingActivation }}\r\n {{ 'User' }}</div>\r\n <div class=\"card__content-description\">{{ 'Ready to activate' }}</div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card__content-progress-wrapper\">\r\n <ng-container *ngIf=\"upgradeStatus === 'ready' || upgradeStatus === 'already'\">\r\n <div class=\"card__content-progress\">\r\n <div class=\"card__content-progress-label\">\r\n <span>{{ readyPercentage }}%</span>\r\n <span>From all {{ stats?.total }} {{ type === 'user' ? 'users' : 'sites' }}</span>\r\n </div>\r\n <div class=\"card__content-progress-bar\">\r\n <div\r\n class=\"card__content-progress-bar-fill ready\"\r\n [class.already]=\"upgradeStatus === 'already'\"\r\n [style.width.%]=\"readyPercentage\"\r\n ></div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"upgradeStatus === 'already'\" class=\"card__content-progress\">\r\n <div class=\"card__content-progress-label\">\r\n <span>{{ upgradedPercentage }}%</span>\r\n <span>From all {{ stats?.totalReady }} ready {{ type === 'user' ? 'users' : 'sites' }}</span>\r\n </div>\r\n <div class=\"card__content-progress-bar\">\r\n <div\r\n class=\"card__content-progress-bar-fill ready\"\r\n [class.already]=\"upgradeStatus === 'already'\"\r\n [style.width.%]=\"upgradedPercentage\"\r\n ></div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"upgradeStatus === 'pending'\">\r\n <div class=\"card__content-progress\">\r\n <div class=\"card__content-progress-label\">\r\n <span>{{ pendingActivationPercentage }}%</span>\r\n <span>From all {{ stats?.totalUpgraded }} {{ 'upgraded users' }}</span>\r\n </div>\r\n <div class=\"card__content-progress-bar\" style=\"overflow: hidden;\">\r\n <div\r\n class=\"card__content-progress-bar-fill ready\"\r\n [class.pending-activation]=\"upgradeStatus === 'pending'\"\r\n [style.width.%]=\"pendingActivationPercentage\"\r\n ></div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n</tk-card>\r\n", styles: [":host{display:block;height:100%;box-sizing:border-box}.card__content-info{display:flex;align-items:center;justify-content:space-between}.card__content-text{display:flex;flex-direction:column;gap:.25rem}.card__content-text .card__content-label{font-size:20px}.card__content-text .card__content-description{font-size:12px}.card__content-wrapper{display:flex;align-items:center;justify-content:center;gap:1rem}.card__content-wrapper:first-child{display:flex;gap:.5rem}.card__content-progress-wrapper{display:flex;flex-direction:column;gap:1rem}.card__content-progress{display:flex;flex-direction:column;gap:.25rem;font-size:14px}.card__content-progress .card__content-progress-label{display:flex;align-items:center;justify-content:space-between;padding:.05rem}.card__content-progress .card__content-progress-bar{background-color:#ededed;border-radius:10rem}.card__content-progress .card__content-progress-bar .card__content-progress-bar-fill{height:10px;border-radius:inherit}.ready{background-color:#0a78cc}.already{background-color:#16a693}.pending-activation{background-color:#ddbf45}\n"] }]
56
56
  }], propDecorators: { title: [{
57
57
  type: Input
58
58
  }], type: [{
@@ -62,4 +62,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
62
62
  }], upgradeStatus: [{
63
63
  type: Input
64
64
  }] } });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdC1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy9kaTJtdC9zaGFyZWQvY29tcG9uZW50cy9zdGF0LWNhcmQvc3RhdC1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy9kaTJtdC9zaGFyZWQvY29tcG9uZW50cy9zdGF0LWNhcmQvc3RhdC1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7O0FBUXpELE1BQU0sT0FBTyxpQkFBaUI7SUFRMUIsUUFBUTtRQUNKLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUU7WUFDdEIsSUFBSSxDQUFDLEtBQUssR0FBRztnQkFDVCxFQUFFLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFO2dCQUMzQixVQUFVLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxVQUFVO2dCQUMzQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLFlBQVksQ0FBQztnQkFDMUMsVUFBVSxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztnQkFDcEQsYUFBYSxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztnQkFDMUQsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLG1CQUFtQixDQUFDO2FBQ2hFLENBQUE7U0FDSjthQUFNO1lBQ0gsSUFBSSxDQUFDLEtBQUssR0FBRztnQkFDVCxFQUFFLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFO2dCQUMzQixVQUFVLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxVQUFVO2dCQUMzQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLFlBQVksQ0FBQztnQkFDMUMsVUFBVSxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztnQkFDcEQsYUFBYSxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQzthQUM3RCxDQUFBO1NBQ0o7SUFDTCxDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2YsSUFBRyxJQUFJLENBQUMsYUFBYSxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBRTtZQUN6RCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1NBQ2pEO2FBQU0sSUFBRyxJQUFJLENBQUMsYUFBYSxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBRTtZQUNoRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxhQUFhLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEdBQUcsR0FBRyxDQUFDLENBQUM7U0FDekU7O1lBQ0ksT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRCxJQUFJLGtCQUFrQjtRQUNsQixJQUFHLElBQUksQ0FBQyxhQUFhLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTSxFQUFFO1lBQ3pELE9BQU8sQ0FBQyxDQUFDO1NBQ1o7YUFBTSxJQUFHLElBQUksQ0FBQyxhQUFhLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTSxFQUFFO1lBQ2hFLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1NBQ2xJOztZQUNJLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssR0FBRyxHQUFHLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRUQsSUFBSSwyQkFBMkI7UUFDM0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxhQUFhLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDdEYsQ0FBQzs7K0dBakRRLGlCQUFpQjttR0FBakIsaUJBQWlCLGdLQ1I5Qiw4dUdBb0VBOzRGRDVEYSxpQkFBaUI7a0JBTDdCLFNBQVM7K0JBQ0ksY0FBYzs4QkFLZixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFNpdGVzVXBncmFkZVJlYWRpbmVzcywgU2l0ZXNVcGdyYWRlU3VtbWFyeSwgVXNlcnNVcGdyYWRlUmVhZGluZXNzLCBVc2Vyc1VwZ3JhZGVTdW1tYXJ5IH0gZnJvbSBcIi4uLy4uLy4uL3dpZGdldHMvdXBncmFkZS1vdmVydmlldy90eXBlcy91cGdyYWRlLW92ZXJ2aWV3XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndGstc3RhdC1jYXJkJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9zdGF0LWNhcmQuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vc3RhdC1jYXJkLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFN0YXRDYXJkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIEBJbnB1dCgpIHRpdGxlITogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgdHlwZSE6ICdzaXRlJyB8ICd1c2VyJztcclxuICAgIEBJbnB1dCgpIHJlYWRpbmVzc1N0YXRzOiBhbnk7XHJcbiAgICBASW5wdXQoKSB1cGdyYWRlU3RhdHVzITogJ3JlYWR5JyB8ICdhbHJlYWR5JyB8ICdwZW5kaW5nJztcclxuXHJcbiAgICBzdGF0czogYW55O1xyXG5cclxuICAgIG5nT25Jbml0KCkgeyAgICAgICAgXHJcbiAgICAgICAgaWYgKHRoaXMudHlwZSA9PT0gJ3VzZXInKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3RhdHMgPSB7XHJcbiAgICAgICAgICAgICAgICBpZDogdGhpcy5yZWFkaW5lc3NTdGF0cz8uaWQsXHJcbiAgICAgICAgICAgICAgICBjdXN0b21lcklkOiB0aGlzLnJlYWRpbmVzc1N0YXRzPy5jdXN0b21lcklkLFxyXG4gICAgICAgICAgICAgICAgdG90YWw6IHRoaXMucmVhZGluZXNzU3RhdHM/LlsndG90YWxVc2VycyddLFxyXG4gICAgICAgICAgICAgICAgdG90YWxSZWFkeTogdGhpcy5yZWFkaW5lc3NTdGF0cz8uWyd0b3RhbFJlYWR5VXNlcnMnXSxcclxuICAgICAgICAgICAgICAgIHRvdGFsVXBncmFkZWQ6IHRoaXMucmVhZGluZXNzU3RhdHM/LlsndG90YWxVcGdyYWRlZFVzZXJzJ10sXHJcbiAgICAgICAgICAgICAgICBwZW5kaW5nQWN0aXZhdGlvbjogdGhpcy5yZWFkaW5lc3NTdGF0cz8uWydwZW5kaW5nQWN0aXZhdGlvbiddLFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5zdGF0cyA9IHtcclxuICAgICAgICAgICAgICAgIGlkOiB0aGlzLnJlYWRpbmVzc1N0YXRzPy5pZCxcclxuICAgICAgICAgICAgICAgIGN1c3RvbWVySWQ6IHRoaXMucmVhZGluZXNzU3RhdHM/LmN1c3RvbWVySWQsXHJcbiAgICAgICAgICAgICAgICB0b3RhbDogdGhpcy5yZWFkaW5lc3NTdGF0cz8uWyd0b3RhbFNpdGVzJ10sXHJcbiAgICAgICAgICAgICAgICB0b3RhbFJlYWR5OiB0aGlzLnJlYWRpbmVzc1N0YXRzPy5bJ3RvdGFsUmVhZHlTaXRlcyddLFxyXG4gICAgICAgICAgICAgICAgdG90YWxVcGdyYWRlZDogdGhpcy5yZWFkaW5lc3NTdGF0cz8uWyd0b3RhbFVwZ3JhZGVkU2l0ZXMnXSxcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBnZXQgcmVhZHlQZXJjZW50YWdlKCkge1xyXG4gICAgICAgIGlmKHRoaXMudXBncmFkZVN0YXR1cyA9PT0gJ2FscmVhZHknICYmIHRoaXMudHlwZSA9PT0gJ3VzZXInKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBNYXRoLmNlaWwoMSAvIHRoaXMuc3RhdHM/LnRvdGFsICogMTAwKTtcclxuICAgICAgICB9IGVsc2UgaWYodGhpcy51cGdyYWRlU3RhdHVzID09PSAnYWxyZWFkeScgJiYgdGhpcy50eXBlID09PSAnc2l0ZScpIHsgXHJcbiAgICAgICAgICAgIHJldHVybiBNYXRoLmNlaWwodGhpcy5zdGF0cz8udG90YWxVcGdyYWRlZCAvIHRoaXMuc3RhdHM/LnRvdGFsICogMTAwKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSByZXR1cm4gTWF0aC5jZWlsKHRoaXMuc3RhdHM/LnRvdGFsUmVhZHkgLyB0aGlzLnN0YXRzPy50b3RhbCAqIDEwMCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHVwZ3JhZGVkUGVyY2VudGFnZSgpIHtcclxuICAgICAgICBpZih0aGlzLnVwZ3JhZGVTdGF0dXMgPT09ICdhbHJlYWR5JyAmJiB0aGlzLnR5cGUgPT09ICd1c2VyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gMDtcclxuICAgICAgICB9IGVsc2UgaWYodGhpcy51cGdyYWRlU3RhdHVzID09PSAnYWxyZWFkeScgJiYgdGhpcy50eXBlID09PSAnc2l0ZScpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc3RhdHM/LnRvdGFsUmVhZHkgPT0gMCB8fCB0aGlzLnN0YXRzPy50b3RhbCA9PSAwID8gMCA6IE1hdGguY2VpbCh0aGlzLnN0YXRzPy50b3RhbFJlYWR5IC8gdGhpcy5zdGF0cz8udG90YWwgKiAxMDApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHJldHVybiBNYXRoLmNlaWwodGhpcy5zdGF0cz8udG90YWxVcGdyYWRlZCAvIHRoaXMuc3RhdHM/LnRvdGFsICogMTAwKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgcGVuZGluZ0FjdGl2YXRpb25QZXJjZW50YWdlKCkge1xyXG4gICAgICAgIHJldHVybiBNYXRoLmNlaWwodGhpcy5zdGF0cz8ucGVuZGluZ0FjdGl2YXRpb24gLyB0aGlzLnN0YXRzPy50b3RhbFVwZ3JhZGVkICogMTAwKTtcclxuICAgIH1cclxufSIsIjx0ay1jYXJkIFt0aXRsZV09XCJ0aXRsZVwiPlxyXG4gIDxuZy1jb250YWluZXIgbmdQcm9qZWN0QXM9XCJjYXJkLWNvbnRlbnRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkX19jb250ZW50LWluZm9cIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNhcmRfX2NvbnRlbnQtd3JhcHBlclwiPlxyXG4gICAgICAgIDxpbWcgd2lkdGg9XCI0MlwiIFtzcmNdPVwiJ2Fzc2V0cy9pY29ucy8nICsgdHlwZSArICcucG5nJ1wiIGFsdD1cIlwiIC8+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmRfX2NvbnRlbnQtdGV4dFwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInVwZ3JhZGVTdGF0dXMgPT09ICdyZWFkeScgfHwgdXBncmFkZVN0YXR1cyA9PT0gJ2FscmVhZHknXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkX19jb250ZW50LWxhYmVsXCI+XHJcbiAgICAgICAgICAgICAge3sgdXBncmFkZVN0YXR1cyA9PT0gJ3JlYWR5JyA/IHN0YXRzPy50b3RhbFJlYWR5IDogc3RhdHM/LnRvdGFsVXBncmFkZWQgfX1cclxuICAgICAgICAgICAgICB7eyB0eXBlID09PSAndXNlcicgPyAnVXNlcnMnIDogJ1NpdGVzJyB9fTwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZF9fY29udGVudC1kZXNjcmlwdGlvblwiPnt7IHVwZ3JhZGVTdGF0dXMgPT09ICdyZWFkeScgPyAnUmVhZHkgdG8gVXBncmFkZScgOiAnQWxyZWFkeSBVcGdyYWRlZCcgfX08L2Rpdj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInVwZ3JhZGVTdGF0dXMgPT09ICdwZW5kaW5nJ1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZF9fY29udGVudC1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgIHt7IHN0YXRzPy5wZW5kaW5nQWN0aXZhdGlvbiB9fVxyXG4gICAgICAgICAgICAgIHt7ICdVc2VyJyB9fTwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZF9fY29udGVudC1kZXNjcmlwdGlvblwiPnt7ICdSZWFkeSB0byBhY3RpdmF0ZScgfX08L2Rpdj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmRfX2NvbnRlbnQtcHJvZ3Jlc3Mtd3JhcHBlclwiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidXBncmFkZVN0YXR1cyA9PT0gJ3JlYWR5JyB8fCB1cGdyYWRlU3RhdHVzID09PSAnYWxyZWFkeSdcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZF9fY29udGVudC1wcm9ncmVzc1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmRfX2NvbnRlbnQtcHJvZ3Jlc3MtbGFiZWxcIj5cclxuICAgICAgICAgICAgPHNwYW4+e3sgcmVhZHlQZXJjZW50YWdlIH19JTwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4+RnJvbSBhbGwge3sgc3RhdHM/LnRvdGFsIH19IHt7IHR5cGUgPT09ICd1c2VyJyA/ICd1c2VycycgOiAnc2l0ZXMnIH19PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZF9fY29udGVudC1wcm9ncmVzcy1iYXJcIj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiY2FyZF9fY29udGVudC1wcm9ncmVzcy1iYXItZmlsbCByZWFkeVwiXHJcbiAgICAgICAgICAgICAgW2NsYXNzLmFscmVhZHldPVwidXBncmFkZVN0YXR1cyA9PT0gJ2FscmVhZHknXCJcclxuICAgICAgICAgICAgICBbc3R5bGUud2lkdGguJV09XCJyZWFkeVBlcmNlbnRhZ2VcIlxyXG4gICAgICAgICAgICA+PC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwidXBncmFkZVN0YXR1cyA9PT0gJ2FscmVhZHknXCIgY2xhc3M9XCJjYXJkX19jb250ZW50LXByb2dyZXNzXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZF9fY29udGVudC1wcm9ncmVzcy1sYWJlbFwiPlxyXG4gICAgICAgICAgICA8c3Bhbj57eyB1cGdyYWRlZFBlcmNlbnRhZ2UgfX0lPC9zcGFuPlxyXG4gICAgICAgICAgICA8c3Bhbj5Gcm9tIGFsbCB7eyBzdGF0cz8udG90YWxSZWFkeSB9fSByZWFkeSB7eyB0eXBlID09PSAndXNlcicgPyAndXNlcnMnIDogJ3NpdGVzJyB9fTwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmRfX2NvbnRlbnQtcHJvZ3Jlc3MtYmFyXCI+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBjbGFzcz1cImNhcmRfX2NvbnRlbnQtcHJvZ3Jlc3MtYmFyLWZpbGwgcmVhZHlcIlxyXG4gICAgICAgICAgICAgIFtjbGFzcy5hbHJlYWR5XT1cInVwZ3JhZGVTdGF0dXMgPT09ICdhbHJlYWR5J1wiXHJcbiAgICAgICAgICAgICAgW3N0eWxlLndpZHRoLiVdPVwidXBncmFkZWRQZXJjZW50YWdlXCJcclxuICAgICAgICAgICAgPjwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidXBncmFkZVN0YXR1cyA9PT0gJ3BlbmRpbmcnXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmRfX2NvbnRlbnQtcHJvZ3Jlc3NcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkX19jb250ZW50LXByb2dyZXNzLWxhYmVsXCI+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7IHBlbmRpbmdBY3RpdmF0aW9uUGVyY2VudGFnZSB9fSU8L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuPkZyb20gYWxsIHt7IHN0YXRzPy50b3RhbFVwZ3JhZGVkIH19IHt7ICd1cGdyYWRlZCB1c2VycycgfX08L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkX19jb250ZW50LXByb2dyZXNzLWJhclwiPlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJjYXJkX19jb250ZW50LXByb2dyZXNzLWJhci1maWxsIHJlYWR5XCJcclxuICAgICAgICAgICAgICBbY2xhc3MucGVuZGluZy1hY3RpdmF0aW9uXT1cInVwZ3JhZGVTdGF0dXMgPT09ICdwZW5kaW5nJ1wiXHJcbiAgICAgICAgICAgICAgW3N0eWxlLndpZHRoLiVdPVwicGVuZGluZ0FjdGl2YXRpb25QZXJjZW50YWdlXCJcclxuICAgICAgICAgICAgPjwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvdGstY2FyZD5cclxuIl19
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdC1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy9kaTJtdC9zaGFyZWQvY29tcG9uZW50cy9zdGF0LWNhcmQvc3RhdC1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy9kaTJtdC9zaGFyZWQvY29tcG9uZW50cy9zdGF0LWNhcmQvc3RhdC1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7O0FBUXpELE1BQU0sT0FBTyxpQkFBaUI7SUFRMUIsUUFBUTtRQUNKLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUU7WUFDdEIsSUFBSSxDQUFDLEtBQUssR0FBRztnQkFDVCxFQUFFLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFO2dCQUMzQixVQUFVLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxVQUFVO2dCQUMzQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLFlBQVksQ0FBQztnQkFDMUMsVUFBVSxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztnQkFDcEQsYUFBYSxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztnQkFDMUQsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLG1CQUFtQixDQUFDO2FBQ2hFLENBQUE7U0FDSjthQUFNO1lBQ0gsSUFBSSxDQUFDLEtBQUssR0FBRztnQkFDVCxFQUFFLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFO2dCQUMzQixVQUFVLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxVQUFVO2dCQUMzQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLFlBQVksQ0FBQztnQkFDMUMsVUFBVSxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztnQkFDcEQsYUFBYSxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQzthQUM3RCxDQUFBO1NBQ0o7SUFDTCxDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2YsSUFBRyxJQUFJLENBQUMsYUFBYSxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBRTtZQUN6RCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1NBQ2pEO2FBQU0sSUFBRyxJQUFJLENBQUMsYUFBYSxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBRTtZQUNoRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxhQUFhLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEdBQUcsR0FBRyxDQUFDLENBQUM7U0FDekU7O1lBQ0ksT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRCxJQUFJLGtCQUFrQjtRQUNsQixJQUFHLElBQUksQ0FBQyxhQUFhLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTSxFQUFFO1lBQ3pELE9BQU8sQ0FBQyxDQUFDO1NBQ1o7YUFBTSxJQUFHLElBQUksQ0FBQyxhQUFhLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTSxFQUFFO1lBQ2hFLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1NBQ2xJOztZQUNJLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssR0FBRyxHQUFHLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRUQsSUFBSSwyQkFBMkI7UUFDM0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsaUJBQWlCLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDdEYsQ0FBQzs7K0dBakRRLGlCQUFpQjttR0FBakIsaUJBQWlCLGdLQ1I5Qiwwd0dBb0VBOzRGRDVEYSxpQkFBaUI7a0JBTDdCLFNBQVM7K0JBQ0ksY0FBYzs4QkFLZixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFNpdGVzVXBncmFkZVJlYWRpbmVzcywgU2l0ZXNVcGdyYWRlU3VtbWFyeSwgVXNlcnNVcGdyYWRlUmVhZGluZXNzLCBVc2Vyc1VwZ3JhZGVTdW1tYXJ5IH0gZnJvbSBcIi4uLy4uLy4uL3dpZGdldHMvdXBncmFkZS1vdmVydmlldy90eXBlcy91cGdyYWRlLW92ZXJ2aWV3XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndGstc3RhdC1jYXJkJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9zdGF0LWNhcmQuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vc3RhdC1jYXJkLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFN0YXRDYXJkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIEBJbnB1dCgpIHRpdGxlITogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgdHlwZSE6ICdzaXRlJyB8ICd1c2VyJztcclxuICAgIEBJbnB1dCgpIHJlYWRpbmVzc1N0YXRzOiBhbnk7XHJcbiAgICBASW5wdXQoKSB1cGdyYWRlU3RhdHVzITogJ3JlYWR5JyB8ICdhbHJlYWR5JyB8ICdwZW5kaW5nJztcclxuXHJcbiAgICBzdGF0czogYW55O1xyXG5cclxuICAgIG5nT25Jbml0KCkgeyAgICAgICAgXHJcbiAgICAgICAgaWYgKHRoaXMudHlwZSA9PT0gJ3VzZXInKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3RhdHMgPSB7XHJcbiAgICAgICAgICAgICAgICBpZDogdGhpcy5yZWFkaW5lc3NTdGF0cz8uaWQsXHJcbiAgICAgICAgICAgICAgICBjdXN0b21lcklkOiB0aGlzLnJlYWRpbmVzc1N0YXRzPy5jdXN0b21lcklkLFxyXG4gICAgICAgICAgICAgICAgdG90YWw6IHRoaXMucmVhZGluZXNzU3RhdHM/LlsndG90YWxVc2VycyddLFxyXG4gICAgICAgICAgICAgICAgdG90YWxSZWFkeTogdGhpcy5yZWFkaW5lc3NTdGF0cz8uWyd0b3RhbFJlYWR5VXNlcnMnXSxcclxuICAgICAgICAgICAgICAgIHRvdGFsVXBncmFkZWQ6IHRoaXMucmVhZGluZXNzU3RhdHM/LlsndG90YWxVcGdyYWRlZFVzZXJzJ10sXHJcbiAgICAgICAgICAgICAgICBwZW5kaW5nQWN0aXZhdGlvbjogdGhpcy5yZWFkaW5lc3NTdGF0cz8uWydwZW5kaW5nQWN0aXZhdGlvbiddLFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5zdGF0cyA9IHtcclxuICAgICAgICAgICAgICAgIGlkOiB0aGlzLnJlYWRpbmVzc1N0YXRzPy5pZCxcclxuICAgICAgICAgICAgICAgIGN1c3RvbWVySWQ6IHRoaXMucmVhZGluZXNzU3RhdHM/LmN1c3RvbWVySWQsXHJcbiAgICAgICAgICAgICAgICB0b3RhbDogdGhpcy5yZWFkaW5lc3NTdGF0cz8uWyd0b3RhbFNpdGVzJ10sXHJcbiAgICAgICAgICAgICAgICB0b3RhbFJlYWR5OiB0aGlzLnJlYWRpbmVzc1N0YXRzPy5bJ3RvdGFsUmVhZHlTaXRlcyddLFxyXG4gICAgICAgICAgICAgICAgdG90YWxVcGdyYWRlZDogdGhpcy5yZWFkaW5lc3NTdGF0cz8uWyd0b3RhbFVwZ3JhZGVkU2l0ZXMnXSxcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBnZXQgcmVhZHlQZXJjZW50YWdlKCkge1xyXG4gICAgICAgIGlmKHRoaXMudXBncmFkZVN0YXR1cyA9PT0gJ2FscmVhZHknICYmIHRoaXMudHlwZSA9PT0gJ3VzZXInKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBNYXRoLmNlaWwoMSAvIHRoaXMuc3RhdHM/LnRvdGFsICogMTAwKTtcclxuICAgICAgICB9IGVsc2UgaWYodGhpcy51cGdyYWRlU3RhdHVzID09PSAnYWxyZWFkeScgJiYgdGhpcy50eXBlID09PSAnc2l0ZScpIHsgXHJcbiAgICAgICAgICAgIHJldHVybiBNYXRoLmNlaWwodGhpcy5zdGF0cz8udG90YWxVcGdyYWRlZCAvIHRoaXMuc3RhdHM/LnRvdGFsICogMTAwKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSByZXR1cm4gTWF0aC5jZWlsKHRoaXMuc3RhdHM/LnRvdGFsUmVhZHkgLyB0aGlzLnN0YXRzPy50b3RhbCAqIDEwMCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHVwZ3JhZGVkUGVyY2VudGFnZSgpIHtcclxuICAgICAgICBpZih0aGlzLnVwZ3JhZGVTdGF0dXMgPT09ICdhbHJlYWR5JyAmJiB0aGlzLnR5cGUgPT09ICd1c2VyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gMDtcclxuICAgICAgICB9IGVsc2UgaWYodGhpcy51cGdyYWRlU3RhdHVzID09PSAnYWxyZWFkeScgJiYgdGhpcy50eXBlID09PSAnc2l0ZScpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc3RhdHM/LnRvdGFsUmVhZHkgPT0gMCB8fCB0aGlzLnN0YXRzPy50b3RhbCA9PSAwID8gMCA6IE1hdGguY2VpbCh0aGlzLnN0YXRzPy50b3RhbFJlYWR5IC8gdGhpcy5zdGF0cz8udG90YWwgKiAxMDApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHJldHVybiBNYXRoLmNlaWwodGhpcy5zdGF0cz8udG90YWxVcGdyYWRlZCAvIHRoaXMuc3RhdHM/LnRvdGFsICogMTAwKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgcGVuZGluZ0FjdGl2YXRpb25QZXJjZW50YWdlKCkge1xyXG4gICAgICAgIHJldHVybiBNYXRoLmNlaWwodGhpcy5zdGF0cz8udG90YWxVcGdyYWRlZCAvIHRoaXMuc3RhdHM/LnBlbmRpbmdBY3RpdmF0aW9uICogMTAwKTtcclxuICAgIH1cclxufSIsIjx0ay1jYXJkIFt0aXRsZV09XCJ0aXRsZVwiPlxyXG4gIDxuZy1jb250YWluZXIgbmdQcm9qZWN0QXM9XCJjYXJkLWNvbnRlbnRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkX19jb250ZW50LWluZm9cIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNhcmRfX2NvbnRlbnQtd3JhcHBlclwiPlxyXG4gICAgICAgIDxpbWcgd2lkdGg9XCI0MlwiIFtzcmNdPVwiJ2Fzc2V0cy9pY29ucy8nICsgdHlwZSArICcucG5nJ1wiIGFsdD1cIlwiIC8+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmRfX2NvbnRlbnQtdGV4dFwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInVwZ3JhZGVTdGF0dXMgPT09ICdyZWFkeScgfHwgdXBncmFkZVN0YXR1cyA9PT0gJ2FscmVhZHknXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkX19jb250ZW50LWxhYmVsXCI+XHJcbiAgICAgICAgICAgICAge3sgdXBncmFkZVN0YXR1cyA9PT0gJ3JlYWR5JyA/IHN0YXRzPy50b3RhbFJlYWR5IDogc3RhdHM/LnRvdGFsVXBncmFkZWQgfX1cclxuICAgICAgICAgICAgICB7eyB0eXBlID09PSAndXNlcicgPyAnVXNlcnMnIDogJ1NpdGVzJyB9fTwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZF9fY29udGVudC1kZXNjcmlwdGlvblwiPnt7IHVwZ3JhZGVTdGF0dXMgPT09ICdyZWFkeScgPyAnUmVhZHkgdG8gVXBncmFkZScgOiAnQWxyZWFkeSBVcGdyYWRlZCcgfX08L2Rpdj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInVwZ3JhZGVTdGF0dXMgPT09ICdwZW5kaW5nJ1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZF9fY29udGVudC1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgIHt7IHN0YXRzPy5wZW5kaW5nQWN0aXZhdGlvbiB9fVxyXG4gICAgICAgICAgICAgIHt7ICdVc2VyJyB9fTwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZF9fY29udGVudC1kZXNjcmlwdGlvblwiPnt7ICdSZWFkeSB0byBhY3RpdmF0ZScgfX08L2Rpdj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmRfX2NvbnRlbnQtcHJvZ3Jlc3Mtd3JhcHBlclwiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidXBncmFkZVN0YXR1cyA9PT0gJ3JlYWR5JyB8fCB1cGdyYWRlU3RhdHVzID09PSAnYWxyZWFkeSdcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZF9fY29udGVudC1wcm9ncmVzc1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmRfX2NvbnRlbnQtcHJvZ3Jlc3MtbGFiZWxcIj5cclxuICAgICAgICAgICAgPHNwYW4+e3sgcmVhZHlQZXJjZW50YWdlIH19JTwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4+RnJvbSBhbGwge3sgc3RhdHM/LnRvdGFsIH19IHt7IHR5cGUgPT09ICd1c2VyJyA/ICd1c2VycycgOiAnc2l0ZXMnIH19PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZF9fY29udGVudC1wcm9ncmVzcy1iYXJcIj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiY2FyZF9fY29udGVudC1wcm9ncmVzcy1iYXItZmlsbCByZWFkeVwiXHJcbiAgICAgICAgICAgICAgW2NsYXNzLmFscmVhZHldPVwidXBncmFkZVN0YXR1cyA9PT0gJ2FscmVhZHknXCJcclxuICAgICAgICAgICAgICBbc3R5bGUud2lkdGguJV09XCJyZWFkeVBlcmNlbnRhZ2VcIlxyXG4gICAgICAgICAgICA+PC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwidXBncmFkZVN0YXR1cyA9PT0gJ2FscmVhZHknXCIgY2xhc3M9XCJjYXJkX19jb250ZW50LXByb2dyZXNzXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZF9fY29udGVudC1wcm9ncmVzcy1sYWJlbFwiPlxyXG4gICAgICAgICAgICA8c3Bhbj57eyB1cGdyYWRlZFBlcmNlbnRhZ2UgfX0lPC9zcGFuPlxyXG4gICAgICAgICAgICA8c3Bhbj5Gcm9tIGFsbCB7eyBzdGF0cz8udG90YWxSZWFkeSB9fSByZWFkeSB7eyB0eXBlID09PSAndXNlcicgPyAndXNlcnMnIDogJ3NpdGVzJyB9fTwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmRfX2NvbnRlbnQtcHJvZ3Jlc3MtYmFyXCI+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBjbGFzcz1cImNhcmRfX2NvbnRlbnQtcHJvZ3Jlc3MtYmFyLWZpbGwgcmVhZHlcIlxyXG4gICAgICAgICAgICAgIFtjbGFzcy5hbHJlYWR5XT1cInVwZ3JhZGVTdGF0dXMgPT09ICdhbHJlYWR5J1wiXHJcbiAgICAgICAgICAgICAgW3N0eWxlLndpZHRoLiVdPVwidXBncmFkZWRQZXJjZW50YWdlXCJcclxuICAgICAgICAgICAgPjwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidXBncmFkZVN0YXR1cyA9PT0gJ3BlbmRpbmcnXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmRfX2NvbnRlbnQtcHJvZ3Jlc3NcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkX19jb250ZW50LXByb2dyZXNzLWxhYmVsXCI+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7IHBlbmRpbmdBY3RpdmF0aW9uUGVyY2VudGFnZSB9fSU8L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuPkZyb20gYWxsIHt7IHN0YXRzPy50b3RhbFVwZ3JhZGVkIH19IHt7ICd1cGdyYWRlZCB1c2VycycgfX08L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkX19jb250ZW50LXByb2dyZXNzLWJhclwiIHN0eWxlPVwib3ZlcmZsb3c6IGhpZGRlbjtcIj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiY2FyZF9fY29udGVudC1wcm9ncmVzcy1iYXItZmlsbCByZWFkeVwiXHJcbiAgICAgICAgICAgICAgW2NsYXNzLnBlbmRpbmctYWN0aXZhdGlvbl09XCJ1cGdyYWRlU3RhdHVzID09PSAncGVuZGluZydcIlxyXG4gICAgICAgICAgICAgIFtzdHlsZS53aWR0aC4lXT1cInBlbmRpbmdBY3RpdmF0aW9uUGVyY2VudGFnZVwiXHJcbiAgICAgICAgICAgID48L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L3RrLWNhcmQ+XHJcbiJdfQ==
@@ -39,7 +39,6 @@ export class PendingActivationUsersCardComponent {
39
39
  .subscribe(({ summary, pendingActivation }) => {
40
40
  this.readinessStats = {
41
41
  ...summary,
42
- totalUpgradedUsers: 1,
43
42
  pendingActivation
44
43
  };
45
44
  this.loading = false;
@@ -81,4 +80,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
81
80
  }], customerId: [{
82
81
  type: Input
83
82
  }] } });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVuZGluZy1hY3RpdmF0aW9uLXVzZXJzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy9kaTJtdC93aWRnZXRzL3VwZ3JhZGUtb3ZlcnZpZXcvY2FyZHMvcGVuZGluZy1hY3RpdmF0aW9uLXVzZXJzL3BlbmRpbmctYWN0aXZhdGlvbi11c2Vycy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV4RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN6QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7OztBQWNyRSxNQUFNLE9BQU8sbUNBQW1DO0lBWmhEO1FBYVksZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQywyQkFBc0IsR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUN4RCxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQU12QyxVQUFLLEdBQVcsMEJBQTBCLENBQUM7UUFDM0MsU0FBSSxHQUFRLE1BQU0sQ0FBQztRQUVuQixrQkFBYSxHQUFRLFNBQVMsQ0FBQztRQUUvQixZQUFPLEdBQVksS0FBSyxDQUFDO0tBdUM1QjtJQXJDRyxRQUFRO1FBQ0osSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUNuQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBRW5DLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUV6RCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUV4QiwyREFBMkQ7UUFDM0QsMENBQTBDO1FBQzFDLGtDQUFrQztRQUNsQyxzQ0FBc0M7UUFDdEMsNEJBQTRCO1FBQzVCLHdDQUF3QztRQUN4Qyx5Q0FBeUM7UUFDekMsaUJBQWlCO1FBQ2pCLG9DQUFvQztRQUNwQyxjQUFjO1FBQ2QsSUFBSTtRQUNBLFFBQVEsQ0FBQztZQUNMLE9BQU8sRUFBRSxJQUFJLENBQUMsc0JBQXNCLENBQUMsc0JBQXNCLEVBQUU7WUFDN0QsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixDQUFDLHlCQUF5QixFQUFFO1NBQzdFLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUM1QixTQUFTLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxFQUFFLEVBQUU7WUFDMUMsSUFBSSxDQUFDLGNBQWMsR0FBRztnQkFDbEIsR0FBRyxPQUFPO2dCQUNWLGtCQUFrQixFQUFFLENBQUM7Z0JBQ3JCLGlCQUFpQjthQUNwQixDQUFDO1lBQ0YsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QixDQUFDOztpSUFwRFEsbUNBQW1DO3FIQUFuQyxtQ0FBbUMsNElBVmxDOzs7Ozs7OztLQVFUOzRGQUVRLG1DQUFtQztrQkFaL0MsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsa0NBQWtDO29CQUM1QyxRQUFRLEVBQUU7Ozs7Ozs7O0tBUVQ7aUJBQ0o7OEJBTVksSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBPbkRlc3Ryb3ksIGluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBVcGdyYWRlT3ZlcnZpZXdTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3VwZ3JhZGUtb3ZlcnZpZXcuc2VydmljZVwiO1xuaW1wb3J0IHsgVXNlcnNVcGdyYWRlU3VtbWFyeSB9IGZyb20gXCIuLi8uLi90eXBlcy91cGdyYWRlLW92ZXJ2aWV3XCI7XG5pbXBvcnQgeyBmb3JrSm9pbiwgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgQVBJU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi8uLi9zaGFyZWQvc2VydmljZXMvYXBpLnNlcnZpY2VcIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0ay1wZW5kaW5nLWFjdGl2YXRpb24tdXNlcnMtY2FyZCcsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPHRrLXN0YXQtY2FyZFxuICAgICAgICAgICAgKm5nSWY9XCIhbG9hZGluZ1wiXG4gICAgICAgICAgICBbdGl0bGVdPVwidGl0bGVcIlxuICAgICAgICAgICAgW3R5cGVdPVwidHlwZVwiXG4gICAgICAgICAgICBbcmVhZGluZXNzU3RhdHNdPVwicmVhZGluZXNzU3RhdHNcIlxuICAgICAgICAgICAgW3VwZ3JhZGVTdGF0dXNdPVwidXBncmFkZVN0YXR1c1wiXG4gICAgICAgID48L3RrLXN0YXQtY2FyZD5cbiAgICBgXG59KVxuZXhwb3J0IGNsYXNzIFBlbmRpbmdBY3RpdmF0aW9uVXNlcnNDYXJkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgYXBpU2VydmljZSA9IGluamVjdChBUElTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHVwZ3JhZGVPdmVydmlld1NlcnZpY2UgPSBpbmplY3QoVXBncmFkZU92ZXJ2aWV3U2VydmljZSk7XG4gICAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBASW5wdXQoKSBob3N0ITogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHRva2VuITogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGN1c3RvbWVySWQhOiBzdHJpbmc7XG5cbiAgICB0aXRsZTogc3RyaW5nID0gJ1BlbmRpbmcgQWN0aXZhdGlvbiBVc2Vycyc7XG4gICAgdHlwZTogYW55ID0gJ3VzZXInO1xuICAgIHJlYWRpbmVzc1N0YXRzITogVXNlcnNVcGdyYWRlU3VtbWFyeTtcbiAgICB1cGdyYWRlU3RhdHVzOiBhbnkgPSAncGVuZGluZyc7XG5cbiAgICBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hcGlTZXJ2aWNlLnRva2VuID0gdGhpcy50b2tlbjtcbiAgICAgICAgdGhpcy5hcGlTZXJ2aWNlLmFwaVVybCA9IHRoaXMuaG9zdDtcblxuICAgICAgICB0aGlzLnVwZ3JhZGVPdmVydmlld1NlcnZpY2UuY3VzdG9tZXJJZCA9IHRoaXMuY3VzdG9tZXJJZDtcblxuICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuXG4gICAgLy8gICAgIHRoaXMudXBncmFkZU92ZXJ2aWV3U2VydmljZS5nZXRVc2Vyc1VwZ3JhZGVTdW1tYXJ5KClcbiAgICAvLyAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAvLyAgICAgICAgIC5zdWJzY3JpYmUoKHN0YXRzKSA9PiB7XG4gICAgLy8gICAgICAgICAgICAgdGhpcy5yZWFkaW5lc3NTdGF0cyA9IHtcbiAgICAvLyAgICAgICAgICAgICAgICAgLi4uc3RhdHMsXG4gICAgLy8gICAgICAgICAgICAgICAgIHBlbmRpbmdBY3RpdmF0aW9uOiAxLFxuICAgIC8vICAgICAgICAgICAgICAgICB0b3RhbFVwZ3JhZGVkVXNlcnM6IDEsXG4gICAgLy8gICAgICAgICAgICAgfTtcbiAgICAvLyAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAvLyAgICAgICAgIH0pO1xuICAgIC8vIH1cbiAgICAgICAgZm9ya0pvaW4oe1xuICAgICAgICAgICAgc3VtbWFyeTogdGhpcy51cGdyYWRlT3ZlcnZpZXdTZXJ2aWNlLmdldFVzZXJzVXBncmFkZVN1bW1hcnkoKSxcbiAgICAgICAgICAgIHBlbmRpbmdBY3RpdmF0aW9uOiB0aGlzLnVwZ3JhZGVPdmVydmlld1NlcnZpY2UuZ2V0UGVuZGluZ0FjdGl2YXRpb25Db3VudCgpXG4gICAgICAgIH0pLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoeyBzdW1tYXJ5LCBwZW5kaW5nQWN0aXZhdGlvbiB9KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZWFkaW5lc3NTdGF0cyA9IHtcbiAgICAgICAgICAgICAgICAgICAgLi4uc3VtbWFyeSxcbiAgICAgICAgICAgICAgICAgICAgdG90YWxVcGdyYWRlZFVzZXJzOiAxLFxuICAgICAgICAgICAgICAgICAgICBwZW5kaW5nQWN0aXZhdGlvblxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB9XG59Il19
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVuZGluZy1hY3RpdmF0aW9uLXVzZXJzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy9kaTJtdC93aWRnZXRzL3VwZ3JhZGUtb3ZlcnZpZXcvY2FyZHMvcGVuZGluZy1hY3RpdmF0aW9uLXVzZXJzL3BlbmRpbmctYWN0aXZhdGlvbi11c2Vycy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV4RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN6QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7OztBQWNyRSxNQUFNLE9BQU8sbUNBQW1DO0lBWmhEO1FBYVksZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQywyQkFBc0IsR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUN4RCxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQU12QyxVQUFLLEdBQVcsMEJBQTBCLENBQUM7UUFDM0MsU0FBSSxHQUFRLE1BQU0sQ0FBQztRQUVuQixrQkFBYSxHQUFRLFNBQVMsQ0FBQztRQUUvQixZQUFPLEdBQVksS0FBSyxDQUFDO0tBc0M1QjtJQXBDRyxRQUFRO1FBQ0osSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUNuQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBRW5DLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUV6RCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUV4QiwyREFBMkQ7UUFDM0QsMENBQTBDO1FBQzFDLGtDQUFrQztRQUNsQyxzQ0FBc0M7UUFDdEMsNEJBQTRCO1FBQzVCLHdDQUF3QztRQUN4Qyx5Q0FBeUM7UUFDekMsaUJBQWlCO1FBQ2pCLG9DQUFvQztRQUNwQyxjQUFjO1FBQ2QsSUFBSTtRQUNBLFFBQVEsQ0FBQztZQUNMLE9BQU8sRUFBRSxJQUFJLENBQUMsc0JBQXNCLENBQUMsc0JBQXNCLEVBQUU7WUFDN0QsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixDQUFDLHlCQUF5QixFQUFFO1NBQzdFLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUM1QixTQUFTLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxFQUFFLEVBQUU7WUFDMUMsSUFBSSxDQUFDLGNBQWMsR0FBRztnQkFDbEIsR0FBRyxPQUFPO2dCQUNWLGlCQUFpQjthQUNwQixDQUFDO1lBQ0YsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QixDQUFDOztpSUFuRFEsbUNBQW1DO3FIQUFuQyxtQ0FBbUMsNElBVmxDOzs7Ozs7OztLQVFUOzRGQUVRLG1DQUFtQztrQkFaL0MsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsa0NBQWtDO29CQUM1QyxRQUFRLEVBQUU7Ozs7Ozs7O0tBUVQ7aUJBQ0o7OEJBTVksSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBPbkRlc3Ryb3ksIGluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBVcGdyYWRlT3ZlcnZpZXdTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3VwZ3JhZGUtb3ZlcnZpZXcuc2VydmljZVwiO1xuaW1wb3J0IHsgVXNlcnNVcGdyYWRlU3VtbWFyeSB9IGZyb20gXCIuLi8uLi90eXBlcy91cGdyYWRlLW92ZXJ2aWV3XCI7XG5pbXBvcnQgeyBmb3JrSm9pbiwgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgQVBJU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi8uLi9zaGFyZWQvc2VydmljZXMvYXBpLnNlcnZpY2VcIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0ay1wZW5kaW5nLWFjdGl2YXRpb24tdXNlcnMtY2FyZCcsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPHRrLXN0YXQtY2FyZFxuICAgICAgICAgICAgKm5nSWY9XCIhbG9hZGluZ1wiXG4gICAgICAgICAgICBbdGl0bGVdPVwidGl0bGVcIlxuICAgICAgICAgICAgW3R5cGVdPVwidHlwZVwiXG4gICAgICAgICAgICBbcmVhZGluZXNzU3RhdHNdPVwicmVhZGluZXNzU3RhdHNcIlxuICAgICAgICAgICAgW3VwZ3JhZGVTdGF0dXNdPVwidXBncmFkZVN0YXR1c1wiXG4gICAgICAgID48L3RrLXN0YXQtY2FyZD5cbiAgICBgXG59KVxuZXhwb3J0IGNsYXNzIFBlbmRpbmdBY3RpdmF0aW9uVXNlcnNDYXJkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgYXBpU2VydmljZSA9IGluamVjdChBUElTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHVwZ3JhZGVPdmVydmlld1NlcnZpY2UgPSBpbmplY3QoVXBncmFkZU92ZXJ2aWV3U2VydmljZSk7XG4gICAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBASW5wdXQoKSBob3N0ITogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHRva2VuITogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGN1c3RvbWVySWQhOiBzdHJpbmc7XG5cbiAgICB0aXRsZTogc3RyaW5nID0gJ1BlbmRpbmcgQWN0aXZhdGlvbiBVc2Vycyc7XG4gICAgdHlwZTogYW55ID0gJ3VzZXInO1xuICAgIHJlYWRpbmVzc1N0YXRzITogVXNlcnNVcGdyYWRlU3VtbWFyeTtcbiAgICB1cGdyYWRlU3RhdHVzOiBhbnkgPSAncGVuZGluZyc7XG5cbiAgICBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hcGlTZXJ2aWNlLnRva2VuID0gdGhpcy50b2tlbjtcbiAgICAgICAgdGhpcy5hcGlTZXJ2aWNlLmFwaVVybCA9IHRoaXMuaG9zdDtcblxuICAgICAgICB0aGlzLnVwZ3JhZGVPdmVydmlld1NlcnZpY2UuY3VzdG9tZXJJZCA9IHRoaXMuY3VzdG9tZXJJZDtcblxuICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuXG4gICAgLy8gICAgIHRoaXMudXBncmFkZU92ZXJ2aWV3U2VydmljZS5nZXRVc2Vyc1VwZ3JhZGVTdW1tYXJ5KClcbiAgICAvLyAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAvLyAgICAgICAgIC5zdWJzY3JpYmUoKHN0YXRzKSA9PiB7XG4gICAgLy8gICAgICAgICAgICAgdGhpcy5yZWFkaW5lc3NTdGF0cyA9IHtcbiAgICAvLyAgICAgICAgICAgICAgICAgLi4uc3RhdHMsXG4gICAgLy8gICAgICAgICAgICAgICAgIHBlbmRpbmdBY3RpdmF0aW9uOiAxLFxuICAgIC8vICAgICAgICAgICAgICAgICB0b3RhbFVwZ3JhZGVkVXNlcnM6IDEsXG4gICAgLy8gICAgICAgICAgICAgfTtcbiAgICAvLyAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAvLyAgICAgICAgIH0pO1xuICAgIC8vIH1cbiAgICAgICAgZm9ya0pvaW4oe1xuICAgICAgICAgICAgc3VtbWFyeTogdGhpcy51cGdyYWRlT3ZlcnZpZXdTZXJ2aWNlLmdldFVzZXJzVXBncmFkZVN1bW1hcnkoKSxcbiAgICAgICAgICAgIHBlbmRpbmdBY3RpdmF0aW9uOiB0aGlzLnVwZ3JhZGVPdmVydmlld1NlcnZpY2UuZ2V0UGVuZGluZ0FjdGl2YXRpb25Db3VudCgpXG4gICAgICAgIH0pLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoeyBzdW1tYXJ5LCBwZW5kaW5nQWN0aXZhdGlvbiB9KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZWFkaW5lc3NTdGF0cyA9IHtcbiAgICAgICAgICAgICAgICAgICAgLi4uc3VtbWFyeSxcbiAgICAgICAgICAgICAgICAgICAgcGVuZGluZ0FjdGl2YXRpb25cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxufSJdfQ==
@@ -16,4 +16,4 @@ export var UserViewType;
16
16
  UserViewType[UserViewType["features"] = 4] = "features";
17
17
  UserViewType[UserViewType["overview"] = 5] = "overview";
18
18
  })(UserViewType || (UserViewType = {}));
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1jcmVhdGlvbi13aXphcmQuaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2VyLWNyZWF0aW9uL3NyYy9pbnRlcmZhY2VzL3VzZXItY3JlYXRpb24td2l6YXJkLmludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBd2RBLE1BQU0sQ0FBTixJQUFZLFdBT1g7QUFQRCxXQUFZLFdBQVc7SUFDckIsc0NBQXVCLENBQUE7SUFDdkIsMEJBQVcsQ0FBQTtJQUNYLG9DQUFxQixDQUFBO0lBQ3JCLHNDQUF1QixDQUFBO0lBQ3ZCLGdDQUFpQixDQUFBO0lBQ2pCLDBCQUFXLENBQUE7QUFDYixDQUFDLEVBUFcsV0FBVyxLQUFYLFdBQVcsUUFPdEI7QUFzQkQsTUFBTSxDQUFOLElBQVksWUFPWDtBQVBELFdBQVksWUFBWTtJQUN0QixxREFBVyxDQUFBO0lBQ1gscURBQVcsQ0FBQTtJQUNYLGlEQUFTLENBQUE7SUFDVCw2Q0FBTyxDQUFBO0lBQ1AsdURBQVksQ0FBQTtJQUNaLHVEQUFZLENBQUE7QUFDZCxDQUFDLEVBUFcsWUFBWSxLQUFaLFlBQVksUUFPdkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIExkYXBVc2VyUm93IHtcbiAgICB1c2VySWQ6IHN0cmluZztcbiAgICBmaXJzdE5hbWU6IHN0cmluZztcbiAgICBsYXN0TmFtZTogc3RyaW5nO1xuICAgIGVtYWlsOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIExkYXBRdWVyeVR5cGUgPSAndXNlcklkJyB8ICdmaXJzdE5hbWUnIHwgJ2xhc3ROYW1lJztcblxuZXhwb3J0IGludGVyZmFjZSBPdmVydmlld1VzZXJSb3cgZXh0ZW5kcyBMZGFwVXNlclJvdyB7XG4gICAgdXNlclRlbXBsYXRlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3ZlcnZpZXdMaW5lUm93IHtcbiAgICBudW1iZXI6IHN0cmluZztcbiAgICBkaWQ6IHN0cmluZztcbiAgICByb3V0ZVBhcnRpdGlvbk5hbWU6IHN0cmluZztcbiAgICBjc3M6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE92ZXJ2aWV3RGV2aWNlUm93IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgZGV2aWNlVHlwZTogc3RyaW5nO1xuICAgIGxpbmVzOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgVXNlckNyZWF0aW9uVHlwZSA9ICdDVUNNJyB8ICdNVCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlckRldGFpbHNGb3JtIHtcbiAgICB1c2VySWQ6IHN0cmluZztcbiAgICBmaXJzdE5hbWU6IHN0cmluZztcbiAgICBsYXN0TmFtZTogc3RyaW5nO1xuICAgIGVtYWlsOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlckRldGFpbHNMaW5lRm9ybVZhbHVlIHtcbiAgICBsaW5lTnVtYmVyOiBzdHJpbmc7XG4gICAgbnVtYmVyOiBzdHJpbmc7XG4gICAgcm91dGVQYXJ0aXRpb246IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVc2VyRGV0YWlsc0RldmljZUZvcm1WYWx1ZSB7XG4gICAgZGV2aWNlVHlwZTogc3RyaW5nO1xuICAgIHByb3RvY29sOiBzdHJpbmc7XG4gICAgYnV0dG9uVGVtcGxhdGU6IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlckRldGFpbHNGb3JtVmFsdWUge1xuICAgIHVzZXJJZDogc3RyaW5nO1xuICAgIGZpcnN0TmFtZTogc3RyaW5nO1xuICAgIGxhc3ROYW1lOiBzdHJpbmc7XG4gICAgZW1haWw6IHN0cmluZztcbiAgICBsaW5lczogVXNlckRldGFpbHNMaW5lRm9ybVZhbHVlW107XG4gICAgZGV2aWNlczogVXNlckRldGFpbHNEZXZpY2VGb3JtVmFsdWVbXTtcbiAgICBkZXZpY2VQcm9maWxlczogVXNlckRldGFpbHNEZXZpY2VGb3JtVmFsdWVbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaW5lT3B0aW9uIHtcbiAgICBudW1iZXI6IHN0cmluZztcbiAgICBkaWQ6IHN0cmluZztcbiAgICBjc3M6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdGVkTGluZVJvdyB7XG4gICAgbGluZU51bWJlcjogc3RyaW5nIHwgbnVsbDtcbiAgICByb3V0ZVBhcnRpdGlvbk5hbWU6IHN0cmluZyB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGV2aWNlRW50cnkge1xuICAgIGRldmljZVR5cGU6IHN0cmluZztcbiAgICBwcm90b2NvbDogc3RyaW5nO1xuICAgIGJ1dHRvblRlbXBsYXRlOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRlbXBsYXRlTGluZUxpa2Uge1xuICAgIGRpcmVjdG9yeU51bWJlcj86IHtcbiAgICAgICAgZGlyZWN0b3J5TnVtYmVyPzogc3RyaW5nO1xuICAgICAgICByb3V0ZVBhcnRpdGlvbk5hbWU/OiBzdHJpbmcgfCBudWxsO1xuICAgICAgICB0ZW1wbGF0ZURpcmVjdG9yeU51bWJlcj86IHN0cmluZyB8IG51bGw7XG4gICAgfTtcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZyB8IG51bGw7XG4gICAgY2FsbGluZ1NlYXJjaFNwYWNlPzogc3RyaW5nIHwgeyBuYW1lPzogc3RyaW5nIHwgbnVsbCB9IHwgbnVsbDtcbiAgICBkaWRQYXR0ZXJucz86IEFycmF5PHsgcGF0dGVybj86IHN0cmluZyB8IG51bGwgfT4gfCBudWxsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRlbXBsYXRlRGV2aWNlTGlrZSB7XG4gICAgZGV2aWNlVHlwZT86IHN0cmluZyB8IG51bGw7XG4gICAgcHJvdG9jb2w/OiBzdHJpbmcgfCBudWxsO1xuICAgIGJ1dHRvblRlbXBsYXRlPzogc3RyaW5nIHwgbnVsbDtcbiAgICBuYW1lPzogc3RyaW5nIHwgbnVsbDtcbiAgICBsaW5lQXNzb2NpYXRpb25zPzogQXJyYXk8e1xuICAgICAgICBkaXJlY3RvcnlOdW1iZXI/OiB7XG4gICAgICAgICAgICBkaXJlY3RvcnlOdW1iZXI/OiBzdHJpbmc7XG4gICAgICAgICAgICByb3V0ZVBhcnRpdGlvbk5hbWU/OiBzdHJpbmcgfCBudWxsO1xuICAgICAgICAgICAgdGVtcGxhdGVEaXJlY3RvcnlOdW1iZXI/OiBzdHJpbmcgfCBudWxsO1xuICAgICAgICB9IHwgbnVsbDtcbiAgICB9Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUZW1wbGF0ZUVuZFVzZXJMaWtlIHtcbiAgICB1c2VyaWQ/OiBzdHJpbmcgfCBudWxsO1xuICAgIGZpcnN0TmFtZT86IHN0cmluZyB8IG51bGw7XG4gICAgbGFzdE5hbWU/OiBzdHJpbmcgfCBudWxsO1xuICAgIGVtYWlsPzogc3RyaW5nIHwgbnVsbDtcbiAgICBsaW5lcz86IFRlbXBsYXRlTGluZUxpa2VbXSB8IG51bGw7XG4gICAgZGV2aWNlcz86IFRlbXBsYXRlRGV2aWNlTGlrZVtdIHwgbnVsbDtcbn1cblxuXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJUZW1wbGF0ZUludGVyZmFjZSB7XG4gIGlkOiBudW1iZXI7XG4gIG5hbWU6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgY3JlYXRlT3JVcGxvYWQ6IHN0cmluZyB8IG51bGw7XG4gIHVzZXJUZW1wbGF0ZVNldHRpbmdzOiBVc2VyVGVtcGxhdGVTZXR0aW5nW107XG4gIGN1c3RvbWVySWQ6IG51bWJlcjtcbiAgdXNlclJlcXVpcmVkRmllbGRzOiBzdHJpbmdbXTtcbiAgZGV2aWNlUmVxdWlyZWRGaWVsZHM6IHN0cmluZ1tdO1xuICB1ZHBSZXF1aXJlZEZpZWxkczogc3RyaW5nW107XG4gIGxpbmVSZXF1aXJlZEZpZWxkczogc3RyaW5nW107XG4gIGVuZFVzZXI6IEVuZFVzZXJJbnRlcmZhY2U7XG4gIHR5cGU6IHN0cmluZztcbiAgZ2xvYmFsVGVtcGxhdGU6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlclRlbXBsYXRlU2V0dGluZyB7XG4gIC8vIEFkZCBmaWVsZHMgaWYgbmVlZGVkXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW5kVXNlckludGVyZmFjZSB7XG4gIHVzZXJpZDogc3RyaW5nIHwgbnVsbDtcbiAgZW1haWw6IHN0cmluZyB8IG51bGw7XG4gIGZpcnN0TmFtZTogc3RyaW5nIHwgbnVsbDtcbiAgbGFzdE5hbWU6IHN0cmluZyB8IG51bGw7XG4gIGRvbWFpbjogc3RyaW5nIHwgbnVsbDtcbiAgY3VzdG9tZXJJZDogbnVtYmVyIHwgbnVsbDtcbiAgZGVwYXJ0bWVudDogc3RyaW5nIHwgbnVsbDtcbiAgdXNlclByb2ZpbGU6IHN0cmluZyB8IG51bGw7XG4gIG1hbmFnZXI6IHN0cmluZyB8IG51bGw7XG4gIGVuYWJsZU1vYmlsZVZvaWNlQWNjZXNzOiBib29sZWFuIHwgbnVsbDtcbiAgYXNzb2NpYXRlZFBjOiBzdHJpbmcgfCBudWxsO1xuICB1c2VyTG9jYWxlOiBzdHJpbmcgfCBudWxsO1xuICBkaWdlc3RDcmVkZW50aWFsczogc3RyaW5nIHwgbnVsbDtcbiAgbWlkZGxlTmFtZTogc3RyaW5nIHwgbnVsbDtcbiAgdGl0bGU6IHN0cmluZyB8IG51bGw7XG4gIHRlbGVwaG9uZU51bWJlcjogc3RyaW5nIHwgbnVsbDtcbiAgaG9tZU51bWJlcjogc3RyaW5nIHwgbnVsbDtcbiAgbW9iaWxlTnVtYmVyOiBzdHJpbmcgfCBudWxsO1xuICBwYWdlck51bWJlcjogc3RyaW5nIHwgbnVsbDtcbiAgZGlzcGxheU5hbWU6IHN0cmluZyB8IG51bGw7XG4gIGRpcmVjdG9yeVVyaTogc3RyaW5nIHwgbnVsbDtcbiAgcHJlc2VuY2VHcm91cDogc3RyaW5nIHwgbnVsbDtcbiAgc3Vic2NyaWJlQ3NzOiBzdHJpbmcgfCBudWxsO1xuICBhbGxvd0RldmljZUNvbnRyb2xGcm9tQ3RpOiBib29sZWFuIHwgbnVsbDtcbiAgZW5hYmxlQ3Jvc3NDbHVzdGVyRW06IGJvb2xlYW4gfCBudWxsO1xuICBtbHBwVXNlcklkTnVtYmVyOiBzdHJpbmcgfCBudWxsO1xuICBtbHBwUHJlY2VkZW5jZVBhdHRlcm46IHN0cmluZyB8IG51bGw7XG4gIGNyZWF0ZVVzZXJNb2RlOiBib29sZWFuO1xuICBlbmFibGVNb2JpbGl0eTogYm9vbGVhbiB8IG51bGw7XG4gIGRldmljZXM6IERldmljZUludGVyZmFjZVtdO1xuICBkZXZpY2VQcm9maWxlczogRGV2aWNlSW50ZXJmYWNlW107XG4gIGxpbmVzOiBMaW5lSW50ZXJmYWNlW107XG4gIHNpbmdsZU51bWJlclJlYWNoPzoge1xuICAgIGFzc29jaWF0ZWRMaW5lcz86IExpbmVJbnRlcmZhY2VbXSB8IG51bGw7XG4gICAgcmVtb3RlRGVzdGluYXRpb25zPzoge1xuICAgICAgbGluZUFzc29jaWF0aW9ucz86IExpbmVJbnRlcmZhY2VbXSB8IG51bGw7XG4gICAgfVtdIHwgbnVsbDtcbiAgICByZW1vdGVEZXN0aW5hdGlvblByb2ZpbGVOYW1lPzogc3RyaW5nIHwgbnVsbDtcbiAgfSB8IG51bGw7XG4gIHByaW1hcnlMaW5lUmVmZXJlbmNlOiB1bmtub3duIHwgbnVsbDtcbiAgdm9pY2VtYWlsOiB1bmtub3duIHwgbnVsbDtcbiAgZmVhdHVyZXM6IEZlYXR1cmVbXTtcbiAgbWlncmF0aW9uVm1VbmNoYW5nZWQ6IGJvb2xlYW4gfCBudWxsO1xuICBtaWdyYXRpb25JbVBVbmNoYW5nZWQ6IGJvb2xlYW4gfCBudWxsO1xuICB1Y1NlcnZpY2VQcm9maWxlOiBzdHJpbmcgfCBudWxsO1xuICB0ZWxlY29tTWFuYWdlclJ1bGU6IGJvb2xlYW47XG4gIHVzZXJUZW1wbGF0ZVVkcERldmljZVR5cGVzUnVsZXM6IFVzZXJUZW1wbGF0ZVVkcERldmljZVR5cGVzUnVsZVtdO1xuICBsZGFwSW50ZWdyYXRlZD86IGJvb2xlYW4gfCBudWxsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENhbGxJbmZvRGlzcGxheSB7XG4gIGNhbGxlck5hbWU/OiBzdHJpbmcgfCBudWxsO1xuICBjYWxsZXJOdW1iZXI/OiBzdHJpbmcgfCBudWxsO1xuICByZWRpcmVjdGVkTnVtYmVyPzogc3RyaW5nIHwgbnVsbDtcbiAgZGlhbGVkTnVtYmVyPzogc3RyaW5nIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaWRQYXR0ZXJuIHtcbiAgY2FsbGVkUGFydHlUcmFuc2Zvcm1hdGlvbk1hc2s/OiBzdHJpbmcgfCBudWxsO1xuICBwYXR0ZXJuPzogc3RyaW5nIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZXZpY2VJbnRlcmZhY2Uge1xuICBkZXZpY2VUeXBlOiBzdHJpbmcgfCBudWxsO1xuICBwcm90b2NvbDogc3RyaW5nIHwgbnVsbDtcbiAgbmFtZTogc3RyaW5nIHwgbnVsbDtcbiAgbmV3TmFtZTogc3RyaW5nIHwgbnVsbDtcbiAgcHJlZml4OiBzdHJpbmcgfCBudWxsO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZyB8IG51bGw7XG4gIGJ1dHRvblRlbXBsYXRlOiBzdHJpbmcgfCBudWxsO1xuICBsb2NhdGlvbjogc3RyaW5nIHwgbnVsbDtcbiAgZGV2aWNlUG9vbE5hbWU6IHN0cmluZyB8IG51bGw7XG4gIHNvZnRrZXlUZW1wbGF0ZTogc3RyaW5nIHwgbnVsbDtcbiAgZW50aXR5Q2hhbmdlVHlwZTogc3RyaW5nIHwgbnVsbDtcbiAgY3JlYXRlRGV2aWNlTW9kZT86IGJvb2xlYW47XG4gIGNhbGxpbmdTZWFyY2hTcGFjZU5hbWU6IHN0cmluZyB8IG51bGw7XG4gIGNvbW1vblBob25lQ29uZmlnTmFtZTogc3RyaW5nIHwgbnVsbDtcbiAgc2VjdXJpdHlQcm9maWxlOiBzdHJpbmcgfCBudWxsO1xuICB1c2VyTG9jYWxlOiBzdHJpbmcgfCBudWxsO1xuICBuZXR3b3JrTG9jYWxlOiBzdHJpbmcgfCBudWxsO1xuICBlbmFibGVkRXh0ZW5zaW9uTW9iaWxpdHk6IGJvb2xlYW4gfCBudWxsO1xuICBmaXJzdEV4cGFuc2lvbk1vZHVsZTogc3RyaW5nIHwgbnVsbDtcbiAgc2Vjb25kRXhwYW5zaW9uTW9kdWxlOiBzdHJpbmcgfCBudWxsO1xuICB3aXRoVWRwOiBib29sZWFuO1xuICBsaW5lQXNzb2NpYXRpb25zOiBMaW5lQXNzb2NpYXRpb25bXTtcbiAgc2lwUHJvZmlsZTogc3RyaW5nIHwgbnVsbDtcbiAgc3Vic2NyaWJlQ2FsbGluZ1NlYXJjaFNwYWNlTmFtZTogc3RyaW5nIHwgbnVsbDtcbiAgZXh0cmFPcHRpb25zOiBEZXZpY2VFeHRyYU9wdGlvbnM7XG4gIHVzZXJEZXZpY2VUeXBlOiBzdHJpbmcgfCBudWxsO1xuICBidWlsdEluQnJpZGdlOiBzdHJpbmcgfCBudWxsO1xuICBzZXJ2aWNlczogU2VydmljZVtdO1xuICBzcGVlZERpYWxzOiBTcGVlZERpYWxbXTtcbiAgYnVzeUxhbXBGaWVsZHM6IEJ1c3lMYW1wRmllbGRbXTtcbiAgd2ViZXhVVUlEOiBzdHJpbmcgfCBudWxsO1xuICBwa2lkOiBzdHJpbmcgfCBudWxsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpbmVBc3NvY2lhdGlvbiB7XG4gIGxpbmVQa2lkOiBzdHJpbmcgfCBudWxsO1xuICBpbmRleDogbnVtYmVyO1xuICBwb3NpdGlvbjogc3RyaW5nIHwgbnVsbDtcbiAgZGlyZWN0b3J5TnVtYmVyOiBEaXJlY3RvcnlOdW1iZXI7XG4gIGUxNjRNYXNrOiBzdHJpbmcgfCBudWxsO1xuICB0ZXh0TGFiZWw6IHN0cmluZyB8IG51bGw7XG4gIGRpc3BsYXlMYWJlbDogc3RyaW5nIHwgbnVsbDtcbiAgZGlzcGxheUxhYmVsQXNjaWk6IHN0cmluZyB8IG51bGw7XG4gIG1heE51bWJlck9mQ2FsbHM6IG51bWJlciB8IG51bGw7XG4gIGJ1c3lUcmlnZ2VyOiBudW1iZXIgfCBudWxsO1xuICByZWNvcmRpbmdPcHRpb246IHN0cmluZyB8IG51bGw7XG4gIHJlY29yZGluZ1Byb2ZpbGU6IHN0cmluZyB8IG51bGw7XG4gIHJlY29yZGluZ01lZGlhU291cmNlOiBzdHJpbmcgfCBudWxsO1xuICB2aXN1YWxNV0k6IGJvb2xlYW4gfCBudWxsO1xuICBhdWRpYmxlTVdJOiBib29sZWFuIHwgbnVsbDtcbiAgcmluZ1NldHRpbmdfaWRsZTogc3RyaW5nIHwgbnVsbDtcbiAgcmluZ1NldHRpbmdfYWN0aXZlOiBzdHJpbmcgfCBudWxsO1xuICBwaWNrdXBBQVNfaWRsZTogc3RyaW5nIHwgbnVsbDtcbiAgcGlja3VwQUFTX2FjdGl2ZTogc3RyaW5nIHwgbnVsbDtcbiAgbW9uaXRvckNTUzogc3RyaW5nIHwgbnVsbDtcbiAgbG9nTWlzc2VkQ2FsbDogYm9vbGVhbiB8IHN0cmluZyB8IG51bGw7XG4gIGNhbGxJbmZvRGlzcGxheTogQ2FsbEluZm9EaXNwbGF5IHwgc3RyaW5nIHwgbnVsbDtcbiAgbGluZUxvY2FsSWQ6IHN0cmluZztcbiAgZGlkUGF0dGVybjogRGlkUGF0dGVybiB8IHN0cmluZyB8IG51bGw7XG4gIGVudGl0eUNoYW5nZVR5cGU/OiBzdHJpbmcgfCBudWxsO1xuICBzaGFyZWREZXZpY2VzOiBTaGFyZWREZXZpY2VbXTtcbiAgc2hhcmVkVXNlcnM6IFNoYXJlZFVzZXJbXTtcbiAgb3duZXJVc2VySWQ6IHN0cmluZ1tdO1xuICBhc3NvY2lhdGVkOiBib29sZWFuO1xuICBwYXR0ZXJuVXNhZ2U6IHN0cmluZyB8IG51bGw7XG4gIGFsZXJ0aW5nTmFtZTogc3RyaW5nIHwgbnVsbDtcbiAgcG9wdWxhdGVXaXRoRGlkOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpcmVjdG9yeU51bWJlciB7XG4gIC8vIGRpcmVjdG9yeU51bWJlcjogc3RyaW5nIHwgbnVsbDtcbiAgLy8gcm91dGVQYXJ0aXRpb25OYW1lOiBzdHJpbmcgfCBudWxsO1xuICAvLyBwa2lkOiBzdHJpbmcgfCBudWxsO1xuICAvLyBkblR5cGU6IHN0cmluZyB8IG51bGw7XG4gIC8vIHN1YlR5cGU6IHN0cmluZyB8IG51bGw7XG5cbiAgZGlyZWN0b3J5TnVtYmVyOiBzdHJpbmc7XG4gIHRlbXBsYXRlRGlyZWN0b3J5TnVtYmVyPzogc3RyaW5nO1xuICByb3V0ZVBhcnRpdGlvbk5hbWU6IHN0cmluZztcbiAgcGtpZD86IHN0cmluZyB8IG51bGw7XG4gIGRuVHlwZT86IHN0cmluZyB8IG51bGw7XG4gIHN1YlR5cGU/OiBzdHJpbmcgfCBudWxsO1xuICBkaXNwbGF5VmFsdWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGV2aWNlRXh0cmFPcHRpb25zIHtcbiAgbWVkaWFSZXNvdXJjZUdyb3VwTGlzdDogc3RyaW5nIHwgbnVsbDtcbiAgdXNlckhvbGRNT0hBdWRpb1NvdXJjZUlkOiBzdHJpbmcgfCBudWxsO1xuICB1c2VySG9sZE1PSEF1ZGlvU291cmNlTmFtZTogc3RyaW5nIHwgbnVsbDtcbiAgbmV0d29ya01PSEF1ZGlvU291cmNlSWQ6IHN0cmluZyB8IG51bGw7XG4gIG5ldHdvcmtNT0hBdWRpb1NvdXJjZU5hbWU6IHN0cmluZyB8IG51bGw7XG4gIGFhckNzczogc3RyaW5nIHwgbnVsbDtcbiAgYWFyR3JvdXA6IHN0cmluZyB8IG51bGw7XG4gIHByaXZhY3k6IHN0cmluZyB8IG51bGw7XG4gIGRldmljZU1vYmlsaXR5TW9kZTogc3RyaW5nIHwgbnVsbDtcbiAgbW9iaWxpdHlVc2VySWQ6IHN0cmluZyB8IG51bGw7XG4gIHBob25lUGVyc29uYWxpemF0aW9uOiBzdHJpbmcgfCBudWxsO1xuICBzZXJ2aWNlc1Byb3Zpc2lvbmluZzogc3RyaW5nIHwgbnVsbDtcbiAgcGhvbmVMb2FkTmFtZTogc3RyaW5nIHwgbnVsbDtcbiAgcGhvbmVJZGxlQkxGQWxlcnRTZXR0aW5nOiBzdHJpbmcgfCBudWxsO1xuICBwaG9uZUJ1c3lCTEZBbGVydFNldHRpbmc6IHN0cmluZyB8IG51bGw7XG4gIHVzZVRydXN0ZWRSZWxheVBvaW50OiBib29sZWFuIHwgbnVsbDtcbiAgYWx3YXlzVXNlUHJpbWVMaW5lOiBib29sZWFuIHwgbnVsbDtcbiAgYWx3YXlzVXNlUHJpbWVMaW5lRm9yVm9pY2VNZXNzYWdlOiBib29sZWFuIHwgbnVsbDtcbiAgZ2VvbG9jYXRpb246IHN0cmluZyB8IG51bGw7XG4gIGlnbm9yZVByZXNlbnRhdGlvbkluZGljYXRvcnM6IGJvb2xlYW4gfCBudWxsO1xuICBsb2dnZWRJbnRvSHVudEdyb3VwOiBib29sZWFuIHwgbnVsbDtcbiAgZW5hYmxlZEV4dGVuc2lvbk1vYmlsaXR5OiBib29sZWFuIHwgbnVsbDtcbiAgcmVtb3RlRGV2aWNlOiBzdHJpbmcgfCBudWxsO1xuICBwcm90ZWN0ZWREZXZpY2U6IGJvb2xlYW4gfCBudWxsO1xuICBob3RsaW5lRGV2aWNlOiBib29sZWFuO1xuICBjb21tb25EZXZpY2VDb25maWdOYW1lOiBzdHJpbmcgfCBudWxsO1xuICB1c2VEZXZpY2VQb29sQ2dwbkluZ3Jlc3NETjogYm9vbGVhbiB8IG51bGw7XG4gIGNncG5JbmdyZXNzRE46IHN0cmluZyB8IG51bGw7XG4gIHVzZURldmljZVBvb2xDZ3BuVHJhbnNmb3JtQ3NzOiBib29sZWFuIHwgbnVsbDtcbiAgY2dwblRyYW5zZm9ybWF0aW9uQ3NzOiBzdHJpbmcgfCBudWxsO1xuICBwYWNrZXRDYXB0dXJlTW9kZTogc3RyaW5nIHwgbnVsbDtcbiAgcGFja2V0Q2FwdHVyZUR1cmF0aW9uOiBudW1iZXIgfCBudWxsO1xuICBibGZQcmVzZW5jZUdyb3VwOiBzdHJpbmcgfCBudWxsO1xuICBzaXBEaWFsUnVsZXM6IHN0cmluZyB8IG51bGw7XG4gIG10cFByZWZlcnJlZE9yaWdpbmF0aW5nQ29kZWM6IHN0cmluZyB8IG51bGw7XG4gIHJlcm91dGVDc3M6IHN0cmluZyB8IG51bGw7XG4gIHN1YnNjcmliZUNzczogc3RyaW5nIHwgbnVsbDtcbiAgZGlnZXN0VXNlcjogc3RyaW5nIHwgbnVsbDtcbiAgbXRwUmVxdWlyZWQ6IGJvb2xlYW4gfCBudWxsO1xuICB1bmF0dGVuZGVkUG9ydDogYm9vbGVhbiB8IG51bGw7XG4gIHJlcXVpcmVEdG1mUmVjZXB0aW9uOiBib29sZWFuIHwgbnVsbDtcbiAgaW5mb3JtYXRpb25Vcmw6IHN0cmluZyB8IG51bGw7XG4gIGRpcmVjdG9yeVVybDogc3RyaW5nIHwgbnVsbDtcbiAgbWVzc2FnZXNVcmw6IHN0cmluZyB8IG51bGw7XG4gIHNlcnZpY2VzVXJsOiBzdHJpbmcgfCBudWxsO1xuICBhdXRoZW50aWNhdGlvblVybDogc3RyaW5nIHwgbnVsbDtcbiAgcHJveHlTZXJ2ZXJVcmw6IHN0cmluZyB8IG51bGw7XG4gIGlkbGVVcmw6IHN0cmluZyB8IG51bGw7XG4gIGlkbGVUaW1lb3V0OiBudW1iZXIgfCBudWxsO1xuICBzZWN1cmVBdXRoZW50aWNhdGlvblVybDogc3RyaW5nIHwgbnVsbDtcbiAgc2VjdXJlRGlyZWN0b3J5VXJsOiBzdHJpbmcgfCBudWxsO1xuICBzZWN1cmVJZGxlVXJsOiBzdHJpbmcgfCBudWxsO1xuICBzZWN1cmVJbmZvcm1hdGlvblVybDogc3RyaW5nIHwgbnVsbDtcbiAgc2VjdXJlTWVzc2FnZVVybDogc3RyaW5nIHwgbnVsbDtcbiAgc2VjdXJlU2VydmljZXNVcmw6IHN0cmluZyB8IG51bGw7XG4gIG1scHBEb21haW46IHN0cmluZyB8IG51bGw7XG4gIG1scHBJbmRpY2F0aW9uOiBzdHJpbmcgfCBudWxsO1xuICBtbHBwUHJlZW1wdGlvbjogc3RyaW5nIHwgbnVsbDtcbiAgY29uZmlkZW50aWFsQWNjZXNzTW9kZTogc3RyaW5nIHwgbnVsbDtcbiAgY29uZmlkZW50aWFsQWNjZXNzTGV2ZWw6IHN0cmluZyB8IG51bGw7XG4gIGNvbmZpZGVudGlhbEFjY2Vzc0xldmVsTmFtZTogc3RyaW5nIHwgbnVsbDtcbiAgZG9Ob3REaXN0dXJiOiBib29sZWFuIHwgbnVsbDtcbiAgZG5kT3B0aW9uOiBzdHJpbmcgfCBudWxsO1xuICBkbmRJbmNvbWluZ0NhbGxBbGVydDogc3RyaW5nIHwgbnVsbDtcbiAgZGlzYWJsZVNwZWFrZXJwaG9uZTogYm9vbGVhbiB8IG51bGw7XG4gIGRpc2FibGVTcGVha2VycGhvbmVBbmRIZWFkc2V0OiBib29sZWFuIHwgbnVsbDtcbiAgZm9yd2FyZGluZ0RlbGF5OiBudW1iZXIgfCBudWxsO1xuICBwY1BvcnQ6IGJvb2xlYW4gfCBudWxsO1xuICBzZXR0aW5nc0FjY2Vzczogc3RyaW5nIHwgbnVsbDtcbiAgZ3JhdHVpdG91c0FSUDogYm9vbGVhbiB8IG51bGw7XG4gIHBjVm9pY2VWbGFuQWNjZXNzOiBzdHJpbmcgfCBudWxsO1xuICB2aWRlb0NhcGFiaWxpdGllczogc3RyaW5nIHwgbnVsbDtcbiAgd2ViQWNjZXNzOiBib29sZWFuIHwgbnVsbDtcbiAgZGF5c0Rpc3BsYXlOb3RBY3RpdmU6IG51bWJlciB8IG51bGw7XG4gIGRpc3BsYXlPblRpbWU6IHN0cmluZyB8IG51bGw7XG4gIGRpc3BsYXlPbkR1cmF0aW9uOiBudW1iZXIgfCBudWxsO1xuICBkaXNwbGF5SWRsZVRpbWVvdXQ6IG51bWJlciB8IG51bGw7XG4gIHdpcmVsZXNzSGVhZHNldEhvb2tzd2l0Y2hDb250cm9sOiBib29sZWFuIHwgbnVsbDtcbiAgbWluUmluZ1ZvbHVtZTogbnVtYmVyIHwgbnVsbDtcbiAgc2hvd0FsbENhbGxzT25QTDogYm9vbGVhbiB8IG51bGw7XG4gIGxpbmVNb2RlOiBzdHJpbmcgfCBudWxsO1xuICBsYXRlbnRDYXBhYmlsaXR5UmVnaXN0cmF0aW9uOiBib29sZWFuIHwgbnVsbDtcbiAgYWN0aW9uYWJsZUFsZXJ0OiBib29sZWFuIHwgbnVsbDtcbiAgcmV2ZXJ0VG9BbGxDYWxsczogYm9vbGVhbiB8IG51bGw7XG4gIHdpZGViYW5kSGVhZHNldFVJQ29udHJvbDogYm9vbGVhbiB8IG51bGw7XG4gIHdpZGViYW5kSGVhZHNldDogYm9vbGVhbiB8IG51bGw7XG4gIGF1dGhlbnRpY2F0aW9uODAyOiBib29sZWFuIHwgbnVsbDtcbiAgc3BhblRvUGNQb3J0OiBib29sZWFuIHwgbnVsbDtcbiAgaGVhZHNldE1vbml0b3I6IGJvb2xlYW4gfCBudWxsO1xuICBoZWFkc2V0UmVjb3JkaW5nOiBib29sZWFuIHwgbnVsbDtcbiAgdXBkYXRlZEZpZWxkczogc3RyaW5nW107XG4gIGVuYWJsZUNkcFN3UG9ydDogYm9vbGVhbiB8IG51bGw7XG4gIGVuYWJsZUNkcFBjUG9ydDogYm9vbGVhbiB8IG51bGw7XG4gIGVuYWJsZUxsZHBQY1BvcnQ6IGJvb2xlYW4gfCBudWxsO1xuICBkZWZhdWx0V2FsbHBhcGVyRmlsZTogc3RyaW5nIHwgbnVsbDtcbiAgYW5hbG9nR2F0ZXdheVBvcnRJbmZvcm1hdGlvbjogc3RyaW5nIHwgbnVsbDtcbiAgbG9hZFNlcnZlcjogc3RyaW5nIHwgbnVsbDtcbiAgcGVlckZpcm13YXJlU2hhcmluZzogc3RyaW5nIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaW5lSW50ZXJmYWNlIHtcbiAgZGlyZWN0b3J5TnVtYmVyOiBEaXJlY3RvcnlOdW1iZXI7XG4gIGNhbGxpbmdTZWFyY2hTcGFjZTogc3RyaW5nIHwgbnVsbDtcbiAgZGVzY3JpcHRpb246IHN0cmluZyB8IG51bGw7XG4gIGxvY2FsSWQ6IHN0cmluZztcbiAgZW50aXR5Q2hhbmdlVHlwZTogc3RyaW5nIHwgbnVsbDtcbiAgYWxlcnRpbmdOYW1lOiBzdHJpbmcgfCBudWxsO1xuICBhc2NpaUFsZXJ0aW5nTmFtZTogc3RyaW5nIHwgbnVsbDtcbiAgY2FsbEZvcndhcmRBbGw6IENhbGxGb3J3YXJkO1xuICBjYWxsRm9yd2FyZEFsbFNlY29uZGFyeUNTUzogQ2FsbEZvcndhcmQ7XG4gIGNhbGxGb3J3YXJkQnVzeUludGVybmFsOiBDYWxsRm9yd2FyZDtcbiAgY2FsbEZvcndhcmRCdXN5RXh0ZXJuYWw6IENhbGxGb3J3YXJkO1xuICBjYWxsRm9yd2FyZE5vQW5zd2VySW50ZXJuYWw6IENhbGxGb3J3YXJkO1xuICBjYWxsRm9yd2FyZE5vQW5zd2VyRXh0ZXJuYWw6IENhbGxGb3J3YXJkO1xuICBjYWxsRm9yd2FyZE5vQ292ZXJhZ2VJbnRlcm5hbDogQ2FsbEZvcndhcmQ7XG4gIGNhbGxGb3J3YXJkTm9Db3ZlcmFnZUV4dGVybmFsOiBDYWxsRm9yd2FyZDtcbiAgY2FsbEZvcndhcmRPbkNUSUZhaWx1cmU6IENhbGxGb3J3YXJkO1xuICBjYWxsRm9yd2FyZFVucmVnaXN0ZXJlZEludGVybmFsOiBDYWxsRm9yd2FyZDtcbiAgY2FsbEZvcndhcmRVbnJlZ2lzdGVyZWRFeHRlcm5hbDogQ2FsbEZvcndhcmQ7XG4gIHZvaWNlTWFpbFByb2ZpbGU6IHN0cmluZyB8IG51bGw7XG4gIG5vQW5zd2VyUmluZ0R1cmF0aW9uOiBudW1iZXIgfCBudWxsO1xuICBhdXRvQW5zd2VyOiBzdHJpbmcgfCBudWxsO1xuICBjYWxsUGlja3VwR3JvdXA6IHN0cmluZyB8IG51bGw7XG4gIGFhclNldHRpbmdzOiBBYXJTZXR0aW5ncztcbiAgcGFya01vbml0b3JpbmdJbnRlcm5hbDogc3RyaW5nIHwgbnVsbDtcbiAgcGFya01vbml0b3JpbmdFeHRlcm5hbDogc3RyaW5nIHwgbnVsbDtcbiAgdXJnZW50UHJpb3JpdHk6IHN0cmluZyB8IG51bGw7XG4gIGJsZlByZXNlbmNlR3JvdXA6IHN0cmluZyB8IG51bGw7XG4gIHVzZXJIb2xkTU9IQXVkaW9Tb3VyY2VJZDogc3RyaW5nIHwgbnVsbDtcbiAgdXNlckhvbGRNT0hBdWRpb1NvdXJjZU5hbWU6IHN0cmluZyB8IG51bGw7XG4gIG5ldHdvcmtNT0hBdWRpb1NvdXJjZUlkOiBzdHJpbmcgfCBudWxsO1xuICBuZXR3b3JrTU9IQXVkaW9Tb3VyY2VOYW1lOiBzdHJpbmcgfCBudWxsO1xuICByZWplY3RBbm9ueW1vdXNDYWxsOiBib29sZWFuIHwgbnVsbDtcbiAgZW50ZXJwcmlzZUFsdE51bTogc3RyaW5nIHwgbnVsbDtcbiAgZTE2NEFsdE51bTogc3RyaW5nIHwgbnVsbDtcbiAgZGlyZWN0b3J5VXJpczogc3RyaW5nW107XG4gIGNhbGxGb3J3YXJkQWx0ZXJuYXRlUGFydHk6IENhbGxGb3J3YXJkO1xuICBtbHBwTm9BbnN3ZXJSaW5nRHVyYXRpb246IG51bWJlciB8IG51bGw7XG4gIGNvbmZpZGVudGlhbEFjY2Vzc01vZGU6IHN0cmluZyB8IG51bGw7XG4gIGNvbmZpZGVudGlhbEFjY2Vzc0xldmVsOiBzdHJpbmcgfCBudWxsO1xuICBjb25maWRlbnRpYWxBY2Nlc3NMZXZlbE5hbWU6IHN0cmluZyB8IG51bGw7XG4gIGNhbGxDb250cm9sQWdlbnRQcm9maWxlOiBzdHJpbmcgfCBudWxsO1xuICBob2xkUmV2ZXJzaW9uUmluZ0R1cmF0aW9uOiBudW1iZXIgfCBudWxsO1xuICBob2xkUmV2ZXJzaW9uTm90aWZpY2F0aW9uSW50ZXJ2YWw6IG51bWJlciB8IG51bGw7XG4gIHBhcnR5RW50cmFuY2VUb25lOiBzdHJpbmcgfCBudWxsO1xuICBwc3RuRmFpbG92ZXI6IHN0cmluZyB8IG51bGw7XG4gIG5ld1RvVXNlcjogYm9vbGVhbiB8IG51bGw7XG4gIGRpZFBhdHRlcm5zOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDYWxsRm9yd2FyZCB7XG4gIGZvcndhcmRUb1ZvaWNlTWFpbDogYm9vbGVhbiB8IG51bGw7XG4gIGRlc3RpbmF0aW9uOiBzdHJpbmcgfCBudWxsO1xuICBjYWxsaW5nU2VhcmNoU3BhY2U6IHN0cmluZyB8IG51bGw7XG4gIGR1cmF0aW9uOiBudW1iZXIgfCBudWxsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFhclNldHRpbmdzIHtcbiAgYWFyRGVzdGluYXRpb25NYXNrOiBzdHJpbmcgfCBudWxsO1xuICBhYXJHcm91cDogc3RyaW5nIHwgbnVsbDtcbiAgYWFyVm9pY2VNYWlsRW5hYmxlZDogYm9vbGVhbiB8IG51bGw7XG4gIGFhcktlZXBDYWxsSGlzdG9yeTogYm9vbGVhbiB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGV2aWNlUHJvZmlsZSB7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmVhdHVyZSB7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlclRlbXBsYXRlVWRwRGV2aWNlVHlwZXNSdWxlIHtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTaGFyZWREZXZpY2Uge1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNoYXJlZFVzZXIge1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlcnZpY2Uge1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNwZWVkRGlhbCB7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVzeUxhbXBGaWVsZCB7XG59XG5cbmV4cG9ydCBlbnVtIERuUmFuZ2VUeXBlIHtcbiAgZXh0ZW5zaW9uID0gJ0VYVEVOU0lPTicsXG4gIGNwZyA9ICdDUEcnLFxuICBjYWxscGFyayA9ICdDQUxMUEFSSycsXG4gIGh1bnRncm91cCA9ICdIVU5UR1JPVVAnLFxuICBtZWV0bWUgPSAnTUVFVE1FJyxcbiAgZGlkID0gJ0RJRCdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEblJhbmdlSW50ZXJmYWNlIHtcbiAgZnJvbTogc3RyaW5nO1xuICB0bzogc3RyaW5nO1xuICBwcmVmaXg6IHN0cmluZztcbiAgcm91dGVQYXJ0aXRpb246IHN0cmluZztcbiAgZG5UeXBlOiBEblJhbmdlVHlwZTtcbiAgdGVtcElkeDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF2YWlsYWJsZVBob25lTnVtYmVyUmFuZ2VJbnRlcmZhY2Uge1xuICBwaG9uZU51bWJlclJhbmdlOiBEblJhbmdlSW50ZXJmYWNlO1xuICB1c2VkTnVtYmVyczogc3RyaW5nW107XG4gIHJlcXVlc3RlZE51bWJlcjogc3RyaW5nO1xuICB1blVzZWROdW1iZXJzV2l0aERpZHM6IGFueVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF2YWlsYWJsZVJhbmdlSW50ZXJmYWNlIHtcbiAgYXZhaWxhYmxlTnVtYmVyTGlzdDogQXZhaWxhYmxlUGhvbmVOdW1iZXJSYW5nZUludGVyZmFjZVtdO1xufVxuXG5leHBvcnQgZW51bSBVc2VyVmlld1R5cGUge1xuICBkZXRhaWxzID0gMCxcbiAgZGV2aWNlcyA9IDEsXG4gIGxpbmVzID0gMixcbiAgc25yID0gMyxcbiAgZmVhdHVyZXMgPSA0LFxuICBvdmVydmlldyA9IDVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0VXNlckludGVyZmFjZSB7XG4gIHVzZXJpZDogc3RyaW5nO1xuICBmaXJzdE5hbWU/OiBzdHJpbmc7XG4gIGxhc3ROYW1lPzogc3RyaW5nO1xuICBlbWFpbD86IHN0cmluZztcbiAgdGVsZXBob25lTnVtYmVyPzogc3RyaW5nO1xuICB2aWV3TW9kZT86IFVzZXJWaWV3VHlwZTtcbiAgZGV2aWNlczogRGV2aWNlSW50ZXJmYWNlW107XG4gIGRldmljZVByb2ZpbGVzOiBEZXZpY2VJbnRlcmZhY2VbXTtcbiAgbGluZXM/OiBMaW5lSW50ZXJmYWNlW107XG4gIHNpdGVJZD86IG51bWJlcjtcbiAgc2l0ZU5hbWU/OiBzdHJpbmc7XG4gIGNoZWNrZWQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExkYXBVc2Vyc1RhYmxlUmVzcG9uc2Uge1xuICB0b3RhbDogbnVtYmVyO1xuICBwYWdlRGF0YTogTGlzdFVzZXJJbnRlcmZhY2VbXTtcbn0iXX0=
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1jcmVhdGlvbi13aXphcmQuaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2VyLWNyZWF0aW9uL3NyYy9pbnRlcmZhY2VzL3VzZXItY3JlYXRpb24td2l6YXJkLmludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNmVBLE1BQU0sQ0FBTixJQUFZLFdBT1g7QUFQRCxXQUFZLFdBQVc7SUFDckIsc0NBQXVCLENBQUE7SUFDdkIsMEJBQVcsQ0FBQTtJQUNYLG9DQUFxQixDQUFBO0lBQ3JCLHNDQUF1QixDQUFBO0lBQ3ZCLGdDQUFpQixDQUFBO0lBQ2pCLDBCQUFXLENBQUE7QUFDYixDQUFDLEVBUFcsV0FBVyxLQUFYLFdBQVcsUUFPdEI7QUFzQkQsTUFBTSxDQUFOLElBQVksWUFPWDtBQVBELFdBQVksWUFBWTtJQUN0QixxREFBVyxDQUFBO0lBQ1gscURBQVcsQ0FBQTtJQUNYLGlEQUFTLENBQUE7SUFDVCw2Q0FBTyxDQUFBO0lBQ1AsdURBQVksQ0FBQTtJQUNaLHVEQUFZLENBQUE7QUFDZCxDQUFDLEVBUFcsWUFBWSxLQUFaLFlBQVksUUFPdkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIExkYXBVc2VyUm93IHtcbiAgICB1c2VySWQ6IHN0cmluZztcbiAgICBmaXJzdE5hbWU6IHN0cmluZztcbiAgICBsYXN0TmFtZTogc3RyaW5nO1xuICAgIGVtYWlsOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIExkYXBRdWVyeVR5cGUgPSAndXNlcklkJyB8ICdmaXJzdE5hbWUnIHwgJ2xhc3ROYW1lJztcblxuZXhwb3J0IGludGVyZmFjZSBPdmVydmlld1VzZXJSb3cgZXh0ZW5kcyBMZGFwVXNlclJvdyB7XG4gICAgdXNlclRlbXBsYXRlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3ZlcnZpZXdMaW5lUm93IHtcbiAgICBudW1iZXI6IHN0cmluZztcbiAgICBkaWQ6IHN0cmluZztcbiAgICByb3V0ZVBhcnRpdGlvbk5hbWU6IHN0cmluZztcbiAgICBjc3M6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE92ZXJ2aWV3RGV2aWNlUm93IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgZGV2aWNlVHlwZTogc3RyaW5nO1xuICAgIGxpbmVzOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgVXNlckNyZWF0aW9uVHlwZSA9ICdDVUNNJyB8ICdNVCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlckRldGFpbHNGb3JtIHtcbiAgICB1c2VySWQ6IHN0cmluZztcbiAgICBmaXJzdE5hbWU6IHN0cmluZztcbiAgICBsYXN0TmFtZTogc3RyaW5nO1xuICAgIGVtYWlsOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlckRldGFpbHNMaW5lRm9ybVZhbHVlIHtcbiAgICBsaW5lTnVtYmVyOiBzdHJpbmc7XG4gICAgbnVtYmVyOiBzdHJpbmc7XG4gICAgcm91dGVQYXJ0aXRpb246IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVc2VyRGV0YWlsc0RldmljZUZvcm1WYWx1ZSB7XG4gICAgZGV2aWNlVHlwZTogc3RyaW5nO1xuICAgIHByb3RvY29sOiBzdHJpbmc7XG4gICAgYnV0dG9uVGVtcGxhdGU6IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlckRldGFpbHNGb3JtVmFsdWUge1xuICAgIHVzZXJJZDogc3RyaW5nO1xuICAgIGZpcnN0TmFtZTogc3RyaW5nO1xuICAgIGxhc3ROYW1lOiBzdHJpbmc7XG4gICAgZW1haWw6IHN0cmluZztcbiAgICBsaW5lczogVXNlckRldGFpbHNMaW5lRm9ybVZhbHVlW107XG4gICAgZGV2aWNlczogVXNlckRldGFpbHNEZXZpY2VGb3JtVmFsdWVbXTtcbiAgICBkZXZpY2VQcm9maWxlczogVXNlckRldGFpbHNEZXZpY2VGb3JtVmFsdWVbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaW5lT3B0aW9uIHtcbiAgICBudW1iZXI6IHN0cmluZztcbiAgICBkaWQ6IHN0cmluZztcbiAgICBjc3M6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdGVkTGluZVJvdyB7XG4gICAgbGluZU51bWJlcjogc3RyaW5nIHwgbnVsbDtcbiAgICByb3V0ZVBhcnRpdGlvbk5hbWU6IHN0cmluZyB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGV2aWNlRW50cnkge1xuICAgIGRldmljZVR5cGU6IHN0cmluZztcbiAgICBwcm90b2NvbDogc3RyaW5nO1xuICAgIGJ1dHRvblRlbXBsYXRlOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRlbXBsYXRlTGluZUxpa2Uge1xuICAgIGRpcmVjdG9yeU51bWJlcj86IHtcbiAgICAgICAgZGlyZWN0b3J5TnVtYmVyPzogc3RyaW5nO1xuICAgICAgICByb3V0ZVBhcnRpdGlvbk5hbWU/OiBzdHJpbmcgfCBudWxsO1xuICAgICAgICB0ZW1wbGF0ZURpcmVjdG9yeU51bWJlcj86IHN0cmluZyB8IG51bGw7XG4gICAgfTtcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZyB8IG51bGw7XG4gICAgY2FsbGluZ1NlYXJjaFNwYWNlPzogc3RyaW5nIHwgeyBuYW1lPzogc3RyaW5nIHwgbnVsbCB9IHwgbnVsbDtcbiAgICBkaWRQYXR0ZXJucz86IEFycmF5PHsgcGF0dGVybj86IHN0cmluZyB8IG51bGwgfT4gfCBudWxsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRlbXBsYXRlRGV2aWNlTGlrZSB7XG4gICAgZGV2aWNlVHlwZT86IHN0cmluZyB8IG51bGw7XG4gICAgcHJvdG9jb2w/OiBzdHJpbmcgfCBudWxsO1xuICAgIGJ1dHRvblRlbXBsYXRlPzogc3RyaW5nIHwgbnVsbDtcbiAgICBuYW1lPzogc3RyaW5nIHwgbnVsbDtcbiAgICBsaW5lQXNzb2NpYXRpb25zPzogQXJyYXk8e1xuICAgICAgICBkaXJlY3RvcnlOdW1iZXI/OiB7XG4gICAgICAgICAgICBkaXJlY3RvcnlOdW1iZXI/OiBzdHJpbmc7XG4gICAgICAgICAgICByb3V0ZVBhcnRpdGlvbk5hbWU/OiBzdHJpbmcgfCBudWxsO1xuICAgICAgICAgICAgdGVtcGxhdGVEaXJlY3RvcnlOdW1iZXI/OiBzdHJpbmcgfCBudWxsO1xuICAgICAgICB9IHwgbnVsbDtcbiAgICB9Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUZW1wbGF0ZUVuZFVzZXJMaWtlIHtcbiAgICB1c2VyaWQ/OiBzdHJpbmcgfCBudWxsO1xuICAgIGZpcnN0TmFtZT86IHN0cmluZyB8IG51bGw7XG4gICAgbGFzdE5hbWU/OiBzdHJpbmcgfCBudWxsO1xuICAgIGVtYWlsPzogc3RyaW5nIHwgbnVsbDtcbiAgICBsaW5lcz86IFRlbXBsYXRlTGluZUxpa2VbXSB8IG51bGw7XG4gICAgZGV2aWNlcz86IFRlbXBsYXRlRGV2aWNlTGlrZVtdIHwgbnVsbDtcbn1cblxuXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJUZW1wbGF0ZUludGVyZmFjZSB7XG4gIGlkOiBudW1iZXI7XG4gIG5hbWU6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgY3JlYXRlT3JVcGxvYWQ6IHN0cmluZyB8IG51bGw7XG4gIHVzZXJUZW1wbGF0ZVNldHRpbmdzOiBVc2VyVGVtcGxhdGVTZXR0aW5nW107XG4gIGN1c3RvbWVySWQ6IG51bWJlcjtcbiAgdXNlclJlcXVpcmVkRmllbGRzOiBzdHJpbmdbXTtcbiAgZGV2aWNlUmVxdWlyZWRGaWVsZHM6IHN0cmluZ1tdO1xuICB1ZHBSZXF1aXJlZEZpZWxkczogc3RyaW5nW107XG4gIGxpbmVSZXF1aXJlZEZpZWxkczogc3RyaW5nW107XG4gIGVuZFVzZXI6IEVuZFVzZXJJbnRlcmZhY2U7XG4gIHR5cGU6IHN0cmluZztcbiAgZ2xvYmFsVGVtcGxhdGU6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlclRlbXBsYXRlU2V0dGluZyB7XG4gIC8vIEFkZCBmaWVsZHMgaWYgbmVlZGVkXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW5kVXNlckludGVyZmFjZSB7XG4gIHVzZXJpZDogc3RyaW5nIHwgbnVsbDtcbiAgZW1haWw6IHN0cmluZyB8IG51bGw7XG4gIGZpcnN0TmFtZTogc3RyaW5nIHwgbnVsbDtcbiAgbGFzdE5hbWU6IHN0cmluZyB8IG51bGw7XG4gIGRvbWFpbjogc3RyaW5nIHwgbnVsbDtcbiAgY3VzdG9tZXJJZDogbnVtYmVyIHwgbnVsbDtcbiAgZGVwYXJ0bWVudDogc3RyaW5nIHwgbnVsbDtcbiAgdXNlclByb2ZpbGU6IHN0cmluZyB8IG51bGw7XG4gIG1hbmFnZXI6IHN0cmluZyB8IG51bGw7XG4gIGVuYWJsZU1vYmlsZVZvaWNlQWNjZXNzOiBib29sZWFuIHwgbnVsbDtcbiAgYXNzb2NpYXRlZFBjOiBzdHJpbmcgfCBudWxsO1xuICB1c2VyTG9jYWxlOiBzdHJpbmcgfCBudWxsO1xuICBkaWdlc3RDcmVkZW50aWFsczogc3RyaW5nIHwgbnVsbDtcbiAgbWlkZGxlTmFtZTogc3RyaW5nIHwgbnVsbDtcbiAgdGl0bGU6IHN0cmluZyB8IG51bGw7XG4gIHRlbGVwaG9uZU51bWJlcjogc3RyaW5nIHwgbnVsbDtcbiAgaG9tZU51bWJlcjogc3RyaW5nIHwgbnVsbDtcbiAgbW9iaWxlTnVtYmVyOiBzdHJpbmcgfCBudWxsO1xuICBwYWdlck51bWJlcjogc3RyaW5nIHwgbnVsbDtcbiAgZGlzcGxheU5hbWU6IHN0cmluZyB8IG51bGw7XG4gIGRpcmVjdG9yeVVyaTogc3RyaW5nIHwgbnVsbDtcbiAgcHJlc2VuY2VHcm91cDogc3RyaW5nIHwgbnVsbDtcbiAgc3Vic2NyaWJlQ3NzOiBzdHJpbmcgfCBudWxsO1xuICBhbGxvd0RldmljZUNvbnRyb2xGcm9tQ3RpOiBib29sZWFuIHwgbnVsbDtcbiAgZW5hYmxlQ3Jvc3NDbHVzdGVyRW06IGJvb2xlYW4gfCBudWxsO1xuICBtbHBwVXNlcklkTnVtYmVyOiBzdHJpbmcgfCBudWxsO1xuICBtbHBwUHJlY2VkZW5jZVBhdHRlcm46IHN0cmluZyB8IG51bGw7XG4gIGNyZWF0ZVVzZXJNb2RlOiBib29sZWFuO1xuICBlbmFibGVNb2JpbGl0eTogYm9vbGVhbiB8IG51bGw7XG4gIGRldmljZXM6IERldmljZUludGVyZmFjZVtdO1xuICBkZXZpY2VQcm9maWxlczogRGV2aWNlSW50ZXJmYWNlW107XG4gIGxpbmVzOiBMaW5lSW50ZXJmYWNlW107XG4gIHNpbmdsZU51bWJlclJlYWNoPzoge1xuICAgIGFzc29jaWF0ZWRMaW5lcz86IExpbmVJbnRlcmZhY2VbXSB8IG51bGw7XG4gICAgcmVtb3RlRGVzdGluYXRpb25zPzoge1xuICAgICAgbGluZUFzc29jaWF0aW9ucz86IExpbmVJbnRlcmZhY2VbXSB8IG51bGw7XG4gICAgfVtdIHwgbnVsbDtcbiAgICByZW1vdGVEZXN0aW5hdGlvblByb2ZpbGVOYW1lPzogc3RyaW5nIHwgbnVsbDtcbiAgfSB8IG51bGw7XG4gIHByaW1hcnlMaW5lUmVmZXJlbmNlOiB1bmtub3duIHwgbnVsbDtcbiAgdm9pY2VtYWlsOiB1bmtub3duIHwgbnVsbDtcbiAgZmVhdHVyZXM6IEZlYXR1cmVbXTtcbiAgbWlncmF0aW9uVm1VbmNoYW5nZWQ6IGJvb2xlYW4gfCBudWxsO1xuICBtaWdyYXRpb25JbVBVbmNoYW5nZWQ6IGJvb2xlYW4gfCBudWxsO1xuICB1Y1NlcnZpY2VQcm9maWxlOiBzdHJpbmcgfCBudWxsO1xuICB0ZWxlY29tTWFuYWdlclJ1bGU6IGJvb2xlYW47XG4gIHVzZXJUZW1wbGF0ZVVkcERldmljZVR5cGVzUnVsZXM6IFVzZXJUZW1wbGF0ZVVkcERldmljZVR5cGVzUnVsZVtdO1xuICBsZGFwSW50ZWdyYXRlZD86IGJvb2xlYW4gfCBudWxsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENhbGxJbmZvRGlzcGxheSB7XG4gIGNhbGxlck5hbWU/OiBzdHJpbmcgfCBudWxsO1xuICBjYWxsZXJOdW1iZXI/OiBzdHJpbmcgfCBudWxsO1xuICByZWRpcmVjdGVkTnVtYmVyPzogc3RyaW5nIHwgbnVsbDtcbiAgZGlhbGVkTnVtYmVyPzogc3RyaW5nIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaWRQYXR0ZXJuIHtcbiAgY2FsbGVkUGFydHlUcmFuc2Zvcm1hdGlvbk1hc2s/OiBzdHJpbmcgfCBudWxsO1xuICBwYXR0ZXJuPzogc3RyaW5nIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcm90b2NvbFNwZWNpZmljRGVmYXVsdHMge1xuICBidXR0b25UZW1wbGF0ZXM6IHN0cmluZ1tdO1xuICBzZWN1cml0eVByb2ZpbGVzOiBzdHJpbmdbXTtcbiAgc3VwcG9ydGVkRXhwYW5zaW9uTW9kdWxlczogc3RyaW5nW107XG4gIHN1cHBvcnRzU29mdGtleVRlbXBsYXRlczogYm9vbGVhbjtcbiAgc3VwcG9ydHNCTEY6IGJvb2xlYW47XG4gIHN1cHBvcnRzRU06IGJvb2xlYW47XG4gIHN1cHBvcnRzTXVsdGlwbGVDYWxsRGlzcGxheTogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZXZpY2VEZWZhdWx0c0ludGVyZmFjZSB7XG4gIGRldmljZVR5cGU6IHN0cmluZztcbiAgZGV2aWNlTmFtZVJlZ2V4OiBzdHJpbmc7XG4gIGRldmljZU5hbWVFeHBsYWluZWQ6IHN0cmluZztcbiAgbmV0d29ya0xvY2FsZXM6IHN0cmluZ1tdO1xuICBwcm90b2NvbFByb3RvY29sU3BlY2lmaWNEZWZhdWx0OiBSZWNvcmQ8c3RyaW5nLCBQcm90b2NvbFNwZWNpZmljRGVmYXVsdHM+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERldmljZUludGVyZmFjZSB7XG4gIGRldmljZVR5cGU6IHN0cmluZyB8IG51bGw7XG4gIHByb3RvY29sOiBzdHJpbmcgfCBudWxsO1xuICBuYW1lOiBzdHJpbmcgfCBudWxsO1xuICBuZXdOYW1lOiBzdHJpbmcgfCBudWxsO1xuICBwcmVmaXg6IHN0cmluZyB8IG51bGw7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nIHwgbnVsbDtcbiAgYnV0dG9uVGVtcGxhdGU6IHN0cmluZyB8IG51bGw7XG4gIGxvY2F0aW9uOiBzdHJpbmcgfCBudWxsO1xuICBkZXZpY2VQb29sTmFtZTogc3RyaW5nIHwgbnVsbDtcbiAgc29mdGtleVRlbXBsYXRlOiBzdHJpbmcgfCBudWxsO1xuICBlbnRpdHlDaGFuZ2VUeXBlOiBzdHJpbmcgfCBudWxsO1xuICBjcmVhdGVEZXZpY2VNb2RlPzogYm9vbGVhbjtcbiAgY2FsbGluZ1NlYXJjaFNwYWNlTmFtZTogc3RyaW5nIHwgbnVsbDtcbiAgY29tbW9uUGhvbmVDb25maWdOYW1lOiBzdHJpbmcgfCBudWxsO1xuICBzZWN1cml0eVByb2ZpbGU6IHN0cmluZyB8IG51bGw7XG4gIHVzZXJMb2NhbGU6IHN0cmluZyB8IG51bGw7XG4gIG5ldHdvcmtMb2NhbGU6IHN0cmluZyB8IG51bGw7XG4gIGVuYWJsZWRFeHRlbnNpb25Nb2JpbGl0eTogYm9vbGVhbiB8IG51bGw7XG4gIGZpcnN0RXhwYW5zaW9uTW9kdWxlOiBzdHJpbmcgfCBudWxsO1xuICBzZWNvbmRFeHBhbnNpb25Nb2R1bGU6IHN0cmluZyB8IG51bGw7XG4gIHdpdGhVZHA6IGJvb2xlYW47XG4gIGxpbmVBc3NvY2lhdGlvbnM6IExpbmVBc3NvY2lhdGlvbltdO1xuICBzaXBQcm9maWxlOiBzdHJpbmcgfCBudWxsO1xuICBzdWJzY3JpYmVDYWxsaW5nU2VhcmNoU3BhY2VOYW1lOiBzdHJpbmcgfCBudWxsO1xuICBleHRyYU9wdGlvbnM6IERldmljZUV4dHJhT3B0aW9ucztcbiAgdXNlckRldmljZVR5cGU6IHN0cmluZyB8IG51bGw7XG4gIGJ1aWx0SW5CcmlkZ2U6IHN0cmluZyB8IG51bGw7XG4gIHNlcnZpY2VzOiBTZXJ2aWNlW107XG4gIHNwZWVkRGlhbHM6IFNwZWVkRGlhbFtdO1xuICBidXN5TGFtcEZpZWxkczogQnVzeUxhbXBGaWVsZFtdO1xuICB3ZWJleFVVSUQ6IHN0cmluZyB8IG51bGw7XG4gIHBraWQ6IHN0cmluZyB8IG51bGw7XG4gIGRldmljZURlZmF1bHRzPzogRGV2aWNlRGVmYXVsdHNJbnRlcmZhY2UgfCBudWxsO1xuICBuYW1lVmFsaWRhdGlvblJlZ2V4Pzogc3RyaW5nIHwgbnVsbDtcbiAgbmFtZVZhbGlkYXRpb25DYXB0aW9uPzogc3RyaW5nIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaW5lQXNzb2NpYXRpb24ge1xuICBsaW5lUGtpZDogc3RyaW5nIHwgbnVsbDtcbiAgaW5kZXg6IG51bWJlcjtcbiAgcG9zaXRpb246IHN0cmluZyB8IG51bGw7XG4gIGRpcmVjdG9yeU51bWJlcjogRGlyZWN0b3J5TnVtYmVyO1xuICBlMTY0TWFzazogc3RyaW5nIHwgbnVsbDtcbiAgdGV4dExhYmVsOiBzdHJpbmcgfCBudWxsO1xuICBkaXNwbGF5TGFiZWw6IHN0cmluZyB8IG51bGw7XG4gIGRpc3BsYXlMYWJlbEFzY2lpOiBzdHJpbmcgfCBudWxsO1xuICBtYXhOdW1iZXJPZkNhbGxzOiBudW1iZXIgfCBudWxsO1xuICBidXN5VHJpZ2dlcjogbnVtYmVyIHwgbnVsbDtcbiAgcmVjb3JkaW5nT3B0aW9uOiBzdHJpbmcgfCBudWxsO1xuICByZWNvcmRpbmdQcm9maWxlOiBzdHJpbmcgfCBudWxsO1xuICByZWNvcmRpbmdNZWRpYVNvdXJjZTogc3RyaW5nIHwgbnVsbDtcbiAgdmlzdWFsTVdJOiBib29sZWFuIHwgbnVsbDtcbiAgYXVkaWJsZU1XSTogYm9vbGVhbiB8IG51bGw7XG4gIHJpbmdTZXR0aW5nX2lkbGU6IHN0cmluZyB8IG51bGw7XG4gIHJpbmdTZXR0aW5nX2FjdGl2ZTogc3RyaW5nIHwgbnVsbDtcbiAgcGlja3VwQUFTX2lkbGU6IHN0cmluZyB8IG51bGw7XG4gIHBpY2t1cEFBU19hY3RpdmU6IHN0cmluZyB8IG51bGw7XG4gIG1vbml0b3JDU1M6IHN0cmluZyB8IG51bGw7XG4gIGxvZ01pc3NlZENhbGw6IGJvb2xlYW4gfCBzdHJpbmcgfCBudWxsO1xuICBjYWxsSW5mb0Rpc3BsYXk6IENhbGxJbmZvRGlzcGxheSB8IHN0cmluZyB8IG51bGw7XG4gIGxpbmVMb2NhbElkOiBzdHJpbmc7XG4gIGRpZFBhdHRlcm46IERpZFBhdHRlcm4gfCBzdHJpbmcgfCBudWxsO1xuICBlbnRpdHlDaGFuZ2VUeXBlPzogc3RyaW5nIHwgbnVsbDtcbiAgc2hhcmVkRGV2aWNlczogU2hhcmVkRGV2aWNlW107XG4gIHNoYXJlZFVzZXJzOiBTaGFyZWRVc2VyW107XG4gIG93bmVyVXNlcklkOiBzdHJpbmdbXTtcbiAgYXNzb2NpYXRlZDogYm9vbGVhbjtcbiAgcGF0dGVyblVzYWdlOiBzdHJpbmcgfCBudWxsO1xuICBhbGVydGluZ05hbWU6IHN0cmluZyB8IG51bGw7XG4gIHBvcHVsYXRlV2l0aERpZDogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXJlY3RvcnlOdW1iZXIge1xuICAvLyBkaXJlY3RvcnlOdW1iZXI6IHN0cmluZyB8IG51bGw7XG4gIC8vIHJvdXRlUGFydGl0aW9uTmFtZTogc3RyaW5nIHwgbnVsbDtcbiAgLy8gcGtpZDogc3RyaW5nIHwgbnVsbDtcbiAgLy8gZG5UeXBlOiBzdHJpbmcgfCBudWxsO1xuICAvLyBzdWJUeXBlOiBzdHJpbmcgfCBudWxsO1xuXG4gIGRpcmVjdG9yeU51bWJlcjogc3RyaW5nO1xuICB0ZW1wbGF0ZURpcmVjdG9yeU51bWJlcj86IHN0cmluZztcbiAgcm91dGVQYXJ0aXRpb25OYW1lOiBzdHJpbmc7XG4gIHBraWQ/OiBzdHJpbmcgfCBudWxsO1xuICBkblR5cGU/OiBzdHJpbmcgfCBudWxsO1xuICBzdWJUeXBlPzogc3RyaW5nIHwgbnVsbDtcbiAgZGlzcGxheVZhbHVlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERldmljZUV4dHJhT3B0aW9ucyB7XG4gIG1lZGlhUmVzb3VyY2VHcm91cExpc3Q6IHN0cmluZyB8IG51bGw7XG4gIHVzZXJIb2xkTU9IQXVkaW9Tb3VyY2VJZDogc3RyaW5nIHwgbnVsbDtcbiAgdXNlckhvbGRNT0hBdWRpb1NvdXJjZU5hbWU6IHN0cmluZyB8IG51bGw7XG4gIG5ldHdvcmtNT0hBdWRpb1NvdXJjZUlkOiBzdHJpbmcgfCBudWxsO1xuICBuZXR3b3JrTU9IQXVkaW9Tb3VyY2VOYW1lOiBzdHJpbmcgfCBudWxsO1xuICBhYXJDc3M6IHN0cmluZyB8IG51bGw7XG4gIGFhckdyb3VwOiBzdHJpbmcgfCBudWxsO1xuICBwcml2YWN5OiBzdHJpbmcgfCBudWxsO1xuICBkZXZpY2VNb2JpbGl0eU1vZGU6IHN0cmluZyB8IG51bGw7XG4gIG1vYmlsaXR5VXNlcklkOiBzdHJpbmcgfCBudWxsO1xuICBwaG9uZVBlcnNvbmFsaXphdGlvbjogc3RyaW5nIHwgbnVsbDtcbiAgc2VydmljZXNQcm92aXNpb25pbmc6IHN0cmluZyB8IG51bGw7XG4gIHBob25lTG9hZE5hbWU6IHN0cmluZyB8IG51bGw7XG4gIHBob25lSWRsZUJMRkFsZXJ0U2V0dGluZzogc3RyaW5nIHwgbnVsbDtcbiAgcGhvbmVCdXN5QkxGQWxlcnRTZXR0aW5nOiBzdHJpbmcgfCBudWxsO1xuICB1c2VUcnVzdGVkUmVsYXlQb2ludDogYm9vbGVhbiB8IG51bGw7XG4gIGFsd2F5c1VzZVByaW1lTGluZTogYm9vbGVhbiB8IG51bGw7XG4gIGFsd2F5c1VzZVByaW1lTGluZUZvclZvaWNlTWVzc2FnZTogYm9vbGVhbiB8IG51bGw7XG4gIGdlb2xvY2F0aW9uOiBzdHJpbmcgfCBudWxsO1xuICBpZ25vcmVQcmVzZW50YXRpb25JbmRpY2F0b3JzOiBib29sZWFuIHwgbnVsbDtcbiAgbG9nZ2VkSW50b0h1bnRHcm91cDogYm9vbGVhbiB8IG51bGw7XG4gIGVuYWJsZWRFeHRlbnNpb25Nb2JpbGl0eTogYm9vbGVhbiB8IG51bGw7XG4gIHJlbW90ZURldmljZTogc3RyaW5nIHwgbnVsbDtcbiAgcHJvdGVjdGVkRGV2aWNlOiBib29sZWFuIHwgbnVsbDtcbiAgaG90bGluZURldmljZTogYm9vbGVhbjtcbiAgY29tbW9uRGV2aWNlQ29uZmlnTmFtZTogc3RyaW5nIHwgbnVsbDtcbiAgdXNlRGV2aWNlUG9vbENncG5JbmdyZXNzRE46IGJvb2xlYW4gfCBudWxsO1xuICBjZ3BuSW5ncmVzc0ROOiBzdHJpbmcgfCBudWxsO1xuICB1c2VEZXZpY2VQb29sQ2dwblRyYW5zZm9ybUNzczogYm9vbGVhbiB8IG51bGw7XG4gIGNncG5UcmFuc2Zvcm1hdGlvbkNzczogc3RyaW5nIHwgbnVsbDtcbiAgcGFja2V0Q2FwdHVyZU1vZGU6IHN0cmluZyB8IG51bGw7XG4gIHBhY2tldENhcHR1cmVEdXJhdGlvbjogbnVtYmVyIHwgbnVsbDtcbiAgYmxmUHJlc2VuY2VHcm91cDogc3RyaW5nIHwgbnVsbDtcbiAgc2lwRGlhbFJ1bGVzOiBzdHJpbmcgfCBudWxsO1xuICBtdHBQcmVmZXJyZWRPcmlnaW5hdGluZ0NvZGVjOiBzdHJpbmcgfCBudWxsO1xuICByZXJvdXRlQ3NzOiBzdHJpbmcgfCBudWxsO1xuICBzdWJzY3JpYmVDc3M6IHN0cmluZyB8IG51bGw7XG4gIGRpZ2VzdFVzZXI6IHN0cmluZyB8IG51bGw7XG4gIG10cFJlcXVpcmVkOiBib29sZWFuIHwgbnVsbDtcbiAgdW5hdHRlbmRlZFBvcnQ6IGJvb2xlYW4gfCBudWxsO1xuICByZXF1aXJlRHRtZlJlY2VwdGlvbjogYm9vbGVhbiB8IG51bGw7XG4gIGluZm9ybWF0aW9uVXJsOiBzdHJpbmcgfCBudWxsO1xuICBkaXJlY3RvcnlVcmw6IHN0cmluZyB8IG51bGw7XG4gIG1lc3NhZ2VzVXJsOiBzdHJpbmcgfCBudWxsO1xuICBzZXJ2aWNlc1VybDogc3RyaW5nIHwgbnVsbDtcbiAgYXV0aGVudGljYXRpb25Vcmw6IHN0cmluZyB8IG51bGw7XG4gIHByb3h5U2VydmVyVXJsOiBzdHJpbmcgfCBudWxsO1xuICBpZGxlVXJsOiBzdHJpbmcgfCBudWxsO1xuICBpZGxlVGltZW91dDogbnVtYmVyIHwgbnVsbDtcbiAgc2VjdXJlQXV0aGVudGljYXRpb25Vcmw6IHN0cmluZyB8IG51bGw7XG4gIHNlY3VyZURpcmVjdG9yeVVybDogc3RyaW5nIHwgbnVsbDtcbiAgc2VjdXJlSWRsZVVybDogc3RyaW5nIHwgbnVsbDtcbiAgc2VjdXJlSW5mb3JtYXRpb25Vcmw6IHN0cmluZyB8IG51bGw7XG4gIHNlY3VyZU1lc3NhZ2VVcmw6IHN0cmluZyB8IG51bGw7XG4gIHNlY3VyZVNlcnZpY2VzVXJsOiBzdHJpbmcgfCBudWxsO1xuICBtbHBwRG9tYWluOiBzdHJpbmcgfCBudWxsO1xuICBtbHBwSW5kaWNhdGlvbjogc3RyaW5nIHwgbnVsbDtcbiAgbWxwcFByZWVtcHRpb246IHN0cmluZyB8IG51bGw7XG4gIGNvbmZpZGVudGlhbEFjY2Vzc01vZGU6IHN0cmluZyB8IG51bGw7XG4gIGNvbmZpZGVudGlhbEFjY2Vzc0xldmVsOiBzdHJpbmcgfCBudWxsO1xuICBjb25maWRlbnRpYWxBY2Nlc3NMZXZlbE5hbWU6IHN0cmluZyB8IG51bGw7XG4gIGRvTm90RGlzdHVyYjogYm9vbGVhbiB8IG51bGw7XG4gIGRuZE9wdGlvbjogc3RyaW5nIHwgbnVsbDtcbiAgZG5kSW5jb21pbmdDYWxsQWxlcnQ6IHN0cmluZyB8IG51bGw7XG4gIGRpc2FibGVTcGVha2VycGhvbmU6IGJvb2xlYW4gfCBudWxsO1xuICBkaXNhYmxlU3BlYWtlcnBob25lQW5kSGVhZHNldDogYm9vbGVhbiB8IG51bGw7XG4gIGZvcndhcmRpbmdEZWxheTogbnVtYmVyIHwgbnVsbDtcbiAgcGNQb3J0OiBib29sZWFuIHwgbnVsbDtcbiAgc2V0dGluZ3NBY2Nlc3M6IHN0cmluZyB8IG51bGw7XG4gIGdyYXR1aXRvdXNBUlA6IGJvb2xlYW4gfCBudWxsO1xuICBwY1ZvaWNlVmxhbkFjY2Vzczogc3RyaW5nIHwgbnVsbDtcbiAgdmlkZW9DYXBhYmlsaXRpZXM6IHN0cmluZyB8IG51bGw7XG4gIHdlYkFjY2VzczogYm9vbGVhbiB8IG51bGw7XG4gIGRheXNEaXNwbGF5Tm90QWN0aXZlOiBudW1iZXIgfCBudWxsO1xuICBkaXNwbGF5T25UaW1lOiBzdHJpbmcgfCBudWxsO1xuICBkaXNwbGF5T25EdXJhdGlvbjogbnVtYmVyIHwgbnVsbDtcbiAgZGlzcGxheUlkbGVUaW1lb3V0OiBudW1iZXIgfCBudWxsO1xuICB3aXJlbGVzc0hlYWRzZXRIb29rc3dpdGNoQ29udHJvbDogYm9vbGVhbiB8IG51bGw7XG4gIG1pblJpbmdWb2x1bWU6IG51bWJlciB8IG51bGw7XG4gIHNob3dBbGxDYWxsc09uUEw6IGJvb2xlYW4gfCBudWxsO1xuICBsaW5lTW9kZTogc3RyaW5nIHwgbnVsbDtcbiAgbGF0ZW50Q2FwYWJpbGl0eVJlZ2lzdHJhdGlvbjogYm9vbGVhbiB8IG51bGw7XG4gIGFjdGlvbmFibGVBbGVydDogYm9vbGVhbiB8IG51bGw7XG4gIHJldmVydFRvQWxsQ2FsbHM6IGJvb2xlYW4gfCBudWxsO1xuICB3aWRlYmFuZEhlYWRzZXRVSUNvbnRyb2w6IGJvb2xlYW4gfCBudWxsO1xuICB3aWRlYmFuZEhlYWRzZXQ6IGJvb2xlYW4gfCBudWxsO1xuICBhdXRoZW50aWNhdGlvbjgwMjogYm9vbGVhbiB8IG51bGw7XG4gIHNwYW5Ub1BjUG9ydDogYm9vbGVhbiB8IG51bGw7XG4gIGhlYWRzZXRNb25pdG9yOiBib29sZWFuIHwgbnVsbDtcbiAgaGVhZHNldFJlY29yZGluZzogYm9vbGVhbiB8IG51bGw7XG4gIHVwZGF0ZWRGaWVsZHM6IHN0cmluZ1tdO1xuICBlbmFibGVDZHBTd1BvcnQ6IGJvb2xlYW4gfCBudWxsO1xuICBlbmFibGVDZHBQY1BvcnQ6IGJvb2xlYW4gfCBudWxsO1xuICBlbmFibGVMbGRwUGNQb3J0OiBib29sZWFuIHwgbnVsbDtcbiAgZGVmYXVsdFdhbGxwYXBlckZpbGU6IHN0cmluZyB8IG51bGw7XG4gIGFuYWxvZ0dhdGV3YXlQb3J0SW5mb3JtYXRpb246IHN0cmluZyB8IG51bGw7XG4gIGxvYWRTZXJ2ZXI6IHN0cmluZyB8IG51bGw7XG4gIHBlZXJGaXJtd2FyZVNoYXJpbmc6IHN0cmluZyB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGluZUludGVyZmFjZSB7XG4gIGRpcmVjdG9yeU51bWJlcjogRGlyZWN0b3J5TnVtYmVyO1xuICBjYWxsaW5nU2VhcmNoU3BhY2U6IHN0cmluZyB8IG51bGw7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmcgfCBudWxsO1xuICBsb2NhbElkOiBzdHJpbmc7XG4gIGVudGl0eUNoYW5nZVR5cGU6IHN0cmluZyB8IG51bGw7XG4gIGFsZXJ0aW5nTmFtZTogc3RyaW5nIHwgbnVsbDtcbiAgYXNjaWlBbGVydGluZ05hbWU6IHN0cmluZyB8IG51bGw7XG4gIGNhbGxGb3J3YXJkQWxsOiBDYWxsRm9yd2FyZDtcbiAgY2FsbEZvcndhcmRBbGxTZWNvbmRhcnlDU1M6IENhbGxGb3J3YXJkO1xuICBjYWxsRm9yd2FyZEJ1c3lJbnRlcm5hbDogQ2FsbEZvcndhcmQ7XG4gIGNhbGxGb3J3YXJkQnVzeUV4dGVybmFsOiBDYWxsRm9yd2FyZDtcbiAgY2FsbEZvcndhcmROb0Fuc3dlckludGVybmFsOiBDYWxsRm9yd2FyZDtcbiAgY2FsbEZvcndhcmROb0Fuc3dlckV4dGVybmFsOiBDYWxsRm9yd2FyZDtcbiAgY2FsbEZvcndhcmROb0NvdmVyYWdlSW50ZXJuYWw6IENhbGxGb3J3YXJkO1xuICBjYWxsRm9yd2FyZE5vQ292ZXJhZ2VFeHRlcm5hbDogQ2FsbEZvcndhcmQ7XG4gIGNhbGxGb3J3YXJkT25DVElGYWlsdXJlOiBDYWxsRm9yd2FyZDtcbiAgY2FsbEZvcndhcmRVbnJlZ2lzdGVyZWRJbnRlcm5hbDogQ2FsbEZvcndhcmQ7XG4gIGNhbGxGb3J3YXJkVW5yZWdpc3RlcmVkRXh0ZXJuYWw6IENhbGxGb3J3YXJkO1xuICB2b2ljZU1haWxQcm9maWxlOiBzdHJpbmcgfCBudWxsO1xuICBub0Fuc3dlclJpbmdEdXJhdGlvbjogbnVtYmVyIHwgbnVsbDtcbiAgYXV0b0Fuc3dlcjogc3RyaW5nIHwgbnVsbDtcbiAgY2FsbFBpY2t1cEdyb3VwOiBzdHJpbmcgfCBudWxsO1xuICBhYXJTZXR0aW5nczogQWFyU2V0dGluZ3M7XG4gIHBhcmtNb25pdG9yaW5nSW50ZXJuYWw6IHN0cmluZyB8IG51bGw7XG4gIHBhcmtNb25pdG9yaW5nRXh0ZXJuYWw6IHN0cmluZyB8IG51bGw7XG4gIHVyZ2VudFByaW9yaXR5OiBzdHJpbmcgfCBudWxsO1xuICBibGZQcmVzZW5jZUdyb3VwOiBzdHJpbmcgfCBudWxsO1xuICB1c2VySG9sZE1PSEF1ZGlvU291cmNlSWQ6IHN0cmluZyB8IG51bGw7XG4gIHVzZXJIb2xkTU9IQXVkaW9Tb3VyY2VOYW1lOiBzdHJpbmcgfCBudWxsO1xuICBuZXR3b3JrTU9IQXVkaW9Tb3VyY2VJZDogc3RyaW5nIHwgbnVsbDtcbiAgbmV0d29ya01PSEF1ZGlvU291cmNlTmFtZTogc3RyaW5nIHwgbnVsbDtcbiAgcmVqZWN0QW5vbnltb3VzQ2FsbDogYm9vbGVhbiB8IG51bGw7XG4gIGVudGVycHJpc2VBbHROdW06IHN0cmluZyB8IG51bGw7XG4gIGUxNjRBbHROdW06IHN0cmluZyB8IG51bGw7XG4gIGRpcmVjdG9yeVVyaXM6IHN0cmluZ1tdO1xuICBjYWxsRm9yd2FyZEFsdGVybmF0ZVBhcnR5OiBDYWxsRm9yd2FyZDtcbiAgbWxwcE5vQW5zd2VyUmluZ0R1cmF0aW9uOiBudW1iZXIgfCBudWxsO1xuICBjb25maWRlbnRpYWxBY2Nlc3NNb2RlOiBzdHJpbmcgfCBudWxsO1xuICBjb25maWRlbnRpYWxBY2Nlc3NMZXZlbDogc3RyaW5nIHwgbnVsbDtcbiAgY29uZmlkZW50aWFsQWNjZXNzTGV2ZWxOYW1lOiBzdHJpbmcgfCBudWxsO1xuICBjYWxsQ29udHJvbEFnZW50UHJvZmlsZTogc3RyaW5nIHwgbnVsbDtcbiAgaG9sZFJldmVyc2lvblJpbmdEdXJhdGlvbjogbnVtYmVyIHwgbnVsbDtcbiAgaG9sZFJldmVyc2lvbk5vdGlmaWNhdGlvbkludGVydmFsOiBudW1iZXIgfCBudWxsO1xuICBwYXJ0eUVudHJhbmNlVG9uZTogc3RyaW5nIHwgbnVsbDtcbiAgcHN0bkZhaWxvdmVyOiBzdHJpbmcgfCBudWxsO1xuICBuZXdUb1VzZXI6IGJvb2xlYW4gfCBudWxsO1xuICBkaWRQYXR0ZXJuczogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FsbEZvcndhcmQge1xuICBmb3J3YXJkVG9Wb2ljZU1haWw6IGJvb2xlYW4gfCBudWxsO1xuICBkZXN0aW5hdGlvbjogc3RyaW5nIHwgbnVsbDtcbiAgY2FsbGluZ1NlYXJjaFNwYWNlOiBzdHJpbmcgfCBudWxsO1xuICBkdXJhdGlvbjogbnVtYmVyIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBYXJTZXR0aW5ncyB7XG4gIGFhckRlc3RpbmF0aW9uTWFzazogc3RyaW5nIHwgbnVsbDtcbiAgYWFyR3JvdXA6IHN0cmluZyB8IG51bGw7XG4gIGFhclZvaWNlTWFpbEVuYWJsZWQ6IGJvb2xlYW4gfCBudWxsO1xuICBhYXJLZWVwQ2FsbEhpc3Rvcnk6IGJvb2xlYW4gfCBudWxsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERldmljZVByb2ZpbGUge1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZlYXR1cmUge1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJUZW1wbGF0ZVVkcERldmljZVR5cGVzUnVsZSB7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2hhcmVkRGV2aWNlIHtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTaGFyZWRVc2VyIHtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZXJ2aWNlIHtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTcGVlZERpYWwge1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1c3lMYW1wRmllbGQge1xufVxuXG5leHBvcnQgZW51bSBEblJhbmdlVHlwZSB7XG4gIGV4dGVuc2lvbiA9ICdFWFRFTlNJT04nLFxuICBjcGcgPSAnQ1BHJyxcbiAgY2FsbHBhcmsgPSAnQ0FMTFBBUksnLFxuICBodW50Z3JvdXAgPSAnSFVOVEdST1VQJyxcbiAgbWVldG1lID0gJ01FRVRNRScsXG4gIGRpZCA9ICdESUQnXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRG5SYW5nZUludGVyZmFjZSB7XG4gIGZyb206IHN0cmluZztcbiAgdG86IHN0cmluZztcbiAgcHJlZml4OiBzdHJpbmc7XG4gIHJvdXRlUGFydGl0aW9uOiBzdHJpbmc7XG4gIGRuVHlwZTogRG5SYW5nZVR5cGU7XG4gIHRlbXBJZHg6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBdmFpbGFibGVQaG9uZU51bWJlclJhbmdlSW50ZXJmYWNlIHtcbiAgcGhvbmVOdW1iZXJSYW5nZTogRG5SYW5nZUludGVyZmFjZTtcbiAgdXNlZE51bWJlcnM6IHN0cmluZ1tdO1xuICByZXF1ZXN0ZWROdW1iZXI6IHN0cmluZztcbiAgdW5Vc2VkTnVtYmVyc1dpdGhEaWRzOiBhbnlbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBdmFpbGFibGVSYW5nZUludGVyZmFjZSB7XG4gIGF2YWlsYWJsZU51bWJlckxpc3Q6IEF2YWlsYWJsZVBob25lTnVtYmVyUmFuZ2VJbnRlcmZhY2VbXTtcbn1cblxuZXhwb3J0IGVudW0gVXNlclZpZXdUeXBlIHtcbiAgZGV0YWlscyA9IDAsXG4gIGRldmljZXMgPSAxLFxuICBsaW5lcyA9IDIsXG4gIHNuciA9IDMsXG4gIGZlYXR1cmVzID0gNCxcbiAgb3ZlcnZpZXcgPSA1XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdFVzZXJJbnRlcmZhY2Uge1xuICB1c2VyaWQ6IHN0cmluZztcbiAgZmlyc3ROYW1lPzogc3RyaW5nO1xuICBsYXN0TmFtZT86IHN0cmluZztcbiAgZW1haWw/OiBzdHJpbmc7XG4gIHRlbGVwaG9uZU51bWJlcj86IHN0cmluZztcbiAgdmlld01vZGU/OiBVc2VyVmlld1R5cGU7XG4gIGRldmljZXM6IERldmljZUludGVyZmFjZVtdO1xuICBkZXZpY2VQcm9maWxlczogRGV2aWNlSW50ZXJmYWNlW107XG4gIGxpbmVzPzogTGluZUludGVyZmFjZVtdO1xuICBzaXRlSWQ/OiBudW1iZXI7XG4gIHNpdGVOYW1lPzogc3RyaW5nO1xuICBjaGVja2VkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMZGFwVXNlcnNUYWJsZVJlc3BvbnNlIHtcbiAgdG90YWw6IG51bWJlcjtcbiAgcGFnZURhdGE6IExpc3RVc2VySW50ZXJmYWNlW107XG59Il19
@@ -2,10 +2,8 @@ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "../../../shared/services/notification.service";
4
4
  import * as i2 from "@angular/common";
5
- import * as i3 from "@angular/material/tooltip";
6
- import * as i4 from "@angular/material/button";
7
- import * as i5 from "@ngx-translate/core";
8
- import * as i6 from "../../pipes/truncate.pipe";
5
+ import * as i3 from "@angular/material/button";
6
+ import * as i4 from "../../pipes/truncate.pipe";
9
7
  export class NotificationsComponent {
10
8
  constructor(notificationService, ref) {
11
9
  this.notificationService = notificationService;
@@ -32,9 +30,9 @@ export class NotificationsComponent {
32
30
  }
33
31
  }
34
32
  NotificationsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NotificationsComponent, deps: [{ token: i1.NotificationService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
35
- NotificationsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: NotificationsComponent, selector: "app-notification", ngImport: i0, template: "\n\n<div class=\"notification-block\" role=\"alert\" aria-live=\"assertive\">\n <div class=\"notification\"\n *ngFor=\"let notification of list\"\n [ngClass]=\"{'error': notification.isError(), 'success': notification.isSuccess()}\">\n\n <div class=\"flex-box\">\n <div class=\"notification-icons-block\">\n <i *ngIf=\"notification.isError()\" class=\"fa fa-exclamation-triangle\"></i>\n <i *ngIf=\"notification.isWarning()\" class=\"fa fa-hand-paper-o\"></i>\n <i *ngIf=\"notification.isSuccess()\" class=\"fa fa-check\"></i>\n <i *ngIf=\"notification.isInfo()\" class=\"fa fa-info-circle\"></i>\n </div>\n <div *ngIf=\"!isReadMore\" class=\"message-block\">\n {{notification.message | truncate:[93]}}\n </div>\n <div *ngIf=\"isReadMore\" class=\"message-block\">\n {{notification.message}}\n </div>\n </div>\n <div class=\"read-more-error link clickable\" *ngIf=\"notification.message && notification.message.length > 93\"\n (click)=\"readMore()\">{{(isReadMore ? 'BUTTON.COLLAPSE' : 'BUTTON.READ_MORE') | translate}}</div>\n <button\n class=\"close\"\n mat-icon-button\n matTooltip=\"{{'BUTTON.CLOSE' | translate}} {{'NOTIFICATION_MSG.' + notification.type | translate}} {{'NOTIFICATION_MSG.NOTI' | translate}}\"\n (click)=\"removeNotification(notification)\">\n <img class=\"notification-icon-close\" src=\"assets/icons/close_icon_modal.svg\" alt=\"\">\n </button>\n </div>\n</div>\n\n", styles: ["@import\"https://fonts.googleapis.com/css?family=Poppins:400,100,200,300,500,600,800,700,900\";@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400&display=swap\";.notification-block{right:10px;top:80px;position:absolute;z-index:100}.notification-block .read-more-error{margin:10px 13px 3px 0;text-align:right}.notification-block .notification{padding:15px 0 10px 10px;margin-bottom:18px;color:#333;border-radius:3px;border-top:1.5px solid #e5e1cd;background:#fcf8e3;box-shadow:0 8px 12px #091e4226,0 0 1px #091e424f;width:368px;position:relative}.notification-block .notification .message-block{font-size:14px;font-family:Poppins,Poppins,sans-serif!important;word-break:break-word;width:270px}.notification-block .notification .notification-icon-close{height:24px}.notification-block .notification.error{background:#FFE9E9;border-top:1.5px solid #E16D6D}.notification-block .notification.success{background:#e3f4dc;border-top:1.5px solid #b3d692}.notification-block .notification .fa-exclamation-triangle{color:#e16d6d!important}.notification-block .notification .fa-check{color:#a0c37f!important}.notification-block .notification .fa-info-circle,.notification-block .notification .fa-hand-paper-o{color:#bdb89e!important}.notification-block .notification .fa{font-size:20px}.notification-block .notification .close{position:absolute;top:2px;right:-5px}.notification-block .notification .close .fa{font-size:14px}.notification-block .notification .fa{margin:0;color:inherit}@media screen and (max-width: 600px){.notification-block{width:50%;min-width:150px}}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "pipe", type: i6.TruncatePipe, name: "truncate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
33
+ NotificationsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: NotificationsComponent, selector: "app-notification", ngImport: i0, template: "\n\n<div class=\"notification-block\" role=\"alert\" aria-live=\"assertive\">\n <div class=\"notification\"\n *ngFor=\"let notification of list\"\n [ngClass]=\"{'error': notification.isError(), 'success': notification.isSuccess()}\">\n\n <div class=\"flex-box\">\n <div class=\"notification-icons-block\">\n <i *ngIf=\"notification.isError()\" class=\"fa fa-exclamation-triangle\"></i>\n <i *ngIf=\"notification.isWarning()\" class=\"fa fa-hand-paper-o\"></i>\n <i *ngIf=\"notification.isSuccess()\" class=\"fa fa-check\"></i>\n <i *ngIf=\"notification.isInfo()\" class=\"fa fa-info-circle\"></i>\n </div>\n <div *ngIf=\"!isReadMore\" class=\"message-block\">\n {{notification.message | truncate:[93]}}\n </div>\n <div *ngIf=\"isReadMore\" class=\"message-block\">\n {{notification.message}}\n </div>\n </div>\n <div class=\"read-more-error link clickable\" *ngIf=\"notification.message && notification.message.length > 93\"\n (click)=\"readMore()\">{{(isReadMore ? 'Collapse' : 'Read More')}}</div>\n <button\n class=\"close\"\n mat-icon-button\n (click)=\"removeNotification(notification)\">\n <img class=\"notification-icon-close\" src=\"assets/icons/close_icon_modal.svg\" alt=\"\">\n </button>\n </div>\n</div>\n\n", styles: ["@import\"https://fonts.googleapis.com/css?family=Poppins:400,100,200,300,500,600,800,700,900\";@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400&display=swap\";.notification-block{right:10px;top:80px;position:absolute;z-index:100}.notification-block .read-more-error{margin:10px 13px 3px 0;text-align:right}.notification-block .notification{padding:15px 0 10px 10px;margin-bottom:18px;color:#333;border-radius:3px;border-top:1.5px solid #e5e1cd;background:#fcf8e3;box-shadow:0 8px 12px #091e4226,0 0 1px #091e424f;width:368px;position:relative}.notification-block .notification .message-block{font-size:14px;font-family:Poppins,Poppins,sans-serif!important;word-break:break-word;width:270px}.notification-block .notification .notification-icon-close{height:24px}.notification-block .notification.error{background:#FFE9E9;border-top:1.5px solid #E16D6D}.notification-block .notification.success{background:#e3f4dc;border-top:1.5px solid #b3d692}.notification-block .notification .fa-exclamation-triangle{color:#e16d6d!important}.notification-block .notification .fa-check{color:#a0c37f!important}.notification-block .notification .fa-info-circle,.notification-block .notification .fa-hand-paper-o{color:#bdb89e!important}.notification-block .notification .fa{font-size:20px}.notification-block .notification .close{position:absolute;top:2px;right:-5px}.notification-block .notification .close .fa{font-size:14px}.notification-block .notification .fa{margin:0;color:inherit}@media screen and (max-width: 600px){.notification-block{width:50%;min-width:150px}}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "pipe", type: i4.TruncatePipe, name: "truncate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
36
34
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NotificationsComponent, decorators: [{
37
35
  type: Component,
38
- args: [{ selector: 'app-notification', changeDetection: ChangeDetectionStrategy.OnPush, template: "\n\n<div class=\"notification-block\" role=\"alert\" aria-live=\"assertive\">\n <div class=\"notification\"\n *ngFor=\"let notification of list\"\n [ngClass]=\"{'error': notification.isError(), 'success': notification.isSuccess()}\">\n\n <div class=\"flex-box\">\n <div class=\"notification-icons-block\">\n <i *ngIf=\"notification.isError()\" class=\"fa fa-exclamation-triangle\"></i>\n <i *ngIf=\"notification.isWarning()\" class=\"fa fa-hand-paper-o\"></i>\n <i *ngIf=\"notification.isSuccess()\" class=\"fa fa-check\"></i>\n <i *ngIf=\"notification.isInfo()\" class=\"fa fa-info-circle\"></i>\n </div>\n <div *ngIf=\"!isReadMore\" class=\"message-block\">\n {{notification.message | truncate:[93]}}\n </div>\n <div *ngIf=\"isReadMore\" class=\"message-block\">\n {{notification.message}}\n </div>\n </div>\n <div class=\"read-more-error link clickable\" *ngIf=\"notification.message && notification.message.length > 93\"\n (click)=\"readMore()\">{{(isReadMore ? 'BUTTON.COLLAPSE' : 'BUTTON.READ_MORE') | translate}}</div>\n <button\n class=\"close\"\n mat-icon-button\n matTooltip=\"{{'BUTTON.CLOSE' | translate}} {{'NOTIFICATION_MSG.' + notification.type | translate}} {{'NOTIFICATION_MSG.NOTI' | translate}}\"\n (click)=\"removeNotification(notification)\">\n <img class=\"notification-icon-close\" src=\"assets/icons/close_icon_modal.svg\" alt=\"\">\n </button>\n </div>\n</div>\n\n", styles: ["@import\"https://fonts.googleapis.com/css?family=Poppins:400,100,200,300,500,600,800,700,900\";@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400&display=swap\";.notification-block{right:10px;top:80px;position:absolute;z-index:100}.notification-block .read-more-error{margin:10px 13px 3px 0;text-align:right}.notification-block .notification{padding:15px 0 10px 10px;margin-bottom:18px;color:#333;border-radius:3px;border-top:1.5px solid #e5e1cd;background:#fcf8e3;box-shadow:0 8px 12px #091e4226,0 0 1px #091e424f;width:368px;position:relative}.notification-block .notification .message-block{font-size:14px;font-family:Poppins,Poppins,sans-serif!important;word-break:break-word;width:270px}.notification-block .notification .notification-icon-close{height:24px}.notification-block .notification.error{background:#FFE9E9;border-top:1.5px solid #E16D6D}.notification-block .notification.success{background:#e3f4dc;border-top:1.5px solid #b3d692}.notification-block .notification .fa-exclamation-triangle{color:#e16d6d!important}.notification-block .notification .fa-check{color:#a0c37f!important}.notification-block .notification .fa-info-circle,.notification-block .notification .fa-hand-paper-o{color:#bdb89e!important}.notification-block .notification .fa{font-size:20px}.notification-block .notification .close{position:absolute;top:2px;right:-5px}.notification-block .notification .close .fa{font-size:14px}.notification-block .notification .fa{margin:0;color:inherit}@media screen and (max-width: 600px){.notification-block{width:50%;min-width:150px}}\n"] }]
36
+ args: [{ selector: 'app-notification', changeDetection: ChangeDetectionStrategy.OnPush, template: "\n\n<div class=\"notification-block\" role=\"alert\" aria-live=\"assertive\">\n <div class=\"notification\"\n *ngFor=\"let notification of list\"\n [ngClass]=\"{'error': notification.isError(), 'success': notification.isSuccess()}\">\n\n <div class=\"flex-box\">\n <div class=\"notification-icons-block\">\n <i *ngIf=\"notification.isError()\" class=\"fa fa-exclamation-triangle\"></i>\n <i *ngIf=\"notification.isWarning()\" class=\"fa fa-hand-paper-o\"></i>\n <i *ngIf=\"notification.isSuccess()\" class=\"fa fa-check\"></i>\n <i *ngIf=\"notification.isInfo()\" class=\"fa fa-info-circle\"></i>\n </div>\n <div *ngIf=\"!isReadMore\" class=\"message-block\">\n {{notification.message | truncate:[93]}}\n </div>\n <div *ngIf=\"isReadMore\" class=\"message-block\">\n {{notification.message}}\n </div>\n </div>\n <div class=\"read-more-error link clickable\" *ngIf=\"notification.message && notification.message.length > 93\"\n (click)=\"readMore()\">{{(isReadMore ? 'Collapse' : 'Read More')}}</div>\n <button\n class=\"close\"\n mat-icon-button\n (click)=\"removeNotification(notification)\">\n <img class=\"notification-icon-close\" src=\"assets/icons/close_icon_modal.svg\" alt=\"\">\n </button>\n </div>\n</div>\n\n", styles: ["@import\"https://fonts.googleapis.com/css?family=Poppins:400,100,200,300,500,600,800,700,900\";@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400&display=swap\";.notification-block{right:10px;top:80px;position:absolute;z-index:100}.notification-block .read-more-error{margin:10px 13px 3px 0;text-align:right}.notification-block .notification{padding:15px 0 10px 10px;margin-bottom:18px;color:#333;border-radius:3px;border-top:1.5px solid #e5e1cd;background:#fcf8e3;box-shadow:0 8px 12px #091e4226,0 0 1px #091e424f;width:368px;position:relative}.notification-block .notification .message-block{font-size:14px;font-family:Poppins,Poppins,sans-serif!important;word-break:break-word;width:270px}.notification-block .notification .notification-icon-close{height:24px}.notification-block .notification.error{background:#FFE9E9;border-top:1.5px solid #E16D6D}.notification-block .notification.success{background:#e3f4dc;border-top:1.5px solid #b3d692}.notification-block .notification .fa-exclamation-triangle{color:#e16d6d!important}.notification-block .notification .fa-check{color:#a0c37f!important}.notification-block .notification .fa-info-circle,.notification-block .notification .fa-hand-paper-o{color:#bdb89e!important}.notification-block .notification .fa{font-size:20px}.notification-block .notification .close{position:absolute;top:2px;right:-5px}.notification-block .notification .close .fa{font-size:14px}.notification-block .notification .fa{margin:0;color:inherit}@media screen and (max-width: 600px){.notification-block{width:50%;min-width:150px}}\n"] }]
39
37
  }], ctorParameters: function () { return [{ type: i1.NotificationService }, { type: i0.ChangeDetectorRef }]; } });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2VyLWNyZWF0aW9uL3NyYy9zaGFyZWQvY29tcG9uZW50cy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2VyLWNyZWF0aW9uL3NyYy9zaGFyZWQvY29tcG9uZW50cy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7QUFXekcsTUFBTSxPQUFPLHNCQUFzQjtJQUtqQyxZQUNTLG1CQUF3QyxFQUN2QyxHQUFzQjtRQUR2Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3ZDLFFBQUcsR0FBSCxHQUFHLENBQW1CO0lBRWhDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUNyQyxDQUFDO0lBRU0sa0JBQWtCLENBQUMsWUFBMEI7UUFDbEQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRU8sbUJBQW1CO1FBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVTthQUN4RCxTQUFTLENBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRTtZQUN2QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztZQUNqQixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7b0hBakNVLHNCQUFzQjt3R0FBdEIsc0JBQXNCLHdEQ1huQyxxL0NBaUNBOzRGRHRCYSxzQkFBc0I7a0JBTmxDLFNBQVM7K0JBQ0Usa0JBQWtCLG1CQUdYLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9zZXJ2aWNlcy9ub3RpZmljYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb24gfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL25vdGlmaWNhdGlvbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1ub3RpZmljYXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vbm90aWZpY2F0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbm90aWZpY2F0aW9uLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvbnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHB1YmxpYyBsaXN0ITogTm90aWZpY2F0aW9uW107XG4gIHB1YmxpYyBpc1JlYWRNb3JlITogYm9vbGVhbjtcbiAgcHJpdmF0ZSBsaXN0U3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMubGlzdENoYW5nZVN1YnNjcmliZSgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5saXN0U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgcmVhZE1vcmUoKTogdm9pZCB7XG4gICAgdGhpcy5pc1JlYWRNb3JlID0gIXRoaXMuaXNSZWFkTW9yZTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVOb3RpZmljYXRpb24obm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb24pOiB2b2lkIHtcbiAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UucmVtb3ZlKG5vdGlmaWNhdGlvbik7XG4gIH1cblxuICBwcml2YXRlIGxpc3RDaGFuZ2VTdWJzY3JpYmUoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0U3Vic2NyaXB0aW9uID0gdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLmxpc3RDaGFuZ2VcbiAgICAgIC5zdWJzY3JpYmUoKGxpc3Q6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmxpc3QgPSBsaXN0O1xuICAgICAgICB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9KTtcbiAgfVxufVxuIiwiXG5cbjxkaXYgY2xhc3M9XCJub3RpZmljYXRpb24tYmxvY2tcIiByb2xlPVwiYWxlcnRcIiBhcmlhLWxpdmU9XCJhc3NlcnRpdmVcIj5cbiAgPGRpdiBjbGFzcz1cIm5vdGlmaWNhdGlvblwiXG4gICAgICAgKm5nRm9yPVwibGV0IG5vdGlmaWNhdGlvbiBvZiBsaXN0XCJcbiAgICAgICBbbmdDbGFzc109XCJ7J2Vycm9yJzogbm90aWZpY2F0aW9uLmlzRXJyb3IoKSwgJ3N1Y2Nlc3MnOiBub3RpZmljYXRpb24uaXNTdWNjZXNzKCl9XCI+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleC1ib3hcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJub3RpZmljYXRpb24taWNvbnMtYmxvY2tcIj5cbiAgICAgICAgPGkgKm5nSWY9XCJub3RpZmljYXRpb24uaXNFcnJvcigpXCIgY2xhc3M9XCJmYSBmYS1leGNsYW1hdGlvbi10cmlhbmdsZVwiPjwvaT5cbiAgICAgICAgPGkgKm5nSWY9XCJub3RpZmljYXRpb24uaXNXYXJuaW5nKClcIiBjbGFzcz1cImZhIGZhLWhhbmQtcGFwZXItb1wiPjwvaT5cbiAgICAgICAgPGkgKm5nSWY9XCJub3RpZmljYXRpb24uaXNTdWNjZXNzKClcIiBjbGFzcz1cImZhIGZhLWNoZWNrXCI+PC9pPlxuICAgICAgICA8aSAqbmdJZj1cIm5vdGlmaWNhdGlvbi5pc0luZm8oKVwiIGNsYXNzPVwiZmEgZmEtaW5mby1jaXJjbGVcIj48L2k+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCIhaXNSZWFkTW9yZVwiIGNsYXNzPVwibWVzc2FnZS1ibG9ja1wiPlxuICAgICAgICB7e25vdGlmaWNhdGlvbi5tZXNzYWdlIHwgdHJ1bmNhdGU6WzkzXX19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJpc1JlYWRNb3JlXCIgY2xhc3M9XCJtZXNzYWdlLWJsb2NrXCI+XG4gICAgICAgIHt7bm90aWZpY2F0aW9uLm1lc3NhZ2V9fVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInJlYWQtbW9yZS1lcnJvciBsaW5rIGNsaWNrYWJsZVwiICpuZ0lmPVwibm90aWZpY2F0aW9uLm1lc3NhZ2UgJiYgbm90aWZpY2F0aW9uLm1lc3NhZ2UubGVuZ3RoID4gOTNcIlxuICAgICAgICAgKGNsaWNrKT1cInJlYWRNb3JlKClcIj57eyhpc1JlYWRNb3JlID8gJ0JVVFRPTi5DT0xMQVBTRScgOiAnQlVUVE9OLlJFQURfTU9SRScpIHwgdHJhbnNsYXRlfX08L2Rpdj5cbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cImNsb3NlXCJcbiAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgbWF0VG9vbHRpcD1cInt7J0JVVFRPTi5DTE9TRScgfCB0cmFuc2xhdGV9fSB7eydOT1RJRklDQVRJT05fTVNHLicgKyBub3RpZmljYXRpb24udHlwZSB8IHRyYW5zbGF0ZX19IHt7J05PVElGSUNBVElPTl9NU0cuTk9USScgfCB0cmFuc2xhdGV9fVwiXG4gICAgICAoY2xpY2spPVwicmVtb3ZlTm90aWZpY2F0aW9uKG5vdGlmaWNhdGlvbilcIj5cbiAgICAgIDxpbWcgY2xhc3M9XCJub3RpZmljYXRpb24taWNvbi1jbG9zZVwiIHNyYz1cImFzc2V0cy9pY29ucy9jbG9zZV9pY29uX21vZGFsLnN2Z1wiIGFsdD1cIlwiPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG4iXX0=
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2VyLWNyZWF0aW9uL3NyYy9zaGFyZWQvY29tcG9uZW50cy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2VyLWNyZWF0aW9uL3NyYy9zaGFyZWQvY29tcG9uZW50cy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBV3pHLE1BQU0sT0FBTyxzQkFBc0I7SUFLakMsWUFDUyxtQkFBd0MsRUFDdkMsR0FBc0I7UUFEdkIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN2QyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtJQUVoQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDckMsQ0FBQztJQUVNLGtCQUFrQixDQUFDLFlBQTBCO1FBQ2xELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVPLG1CQUFtQjtRQUN6QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVU7YUFDeEQsU0FBUyxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUU7WUFDdkIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7WUFDakIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7O29IQWpDVSxzQkFBc0I7d0dBQXRCLHNCQUFzQix3RENYbkMsczBDQWdDQTs0RkRyQmEsc0JBQXNCO2tCQU5sQyxTQUFTOytCQUNFLGtCQUFrQixtQkFHWCx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvc2VydmljZXMvbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uIH0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9ub3RpZmljYXRpb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtbm90aWZpY2F0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL25vdGlmaWNhdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL25vdGlmaWNhdGlvbi5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25zQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgbGlzdCE6IE5vdGlmaWNhdGlvbltdO1xuICBwdWJsaWMgaXNSZWFkTW9yZSE6IGJvb2xlYW47XG4gIHByaXZhdGUgbGlzdFN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgbm90aWZpY2F0aW9uU2VydmljZTogTm90aWZpY2F0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmxpc3RDaGFuZ2VTdWJzY3JpYmUoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMubGlzdFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIHJlYWRNb3JlKCk6IHZvaWQge1xuICAgIHRoaXMuaXNSZWFkTW9yZSA9ICF0aGlzLmlzUmVhZE1vcmU7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlTm90aWZpY2F0aW9uKG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLnJlbW92ZShub3RpZmljYXRpb24pO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0Q2hhbmdlU3Vic2NyaWJlKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdFN1YnNjcmlwdGlvbiA9IHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5saXN0Q2hhbmdlXG4gICAgICAuc3Vic2NyaWJlKChsaXN0OiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5saXN0ID0gbGlzdDtcbiAgICAgICAgdGhpcy5yZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfSk7XG4gIH1cbn1cbiIsIlxuXG48ZGl2IGNsYXNzPVwibm90aWZpY2F0aW9uLWJsb2NrXCIgcm9sZT1cImFsZXJ0XCIgYXJpYS1saXZlPVwiYXNzZXJ0aXZlXCI+XG4gIDxkaXYgY2xhc3M9XCJub3RpZmljYXRpb25cIlxuICAgICAgICpuZ0Zvcj1cImxldCBub3RpZmljYXRpb24gb2YgbGlzdFwiXG4gICAgICAgW25nQ2xhc3NdPVwieydlcnJvcic6IG5vdGlmaWNhdGlvbi5pc0Vycm9yKCksICdzdWNjZXNzJzogbm90aWZpY2F0aW9uLmlzU3VjY2VzcygpfVwiPlxuXG4gICAgPGRpdiBjbGFzcz1cImZsZXgtYm94XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibm90aWZpY2F0aW9uLWljb25zLWJsb2NrXCI+XG4gICAgICAgIDxpICpuZ0lmPVwibm90aWZpY2F0aW9uLmlzRXJyb3IoKVwiIGNsYXNzPVwiZmEgZmEtZXhjbGFtYXRpb24tdHJpYW5nbGVcIj48L2k+XG4gICAgICAgIDxpICpuZ0lmPVwibm90aWZpY2F0aW9uLmlzV2FybmluZygpXCIgY2xhc3M9XCJmYSBmYS1oYW5kLXBhcGVyLW9cIj48L2k+XG4gICAgICAgIDxpICpuZ0lmPVwibm90aWZpY2F0aW9uLmlzU3VjY2VzcygpXCIgY2xhc3M9XCJmYSBmYS1jaGVja1wiPjwvaT5cbiAgICAgICAgPGkgKm5nSWY9XCJub3RpZmljYXRpb24uaXNJbmZvKClcIiBjbGFzcz1cImZhIGZhLWluZm8tY2lyY2xlXCI+PC9pPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiIWlzUmVhZE1vcmVcIiBjbGFzcz1cIm1lc3NhZ2UtYmxvY2tcIj5cbiAgICAgICAge3tub3RpZmljYXRpb24ubWVzc2FnZSB8IHRydW5jYXRlOls5M119fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiaXNSZWFkTW9yZVwiIGNsYXNzPVwibWVzc2FnZS1ibG9ja1wiPlxuICAgICAgICB7e25vdGlmaWNhdGlvbi5tZXNzYWdlfX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJyZWFkLW1vcmUtZXJyb3IgbGluayBjbGlja2FibGVcIiAqbmdJZj1cIm5vdGlmaWNhdGlvbi5tZXNzYWdlICYmIG5vdGlmaWNhdGlvbi5tZXNzYWdlLmxlbmd0aCA+IDkzXCJcbiAgICAgICAgIChjbGljayk9XCJyZWFkTW9yZSgpXCI+e3soaXNSZWFkTW9yZSA/ICdDb2xsYXBzZScgOiAnUmVhZCBNb3JlJyl9fTwvZGl2PlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwiY2xvc2VcIlxuICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAoY2xpY2spPVwicmVtb3ZlTm90aWZpY2F0aW9uKG5vdGlmaWNhdGlvbilcIj5cbiAgICAgIDxpbWcgY2xhc3M9XCJub3RpZmljYXRpb24taWNvbi1jbG9zZVwiIHNyYz1cImFzc2V0cy9pY29ucy9jbG9zZV9pY29uX21vZGFsLnN2Z1wiIGFsdD1cIlwiPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG4iXX0=
@@ -124,7 +124,8 @@ export class UserCreationApiService {
124
124
  return this.apiService.post(API.CREATE_NEW_USER_FROM_TEMPLATE, user, { siteId: siteId, templateId: templateId });
125
125
  }
126
126
  getDeviceDefaults(siteId, deviceType) {
127
- return this.apiService.fetch(API.DEVICE_DEFAULTS.replace(':siteId', siteId).replace(':deviceType', deviceType));
127
+ const encodedType = encodeURIComponent(deviceType);
128
+ return this.apiService.fetch(API.DEVICE_DEFAULTS.replace(':siteId', siteId).replace(':deviceType', encodedType));
128
129
  }
129
130
  }
130
131
  UserCreationApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UserCreationApiService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
@@ -132,4 +133,4 @@ UserCreationApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0
132
133
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UserCreationApiService, decorators: [{
133
134
  type: Injectable
134
135
  }], ctorParameters: function () { return []; } });
135
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1jcmVhdGlvbi1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2VyLWNyZWF0aW9uL3NyYy9zaGFyZWQvc2VydmljZXMvdXNlci1jcmVhdGlvbi1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQWMsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3ZFLDhDQUE4QztBQUM5QyxPQUFPLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFFaEQsTUFBTSxjQUFjLEdBQUc7SUFDckIsUUFBUSxFQUFFLFdBQVc7SUFDckIsUUFBUSxFQUFFLFdBQVc7SUFDckIsT0FBTyxFQUFFLElBQUk7SUFDYixJQUFJLEVBQUU7UUFDSixZQUFZLEVBQUUsTUFBTTtRQUNwQixFQUFFLEVBQUUsSUFBSTtRQUNSLElBQUksRUFBRSxRQUFRO0tBQ2Y7SUFDRCxFQUFFLEVBQUUsSUFBSTtJQUNSLElBQUksRUFBRSxXQUFXO0lBQ2pCLFFBQVEsRUFBRSxLQUFLO0lBQ2YsWUFBWSxFQUFFLElBQUk7SUFDbEIsVUFBVSxFQUFFLEtBQUs7SUFDakIsVUFBVSxFQUFFLEtBQUs7SUFDakIsUUFBUSxFQUFFLEVBQUU7SUFDWixTQUFTLEVBQUUsZ0JBQWdCO0lBQzNCLEtBQUssRUFBRSxFQUFFO0lBQ1QsUUFBUSxFQUFFLEtBQUs7Q0FDaEIsQ0FBQTtBQUdELE1BQU0sT0FBTyxzQkFBc0I7SUFXakM7UUFUUSxjQUFTLEdBQVcsRUFBRSxDQUFDO1FBQ2Qsc0JBQWlCLEdBQUcsSUFB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YSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDbEgsQ0FBQzs7b0hBMUhVLHNCQUFzQjt3SEFBdEIsc0JBQXNCOzRGQUF0QixzQkFBc0I7a0JBRGxDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmb3JrSm9pbiwgbWFwLCBPYnNlcnZhYmxlLCB0YXAgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgU2l0ZSwgU2l0ZURlZmF1bHRzLCBTaXRlSW50ZXJmYWNlLCBTaXRlVGVtcGxhdGVJbnRlcmZhY2UgfSBmcm9tIFwiLi4vLi4vY2xhc3Nlcy9zaXRlXCI7XG5pbXBvcnQgeyBVc2VyVGVtcGxhdGVJbnRlcmZhY2UgfSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlcy91c2VyLWNyZWF0aW9uLXdpemFyZC5pbnRlcmZhY2VzXCI7XG4vLyBpbXBvcnQgeyBBUElTZXJ2aWNlIH0gZnJvbSBcIi4vYXBpLnNlcnZpY2VcIjtcbmltcG9ydCB7IEFQSSwgTUFYX0lOVEVHRVIgfSBmcm9tIFwiLi4vLi4vYXBwLmNvbnN0YW50c1wiO1xuaW1wb3J0IHsgQVBJU2VydmljZSB9IGZyb20gXCIuLi9hcGkvYXBpLnNlcnZpY2VcIjtcblxuY29uc3QgQkVSTElOX01UX1NJVEUgPSB7XG4gIGFkZHJlc3MyOiBcIkFkZHJlc3MgMlwiLFxuICBhZGRyZXNzMzogXCJBZGRyZXNzIDNcIixcbiAgY291bnRyeTogXCJJTFwiLFxuICBjdWNtOiB7XG4gICAgcGxhdGZvcm1UeXBlOiBcIkNVQ01cIixcbiAgICBpZDogMjA3MyxcbiAgICBuYW1lOiBcIkRJXzIyMFwiXG4gIH0sXG4gIGlkOiA5MzI5LFxuICBuYW1lOiBcIkJlcmxpbl9NVFwiLFxuICBocVN0YXR1czogZmFsc2UsXG4gIGhhc0FjdGl2YXRlZDogdHJ1ZSxcbiAgaXNBZnRlclR0dTogZmFsc2UsXG4gIHByZWZldGNoRG46IGZhbHNlLFxuICBzZXR0aW5nczogW10sXG4gIHNob3J0TmFtZTogXCJCZXJsMTc1ODEwNTQwN1wiLFxuICBzdGF0ZTogXCJcIixcbiAgdGltZXpvbmU6IFwiR01UXCJcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFVzZXJDcmVhdGlvbkFwaVNlcnZpY2Uge1xuXG4gIHByaXZhdGUgX2FsbFNpdGVzOiBTaXRlW10gPSBbXTtcbiAgcHJpdmF0ZSByZWFkb25seSBzaXRlc0xpc3RTdWJqZWN0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U2l0ZVtdPihbXSk7XG4gIHB1YmxpYyByZWFkb25seSBzaXRlc0xpc3QkID0gdGhpcy5zaXRlc0xpc3RTdWJqZWN0JC5hc09ic2VydmFibGUoKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHRlbXBsYXRlc0xpc3RTdWJqZWN0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VXNlclRlbXBsYXRlSW50ZXJmYWNlW10+KFtdKTtcbiAgcHVibGljIHJlYWRvbmx5IHRlbXBsYXRlc0xpc3QkID0gdGhpcy50ZW1wbGF0ZXNMaXN0U3ViamVjdCQuYXNPYnNlcnZhYmxlKCk7XG5cbiAgcHJpdmF0ZSBhcGlTZXJ2aWNlID0gaW5qZWN0KEFQSVNlcnZpY2UpO1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgcHVibGljIGdldFNpdGVzTGlzdCgpIHtcblxuICB9XG5cbiAgcHVibGljIGNoZWNrQ29udHJvbEh1YkludGVncmF0aW9uKGN1c3RvbWVySWQ6IHN0cmluZykge1xuICAgIGNvbnN0IFVSTCA9IEFQSS5XRUJFWF9DSEVDS19DT05UUk9MX0hVQl9JTlRFR1JBVElPTi5yZXBsYWNlKCc6Y3VzdG9tZXJJZCcsIFN0cmluZyhjdXN0b21lcklkKSk7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5mZXRjaChVUkwpO1xuICAgIC8vIC5waXBlKHRoaXMuaGFuZGxlRXJyb3IodHJ1ZSwgdHJ1ZSkpO1xuICB9XG5cbiAgcHVibGljIGdldEFsbEN1c3RvbWVyU2l0ZXMoY3VzdG9tZXJJZDogc3RyaW5nLCBvbmx5U2l0ZXNXaXRoTG9jYXRpb24/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxTaXRlW10+IHtcbiAgICBjb25zdCBwYXJhbXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcbiAgICBpZiAob25seVNpdGVzV2l0aExvY2F0aW9uKSB7XG4gICAgICBwYXJhbXNbJ29ubHlTaXRlc1dpdGhMb2NhdGlvbiddID0gJ3RydWUnO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmZldGNoUGFnaW5hdGlvbihBUEkuU0lURVMucmVwbGFjZSgnOmN1c3RvbWVySWQnLCBTdHJpbmcoY3VzdG9tZXJJZCkpLCBNQVhfSU5URUdFUiwgMCwgcGFyYW1zLCBmYWxzZSlcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgLy8gdGhpcy5fYWxsU2l0ZXMgPSBbXTtcbiAgICAgICAgICAvLyBpZiAocmVzLnBhZ2VEYXRhICYmIHJlcy5wYWdlRGF0YS5sZW5ndGgpIHtcbiAgICAgICAgICAvLyB0aGlzLmFzc2lnbkFsbFNpdGVzKGN1c3RvbWVySWQsIHJlcy5wYWdlRGF0YSk7XG4gICAgICAgICAgLy8gfVxuICAgICAgICAgIC8vIHRoaXMuYWxsQ3VzdG9tZXJTaXRlcyQubmV4dCh0cnVlKTtcbiAgICAgICAgICAvLyByZXR1cm4gdGhpcy5fYWxsU2l0ZXM7XG4gICAgICAgICAgdGhpcy5zaXRlc0xpc3RTdWJqZWN0JC5uZXh0KFtCRVJMSU5fTVRfU0lURSwgLi4ucmVzLnBhZ2VEYXRhXS5zb3J0KChhLCBiKSA9PiBhLm5hbWUubG9jYWxlQ29tcGFyZShiLm5hbWUpKSk7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgLy8gICAucGlwZSh0aGlzLmhhbmRsZUVycm9yKHRydWUpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTaXRlQWxsRGF0YShzaXRlSWQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgLy8gdGhpcy5kYXRhUGVuZGluZyA9IHRydWU7XG4gICAgcmV0dXJuIGZvcmtKb2luKFtcbiAgICAgIHRoaXMuZ2V0U2l0ZShzaXRlSWQpLFxuICAgICAgdGhpcy5nZXRTaXRlRGVmYXVsdHMoc2l0ZUlkLCBmYWxzZSksXG4gICAgICAvLyB0aGlzLmdldERldmljZVR5cGVzKHNpdGVJZCksXG4gICAgICAvLyB0aGlzLmdldFZvaWNlTWFpbFVzZXJUZW1wbGF0ZXMoc2l0ZUlkKVxuICAgIF0pO1xuICB9XG5cbiAgcHVibGljIGdldFNpdGUoc2l0ZUlkOiBudW1iZXIsIGlzRWRpdD86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPFNpdGVJbnRlcmZhY2U+IHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmZldGNoKEFQSS5TSVRFLnJlcGxhY2UoJzpzaXRlSWQnLCBTdHJpbmcoc2l0ZUlkKSksIG51bGwsIGZhbHNlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXREZXZpY2VUeXBlcyhzaXRlSWQ6IG51bWJlciB8IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nW10+IHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmZldGNoKEFQSS5ERVZJQ0VfVFlQRVMucmVwbGFjZSgnOnNpdGVJZCcsIFN0cmluZyhzaXRlSWQpKSwgbnVsbCwgdHJ1ZSlcbiAgICAvLyAgIC5waXBlKFxuICAgIC8vICAgICBtYXAoKHR5cGVzOiBzdHJpbmdbXSkgPT4ge1xuICAgIC8vICAgICAgICAgLy8gdGhpcy5kZXZpY2VUeXBlcyA9IHR5cGVzKVxuICAgIC8vICAgICB9KVxuICAgIC8vICk7XG4gICAgLy8gICAucGlwZSh0aGlzLmhhbmRsZUVycm9yKGZhbHNlLCB0cnVlKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0U2l0ZURlZmF1bHRzKHNpdGVJZDogbnVtYmVyLCBkaXJlY3RBY2Nlc3M6IGJvb2xlYW4sIHNoYXJlZExpbmVTaXRlSWRzPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxTaXRlRGVmYXVsdHM+IHtcbiAgICBjb25zdCBwYXJhbXMgPSB7IGRpcmVjdEFjY2VzczogZGlyZWN0QWNjZXNzIH07XG4gICAgLy8gaWYgKHNoYXJlZExpbmVTaXRlSWRzKSB7XG4gICAgLy8gICBwYXJhbXNbJ3NoYXJlZExpbmVTaXRlSWRzJ10gPSBzaGFyZWRMaW5lU2l0ZUlkcztcbiAgICAvLyB9XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5mZXRjaChBUEkuU0lURV9TRVRUSU5HUy5yZXBsYWNlKCc6c2l0ZUlkJywgU3RyaW5nKHNpdGVJZCkpLCBwYXJhbXMpXG4gICAgLy8gICAucGlwZShtYXAoKHNpdGVEZWZhdWx0czogU2l0ZVRlbXBsYXRlSW50ZXJmYWNlKSA9PiB7XG4gICAgLy8gICAgIC8vIHRoaXMuc2l0ZURlZmF1bHRzID0gbmV3IFNpdGVEZWZhdWx0cyhzaXRlRGVmYXVsdHMsICEhc2hhcmVkTGluZVNpdGVJZHMpO1xuICAgIC8vICAgICAvLyBjb25zdCBjb3BpZWRTaXRlRGVmYXVsdHMgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHNpdGVEZWZhdWx0cykpO1xuICAgIC8vICAgICAvLyB0aGlzLm9yaWdpbmFsU2l0ZURlZmF1bHRzID0gbmV3IFNpdGVEZWZhdWx0cyhjb3BpZWRTaXRlRGVmYXVsdHMsICEhc2hhcmVkTGluZVNpdGVJZHMpO1xuICAgIC8vICAgfSkpO1xuICAgIC8vICAgLnBpcGUodGhpcy5oYW5kbGVFcnJvcih0cnVlLCB0cnVlKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Vm9pY2VNYWlsVXNlclRlbXBsYXRlcyhzaXRlSWQ6IG51bWJlcikge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZmV0Y2goQVBJLlZNX1VTRVJfVEVNUExBVEVTLnJlcGxhY2UoJzpzaXRlSWQnLCBTdHJpbmcoc2l0ZUlkKSksIG51bGwsIHRydWUpXG4gICAgICAucGlwZShtYXAoKHRlbXBsYXRlczogc3RyaW5nW10pID0+IHtcbiAgICAgICAgLy8gdGhpcy52b2ljZU1haWxUZW1wbGF0ZXMgPSB0ZW1wbGF0ZXM7XG4gICAgICB9KSk7XG4gICAgLy8gICAucGlwZSh0aGlzLmhhbmRsZUVycm9yKGZhbHNlLCB0cnVlKSk7XG4gIH1cblxuICBwdWJsaWMgZmV0Y2hBbGxVc2VyVGVtcGxhdGVzKHNpdGVJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxVc2VyVGVtcGxhdGVJbnRlcmZhY2VbXT4ge1xuICAgIGNvbnN0IHBhcmFtcyA9IHtcbiAgICAgIHNpdGVJZDogc2l0ZUlkLFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5mZXRjaChBUEkuVVNFUl9URU1QTEFURVNfVVBMT0FEX0xJU1QsIHBhcmFtcylcbiAgICAgIC5waXBlKHRhcCgocmVzdWx0OiBVc2VyVGVtcGxhdGVJbnRlcmZhY2VbXSkgPT4ge1xuICAgICAgICB0aGlzLnRlbXBsYXRlc0xpc3RTdWJqZWN0JC5uZXh0KHJlc3VsdCk7XG4gICAgICB9KSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0VXNlclRlbXBsYXRlVG9rZW4oaWQ6IHN0cmluZywgY3VzdG9tZXJJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmZldGNoKEFQSS5VU0VSX1RFTVBMQVRFX1RPS0VOLnJlcGxhY2UoJzpjdXN0b21lcklkJywgY3VzdG9tZXJJZCkucmVwbGFjZSgnOmlkJywgaWQpKVxuICAgIC8vIC5waXBlKHRoaXMuaGFuZGxlRXJyb3IoZmFsc2UsIHRydWUpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRBdmFpbGFibGVEbkluUmFuZ2VzKHNpdGVJZDogc3RyaW5nLCBwYXJhbXM6IGFueSk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5mZXRjaChBUEkuQVZBSUxBQkxFX0ROX0lOX1JBTkdFUy5yZXBsYWNlKCc6c2l0ZUlkJywgc2l0ZUlkKSwgcGFyYW1zKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRMZGFwVXNlcnMoc2l0ZUlkOiBzdHJpbmcsIHBhcmFtczogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmZldGNoKEFQSS5MREFQX1VTRVJTLnJlcGxhY2UoJzpzaXRlSWQnLCBzaXRlSWQpLCBwYXJhbXMpO1xuICB9XG5cbiAgcHVibGljIGNoZWNrVXNlcklkRXhpc3Rpbmcoc2l0ZUlkOiBzdHJpbmcsIHVzZXJJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmZldGNoKEFQSS5VU0VSX0NIRUNLX0lEX0VYSVNUSU5HLnJlcGxhY2UoJzpzaXRlSWQnLCBzaXRlSWQpLnJlcGxhY2UoJzp1c2VySWQnLCB1c2VySWQpKTtcbiAgfVxuXG4gIHB1YmxpYyBzYXZlVGVtcGxhdGVVc2VyKHVzZXI6IGFueSwgdGVtcGxhdGVJZDogc3RyaW5nLCBzaXRlSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KEFQSS5DUkVBVEVfTkVXX1VTRVJfRlJPTV9URU1QTEFURSwgdXNlciwgeyBzaXRlSWQ6IHNpdGVJZCwgdGVtcGxhdGVJZDogdGVtcGxhdGVJZCB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXREZXZpY2VEZWZhdWx0cyhzaXRlSWQ6IHN0cmluZywgZGV2aWNlVHlwZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmZldGNoKEFQSS5ERVZJQ0VfREVGQVVMVFMucmVwbGFjZSgnOnNpdGVJZCcsIHNpdGVJZCkucmVwbGFjZSgnOmRldmljZVR5cGUnLCBkZXZpY2VUeXBlKSk7XG4gIH1cbn0iXX0=
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1jcmVhdGlvbi1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2VyLWNyZWF0aW9uL3NyYy9zaGFyZWQvc2VydmljZXMvdXNlci1jcmVhdGlvbi1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQWMsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3ZFLDhDQUE4QztBQUM5QyxPQUFPLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFFaEQsTUFBTSxjQUFjLEdBQUc7SUFDckIsUUFBUSxFQUFFLFdBQVc7SUFDckIsUUFBUSxFQUFFLFdBQVc7SUFDckIsT0FBTyxFQUFFLElBQUk7SUFDYixJQUFJLEVBQUU7UUFDSixZQUFZLEVBQUUsTUFBTTtRQUNwQixFQUFFLEVBQUUsSUFBSTtRQUNSLElBQUksRUFBRSxRQUFRO0tBQ2Y7SUFDRCxFQUFFLEVBQUUsSUFBSTtJQUNSLElBQUksRUFBRSxXQUFXO0lBQ2pCLFFBQVEsRUFBRSxLQUFLO0lBQ2YsWUFBWSxFQUFFLElBQUk7SUFDbEIsVUFBVSxFQUFFLEtBQUs7SUFDakIsVUFBVSxFQUFFLEtBQUs7SUFDakIsUUFBUSxFQUFFLEVBQUU7SUFDWixTQUFTLEVBQUUsZ0JBQWdCO0lBQzNCLEtBQUssRUFBRSxFQUFFO0lBQ1QsUUFBUSxFQUFFLEtBQUs7Q0FDaEIsQ0FBQTtBQUdELE1BQU0sT0FBTyxzQkFBc0I7SUFXakM7UUFUUSxjQUFTLEdBQVcsRUFBRSxDQUFDO1FBQ2Qsc0JBQWlCLEdBQUcsSUFB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LE9BQU8sQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsQ0FDbkYsQ0FBQztJQUNKLENBQUM7O29IQTdIVSxzQkFBc0I7d0hBQXRCLHNCQUFzQjs0RkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZm9ya0pvaW4sIG1hcCwgT2JzZXJ2YWJsZSwgdGFwIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IFNpdGUsIFNpdGVEZWZhdWx0cywgU2l0ZUludGVyZmFjZSwgU2l0ZVRlbXBsYXRlSW50ZXJmYWNlIH0gZnJvbSBcIi4uLy4uL2NsYXNzZXMvc2l0ZVwiO1xuaW1wb3J0IHsgRGV2aWNlRGVmYXVsdHNJbnRlcmZhY2UsIFVzZXJUZW1wbGF0ZUludGVyZmFjZSB9IGZyb20gXCIuLi8uLi9pbnRlcmZhY2VzL3VzZXItY3JlYXRpb24td2l6YXJkLmludGVyZmFjZXNcIjtcbi8vIGltcG9ydCB7IEFQSVNlcnZpY2UgfSBmcm9tIFwiLi9hcGkuc2VydmljZVwiO1xuaW1wb3J0IHsgQVBJLCBNQVhfSU5URUdFUiB9IGZyb20gXCIuLi8uLi9hcHAuY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBBUElTZXJ2aWNlIH0gZnJvbSBcIi4uL2FwaS9hcGkuc2VydmljZVwiO1xuXG5jb25zdCBCRVJMSU5fTVRfU0lURSA9IHtcbiAgYWRkcmVzczI6IFwiQWRkcmVzcyAyXCIsXG4gIGFkZHJlc3MzOiBcIkFkZHJlc3MgM1wiLFxuICBjb3VudHJ5OiBcIklMXCIsXG4gIGN1Y206IHtcbiAgICBwbGF0Zm9ybVR5cGU6IFwiQ1VDTVwiLFxuICAgIGlkOiAyMDczLFxuICAgIG5hbWU6IFwiRElfMjIwXCJcbiAgfSxcbiAgaWQ6IDkzMjksXG4gIG5hbWU6IFwiQmVybGluX01UXCIsXG4gIGhxU3RhdHVzOiBmYWxzZSxcbiAgaGFzQWN0aXZhdGVkOiB0cnVlLFxuICBpc0FmdGVyVHR1OiBmYWxzZSxcbiAgcHJlZmV0Y2hEbjogZmFsc2UsXG4gIHNldHRpbmdzOiBbXSxcbiAgc2hvcnROYW1lOiBcIkJlcmwxNzU4MTA1NDA3XCIsXG4gIHN0YXRlOiBcIlwiLFxuICB0aW1lem9uZTogXCJHTVRcIlxufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVXNlckNyZWF0aW9uQXBpU2VydmljZSB7XG5cbiAgcHJpdmF0ZSBfYWxsU2l0ZXM6IFNpdGVbXSA9IFtdO1xuICBwcml2YXRlIHJlYWRvbmx5IHNpdGVzTGlzdFN1YmplY3QkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTaXRlW10+KFtdKTtcbiAgcHVibGljIHJlYWRvbmx5IHNpdGVzTGlzdCQgPSB0aGlzLnNpdGVzTGlzdFN1YmplY3QkLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgdGVtcGxhdGVzTGlzdFN1YmplY3QkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxVc2VyVGVtcGxhdGVJbnRlcmZhY2VbXT4oW10pO1xuICBwdWJsaWMgcmVhZG9ubHkgdGVtcGxhdGVzTGlzdCQgPSB0aGlzLnRlbXBsYXRlc0xpc3RTdWJqZWN0JC5hc09ic2VydmFibGUoKTtcblxuICBwcml2YXRlIGFwaVNlcnZpY2UgPSBpbmplY3QoQVBJU2VydmljZSk7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBwdWJsaWMgZ2V0U2l0ZXNMaXN0KCkge1xuXG4gIH1cblxuICBwdWJsaWMgY2hlY2tDb250cm9sSHViSW50ZWdyYXRpb24oY3VzdG9tZXJJZDogc3RyaW5nKSB7XG4gICAgY29uc3QgVVJMID0gQVBJLldFQkVYX0NIRUNLX0NPTlRST0xfSFVCX0lOVEVHUkFUSU9OLnJlcGxhY2UoJzpjdXN0b21lcklkJywgU3RyaW5nKGN1c3RvbWVySWQpKTtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmZldGNoKFVSTCk7XG4gICAgLy8gLnBpcGUodGhpcy5oYW5kbGVFcnJvcih0cnVlLCB0cnVlKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0QWxsQ3VzdG9tZXJTaXRlcyhjdXN0b21lcklkOiBzdHJpbmcsIG9ubHlTaXRlc1dpdGhMb2NhdGlvbj86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPFNpdGVbXT4ge1xuICAgIGNvbnN0IHBhcmFtczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xuICAgIGlmIChvbmx5U2l0ZXNXaXRoTG9jYXRpb24pIHtcbiAgICAgIHBhcmFtc1snb25seVNpdGVzV2l0aExvY2F0aW9uJ10gPSAndHJ1ZSc7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZmV0Y2hQYWdpbmF0aW9uKEFQSS5TSVRFUy5yZXBsYWNlKCc6Y3VzdG9tZXJJZCcsIFN0cmluZyhjdXN0b21lcklkKSksIE1BWF9JTlRFR0VSLCAwLCBwYXJhbXMsIGZhbHNlKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgocmVzOiBhbnkpID0+IHtcbiAgICAgICAgICAvLyB0aGlzLl9hbGxTaXRlcyA9IFtdO1xuICAgICAgICAgIC8vIGlmIChyZXMucGFnZURhdGEgJiYgcmVzLnBhZ2VEYXRhLmxlbmd0aCkge1xuICAgICAgICAgIC8vIHRoaXMuYXNzaWduQWxsU2l0ZXMoY3VzdG9tZXJJZCwgcmVzLnBhZ2VEYXRhKTtcbiAgICAgICAgICAvLyB9XG4gICAgICAgICAgLy8gdGhpcy5hbGxDdXN0b21lclNpdGVzJC5uZXh0KHRydWUpO1xuICAgICAgICAgIC8vIHJldHVybiB0aGlzLl9hbGxTaXRlcztcbiAgICAgICAgICB0aGlzLnNpdGVzTGlzdFN1YmplY3QkLm5leHQoW0JFUkxJTl9NVF9TSVRFLCAuLi5yZXMucGFnZURhdGFdLnNvcnQoKGEsIGIpID0+IGEubmFtZS5sb2NhbGVDb21wYXJlKGIubmFtZSkpKTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAvLyAgIC5waXBlKHRoaXMuaGFuZGxlRXJyb3IodHJ1ZSkpO1xuICB9XG5cbiAgcHVibGljIGdldFNpdGVBbGxEYXRhKHNpdGVJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAvLyB0aGlzLmRhdGFQZW5kaW5nID0gdHJ1ZTtcbiAgICByZXR1cm4gZm9ya0pvaW4oW1xuICAgICAgdGhpcy5nZXRTaXRlKHNpdGVJZCksXG4gICAgICB0aGlzLmdldFNpdGVEZWZhdWx0cyhzaXRlSWQsIGZhbHNlKSxcbiAgICAgIC8vIHRoaXMuZ2V0RGV2aWNlVHlwZXMoc2l0ZUlkKSxcbiAgICAgIC8vIHRoaXMuZ2V0Vm9pY2VNYWlsVXNlclRlbXBsYXRlcyhzaXRlSWQpXG4gICAgXSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0U2l0ZShzaXRlSWQ6IG51bWJlciwgaXNFZGl0PzogYm9vbGVhbik6IE9ic2VydmFibGU8U2l0ZUludGVyZmFjZT4ge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZmV0Y2goQVBJLlNJVEUucmVwbGFjZSgnOnNpdGVJZCcsIFN0cmluZyhzaXRlSWQpKSwgbnVsbCwgZmFsc2UpO1xuICB9XG5cbiAgcHVibGljIGdldERldmljZVR5cGVzKHNpdGVJZDogbnVtYmVyIHwgc3RyaW5nKTogT2JzZXJ2YWJsZTxzdHJpbmdbXT4ge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZmV0Y2goQVBJLkRFVklDRV9UWVBFUy5yZXBsYWNlKCc6c2l0ZUlkJywgU3RyaW5nKHNpdGVJZCkpLCBudWxsLCB0cnVlKVxuICAgIC8vICAgLnBpcGUoXG4gICAgLy8gICAgIG1hcCgodHlwZXM6IHN0cmluZ1tdKSA9PiB7XG4gICAgLy8gICAgICAgICAvLyB0aGlzLmRldmljZVR5cGVzID0gdHlwZXMpXG4gICAgLy8gICAgIH0pXG4gICAgLy8gKTtcbiAgICAvLyAgIC5waXBlKHRoaXMuaGFuZGxlRXJyb3IoZmFsc2UsIHRydWUpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTaXRlRGVmYXVsdHMoc2l0ZUlkOiBudW1iZXIsIGRpcmVjdEFjY2VzczogYm9vbGVhbiwgc2hhcmVkTGluZVNpdGVJZHM/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFNpdGVEZWZhdWx0cz4ge1xuICAgIGNvbnN0IHBhcmFtcyA9IHsgZGlyZWN0QWNjZXNzOiBkaXJlY3RBY2Nlc3MgfTtcbiAgICAvLyBpZiAoc2hhcmVkTGluZVNpdGVJZHMpIHtcbiAgICAvLyAgIHBhcmFtc1snc2hhcmVkTGluZVNpdGVJZHMnXSA9IHNoYXJlZExpbmVTaXRlSWRzO1xuICAgIC8vIH1cbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmZldGNoKEFQSS5TSVRFX1NFVFRJTkdTLnJlcGxhY2UoJzpzaXRlSWQnLCBTdHJpbmcoc2l0ZUlkKSksIHBhcmFtcylcbiAgICAvLyAgIC5waXBlKG1hcCgoc2l0ZURlZmF1bHRzOiBTaXRlVGVtcGxhdGVJbnRlcmZhY2UpID0+IHtcbiAgICAvLyAgICAgLy8gdGhpcy5zaXRlRGVmYXVsdHMgPSBuZXcgU2l0ZURlZmF1bHRzKHNpdGVEZWZhdWx0cywgISFzaGFyZWRMaW5lU2l0ZUlkcyk7XG4gICAgLy8gICAgIC8vIGNvbnN0IGNvcGllZFNpdGVEZWZhdWx0cyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoc2l0ZURlZmF1bHRzKSk7XG4gICAgLy8gICAgIC8vIHRoaXMub3JpZ2luYWxTaXRlRGVmYXVsdHMgPSBuZXcgU2l0ZURlZmF1bHRzKGNvcGllZFNpdGVEZWZhdWx0cywgISFzaGFyZWRMaW5lU2l0ZUlkcyk7XG4gICAgLy8gICB9KSk7XG4gICAgLy8gICAucGlwZSh0aGlzLmhhbmRsZUVycm9yKHRydWUsIHRydWUpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRWb2ljZU1haWxVc2VyVGVtcGxhdGVzKHNpdGVJZDogbnVtYmVyKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5mZXRjaChBUEkuVk1fVVNFUl9URU1QTEFURVMucmVwbGFjZSgnOnNpdGVJZCcsIFN0cmluZyhzaXRlSWQpKSwgbnVsbCwgdHJ1ZSlcbiAgICAgIC5waXBlKG1hcCgodGVtcGxhdGVzOiBzdHJpbmdbXSkgPT4ge1xuICAgICAgICAvLyB0aGlzLnZvaWNlTWFpbFRlbXBsYXRlcyA9IHRlbXBsYXRlcztcbiAgICAgIH0pKTtcbiAgICAvLyAgIC5waXBlKHRoaXMuaGFuZGxlRXJyb3IoZmFsc2UsIHRydWUpKTtcbiAgfVxuXG4gIHB1YmxpYyBmZXRjaEFsbFVzZXJUZW1wbGF0ZXMoc2l0ZUlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFVzZXJUZW1wbGF0ZUludGVyZmFjZVtdPiB7XG4gICAgY29uc3QgcGFyYW1zID0ge1xuICAgICAgc2l0ZUlkOiBzaXRlSWQsXG4gICAgfTtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmZldGNoKEFQSS5VU0VSX1RFTVBMQVRFU19VUExPQURfTElTVCwgcGFyYW1zKVxuICAgICAgLnBpcGUodGFwKChyZXN1bHQ6IFVzZXJUZW1wbGF0ZUludGVyZmFjZVtdKSA9PiB7XG4gICAgICAgIHRoaXMudGVtcGxhdGVzTGlzdFN1YmplY3QkLm5leHQocmVzdWx0KTtcbiAgICAgIH0pKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRVc2VyVGVtcGxhdGVUb2tlbihpZDogc3RyaW5nLCBjdXN0b21lcklkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZmV0Y2goQVBJLlVTRVJfVEVNUExBVEVfVE9LRU4ucmVwbGFjZSgnOmN1c3RvbWVySWQnLCBjdXN0b21lcklkKS5yZXBsYWNlKCc6aWQnLCBpZCkpXG4gICAgLy8gLnBpcGUodGhpcy5oYW5kbGVFcnJvcihmYWxzZSwgdHJ1ZSkpO1xuICB9XG5cbiAgcHVibGljIGdldEF2YWlsYWJsZURuSW5SYW5nZXMoc2l0ZUlkOiBzdHJpbmcsIHBhcmFtczogYW55KTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmZldGNoKEFQSS5BVkFJTEFCTEVfRE5fSU5fUkFOR0VTLnJlcGxhY2UoJzpzaXRlSWQnLCBzaXRlSWQpLCBwYXJhbXMpO1xuICB9XG5cbiAgcHVibGljIGdldExkYXBVc2VycyhzaXRlSWQ6IHN0cmluZywgcGFyYW1zOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZmV0Y2goQVBJLkxEQVBfVVNFUlMucmVwbGFjZSgnOnNpdGVJZCcsIHNpdGVJZCksIHBhcmFtcyk7XG4gIH1cblxuICBwdWJsaWMgY2hlY2tVc2VySWRFeGlzdGluZyhzaXRlSWQ6IHN0cmluZywgdXNlcklkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZmV0Y2goQVBJLlVTRVJfQ0hFQ0tfSURfRVhJU1RJTkcucmVwbGFjZSgnOnNpdGVJZCcsIHNpdGVJZCkucmVwbGFjZSgnOnVzZXJJZCcsIHVzZXJJZCkpO1xuICB9XG5cbiAgcHVibGljIHNhdmVUZW1wbGF0ZVVzZXIodXNlcjogYW55LCB0ZW1wbGF0ZUlkOiBzdHJpbmcsIHNpdGVJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnBvc3QoQVBJLkNSRUFURV9ORVdfVVNFUl9GUk9NX1RFTVBMQVRFLCB1c2VyLCB7IHNpdGVJZDogc2l0ZUlkLCB0ZW1wbGF0ZUlkOiB0ZW1wbGF0ZUlkIH0pO1xuICB9XG5cbiAgcHVibGljIGdldERldmljZURlZmF1bHRzKHNpdGVJZDogc3RyaW5nLCBkZXZpY2VUeXBlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPERldmljZURlZmF1bHRzSW50ZXJmYWNlPiB7XG4gICAgY29uc3QgZW5jb2RlZFR5cGUgPSBlbmNvZGVVUklDb21wb25lbnQoZGV2aWNlVHlwZSk7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5mZXRjaChcbiAgICAgIEFQSS5ERVZJQ0VfREVGQVVMVFMucmVwbGFjZSgnOnNpdGVJZCcsIHNpdGVJZCkucmVwbGFjZSgnOmRldmljZVR5cGUnLCBlbmNvZGVkVHlwZSlcbiAgICApO1xuICB9XG59Il19
@@ -0,0 +1,23 @@
1
+ export function deviceNameValidator(options) {
2
+ return (control) => {
3
+ const raw = String(control.value ?? '').trim();
4
+ if (!raw || !options.regex?.trim()) {
5
+ return null;
6
+ }
7
+ try {
8
+ const rule = new RegExp(`^(?:${options.regex})$`);
9
+ if (!rule.test(raw)) {
10
+ return {
11
+ deviceName: {
12
+ caption: options.caption || options.regex,
13
+ },
14
+ };
15
+ }
16
+ }
17
+ catch {
18
+ return null;
19
+ }
20
+ return null;
21
+ };
22
+ }
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLW5hbWUtdmFsaWRhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2VyLWNyZWF0aW9uL3NyYy91dGlscy9kZXZpY2UtbmFtZS12YWxpZGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxPQUFtQztJQUNuRSxPQUFPLENBQUMsT0FBd0IsRUFBMkIsRUFBRTtRQUN6RCxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMvQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRTtZQUNoQyxPQUFPLElBQUksQ0FBQztTQUNmO1FBRUQsSUFBSTtZQUNBLE1BQU0sSUFBSSxHQUFHLElBQUksTUFBTSxDQUFDLE9BQU8sT0FBTyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUM7WUFDbEQsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ2pCLE9BQU87b0JBQ0gsVUFBVSxFQUFFO3dCQUNSLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLO3FCQUM1QztpQkFDSixDQUFDO2FBQ0w7U0FDSjtRQUFDLE1BQU07WUFDSixPQUFPLElBQUksQ0FBQztTQUNmO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQyxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGV2aWNlTmFtZVZhbGlkYXRvck9wdGlvbnMge1xuICAgIHJlZ2V4OiBzdHJpbmc7XG4gICAgY2FwdGlvbj86IHN0cmluZyB8IG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZXZpY2VOYW1lVmFsaWRhdG9yKG9wdGlvbnM6IERldmljZU5hbWVWYWxpZGF0b3JPcHRpb25zKTogVmFsaWRhdG9yRm4ge1xuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgICAgICBjb25zdCByYXcgPSBTdHJpbmcoY29udHJvbC52YWx1ZSA/PyAnJykudHJpbSgpO1xuICAgICAgICBpZiAoIXJhdyB8fCAhb3B0aW9ucy5yZWdleD8udHJpbSgpKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBydWxlID0gbmV3IFJlZ0V4cChgXig/OiR7b3B0aW9ucy5yZWdleH0pJGApO1xuICAgICAgICAgICAgaWYgKCFydWxlLnRlc3QocmF3KSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIGRldmljZU5hbWU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhcHRpb246IG9wdGlvbnMuY2FwdGlvbiB8fCBvcHRpb25zLnJlZ2V4LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9O1xufVxuIl19
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Strips a leading device-prefix group from `deviceNameRegex`, returning the pattern
3
+ * to validate the name field value (without matPrefix).
4
+ *
5
+ * - `([sS][eE][pP]|BAT)[0-9a-fA-F]{12}` → `[0-9a-fA-F]{12}`
6
+ * - `[a-zA-Z0-9]{1,15}` → `[a-zA-Z0-9]{1,15}` (unchanged)
7
+ */
8
+ export function parseDeviceNameRegexBody(deviceNameRegex) {
9
+ const fullRegex = deviceNameRegex?.trim() ?? '';
10
+ if (!fullRegex) {
11
+ return '';
12
+ }
13
+ return stripLeadingPrefixGroup(fullRegex);
14
+ }
15
+ function stripLeadingPrefixGroup(regex) {
16
+ const parenMatch = regex.match(/^(\(.+?\))(.+)$/s);
17
+ if (parenMatch?.[2]?.trim()) {
18
+ return parenMatch[2];
19
+ }
20
+ const literalMatch = regex.match(/^([A-Za-z]+)(\[.+\])$/s);
21
+ if (literalMatch?.[2]?.trim()) {
22
+ return literalMatch[2];
23
+ }
24
+ return regex;
25
+ }
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UtZGV2aWNlLW5hbWUtcnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2VyLWNyZWF0aW9uL3NyYy91dGlscy9wYXJzZS1kZXZpY2UtbmFtZS1ydWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxlQUEwQztJQUMvRSxNQUFNLFNBQVMsR0FBRyxlQUFlLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ2hELElBQUksQ0FBQyxTQUFTLEVBQUU7UUFDWixPQUFPLEVBQUUsQ0FBQztLQUNiO0lBRUQsT0FBTyx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUM5QyxDQUFDO0FBRUQsU0FBUyx1QkFBdUIsQ0FBQyxLQUFhO0lBQzFDLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNuRCxJQUFJLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFO1FBQ3pCLE9BQU8sVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ3hCO0lBRUQsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQzNELElBQUksWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUU7UUFDM0IsT0FBTyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDMUI7SUFFRCxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBTdHJpcHMgYSBsZWFkaW5nIGRldmljZS1wcmVmaXggZ3JvdXAgZnJvbSBgZGV2aWNlTmFtZVJlZ2V4YCwgcmV0dXJuaW5nIHRoZSBwYXR0ZXJuXG4gKiB0byB2YWxpZGF0ZSB0aGUgbmFtZSBmaWVsZCB2YWx1ZSAod2l0aG91dCBtYXRQcmVmaXgpLlxuICpcbiAqIC0gYChbc1NdW2VFXVtwUF18QkFUKVswLTlhLWZBLUZdezEyfWAg4oaSIGBbMC05YS1mQS1GXXsxMn1gXG4gKiAtIGBbYS16QS1aMC05XXsxLDE1fWAg4oaSIGBbYS16QS1aMC05XXsxLDE1fWAgKHVuY2hhbmdlZClcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlRGV2aWNlTmFtZVJlZ2V4Qm9keShkZXZpY2VOYW1lUmVnZXg6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpOiBzdHJpbmcge1xuICAgIGNvbnN0IGZ1bGxSZWdleCA9IGRldmljZU5hbWVSZWdleD8udHJpbSgpID8/ICcnO1xuICAgIGlmICghZnVsbFJlZ2V4KSB7XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICByZXR1cm4gc3RyaXBMZWFkaW5nUHJlZml4R3JvdXAoZnVsbFJlZ2V4KTtcbn1cblxuZnVuY3Rpb24gc3RyaXBMZWFkaW5nUHJlZml4R3JvdXAocmVnZXg6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgcGFyZW5NYXRjaCA9IHJlZ2V4Lm1hdGNoKC9eKFxcKC4rP1xcKSkoLispJC9zKTtcbiAgICBpZiAocGFyZW5NYXRjaD8uWzJdPy50cmltKCkpIHtcbiAgICAgICAgcmV0dXJuIHBhcmVuTWF0Y2hbMl07XG4gICAgfVxuXG4gICAgY29uc3QgbGl0ZXJhbE1hdGNoID0gcmVnZXgubWF0Y2goL14oW0EtWmEtel0rKShcXFsuK1xcXSkkL3MpO1xuICAgIGlmIChsaXRlcmFsTWF0Y2g/LlsyXT8udHJpbSgpKSB7XG4gICAgICAgIHJldHVybiBsaXRlcmFsTWF0Y2hbMl07XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlZ2V4O1xufVxuIl19