barsa-novin-ray-core 1.0.445 → 1.0.447
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/abstract-classes/field-base.mjs +1 -1
- package/esm2020/lib/abstract-classes/layout-panel-base.mjs +1 -1
- package/esm2020/lib/abstract-classes/models.mjs +1 -1
- package/esm2020/lib/abstract-classes/number-base.mjs +1 -1
- package/esm2020/lib/abstract-classes/report-base.mjs +1 -1
- package/esm2020/lib/abstract-classes/report-view-base.component.mjs +67 -8
- package/esm2020/lib/barsa-novin-ray-core.module.mjs +1 -1
- package/esm2020/lib/directives/body-click.directive.mjs +9 -4
- package/esm2020/lib/directives/fill-empty-space.mjs +1 -1
- package/esm2020/lib/directives/render-ulv-viewer.directive.mjs +1 -1
- package/esm2020/lib/dynamic-component/base-view-item-props.mjs +2 -2
- package/esm2020/lib/field-ui/field-ui.component.mjs +1 -1
- package/esm2020/lib/pipes/bbb-translate.pipe.mjs +1 -1
- package/esm2020/lib/pipes/combo-row-img.pipe.mjs +1 -1
- package/esm2020/lib/pipes/index.mjs +1 -1
- package/esm2020/lib/pipes/rownumber.pipe.mjs +1 -1
- package/esm2020/lib/redirect-home-guard.mjs +1 -1
- package/esm2020/lib/resolvers/portal-dynamic-page.resolver.mjs +1 -1
- package/esm2020/lib/root-portal/root-portal.component.mjs +39 -39
- package/esm2020/lib/services/form-panel.service.mjs +1 -1
- package/esm2020/lib/services/portal.service.mjs +1 -1
- package/esm2020/public-api.mjs +1 -1
- package/fesm2015/barsa-novin-ray-core.mjs +112 -48
- package/fesm2015/barsa-novin-ray-core.mjs.map +1 -1
- package/fesm2020/barsa-novin-ray-core.mjs +112 -48
- package/fesm2020/barsa-novin-ray-core.mjs.map +1 -1
- package/lib/abstract-classes/report-view-base.component.d.ts +8 -2
- package/lib/directives/body-click.directive.d.ts +2 -1
- package/package.json +1 -1
|
@@ -221,4 +221,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
221
221
|
type: HostBinding,
|
|
222
222
|
args: ['class.isMobile']
|
|
223
223
|
}] } });
|
|
224
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLW5vdmluLXJheS1jb3JlL3NyYy9saWIvYWJzdHJhY3QtY2xhc3Nlcy9maWVsZC1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixTQUFTLEVBTVQsdUJBQXVCLEVBRXZCLElBQUksRUFDSixRQUFRLEVBQ1IsTUFBTSxFQUNOLFdBQVcsRUFDZCxNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFakQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR3RELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFdkMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDOzs7Ozs7O0FBNEJqRCxNQUFNLE9BQWdCLGtCQUFtQixTQUFRLGFBQWE7SUEwQzFELFlBQ2MsY0FBNkIsRUFDN0IsUUFBMEIsRUFDMUIsWUFBb0MsRUFDcEMsWUFBeUIsRUFDekIsR0FBZSxFQUNmLElBQXVCLEVBQ3ZCLFVBQXFCLEVBQ3JCLGVBQStCLEVBQy9CLGFBQTJCLEVBQ1MsY0FBbUIsRUFDbkMsY0FBNkIsRUFDN0IsWUFBeUIsRUFDekIsY0FBcUMsRUFDckMsYUFBb0MsRUFDNUMsY0FBNkI7UUFFbkQsS0FBSyxFQUFFLENBQUM7UUFoQkUsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFDN0IsYUFBUSxHQUFSLFFBQVEsQ0FBa0I7UUFDMUIsaUJB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QUk7OzBCQUFJLFFBQVE7OzBCQUNoQixJQUFJOzswQkFBSSxRQUFROzswQkFDaEIsSUFBSTs7MEJBQUksUUFBUTs7MEJBQ2hCLElBQUk7OzBCQUFJLFFBQVE7OzBCQUNoQixRQUFROzRDQXhESixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFDd0IsUUFBUTtzQkFBdEMsV0FBVzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgQ29tcG9uZW50LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgT25Jbml0LFxuICAgIE9uRGVzdHJveSxcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIFJlbmRlcmVyMixcbiAgICBTZWxmLFxuICAgIE9wdGlvbmFsLFxuICAgIEluamVjdCxcbiAgICBIb3N0QmluZGluZ1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICcuL2Jhc2UuY29tcG9uZW50JztcbmltcG9ydCB7IERhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vZGF0ZS1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBESUFMT0dfU0VSVklDRSB9IGZyb20gJy4uL2luamRlY3Rpb24tdG9rZW5zJztcbmltcG9ydCB7IEJiYlRyYW5zbGF0ZVBpcGUsIE51bWVyYWxQaXBlLCBQaWN0dXJlRmllbGRTb3VyY2VQaXBlIH0gZnJvbSAnLi4vcGlwZXMnO1xuaW1wb3J0IHsgQXVkaW9SZWNvcmRpbmdTZXJ2aWNlLCBDb2x1bW5TZXJ2aWNlLCBQb3J0YWxTZXJ2aWNlLCBVcGxvYWRTZXJ2aWNlLCBWaWRlb1JlY29yZGluZ1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBCYXJzYUFwaSB9IGZyb20gJy4vYmFyc2EtYXBpJztcbmltcG9ydCB7IEdlbmVyYWxDb250cm9sSW5mb01vZGVsLCBBYmJyZXZhdGlvbkRldmljZVNpemUsIE1ldGFvYmplY3REYXRhTW9kZWwgfSBmcm9tICcuL21vZGVscyc7XG5pbXBvcnQgeyBnZXREZXZpY2VJc01vYmlsZSB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmllbGRTZXR0aW5nIHtcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgQ29udHJvbEZpZWxkQ2FwdGlvbjogc3RyaW5nO1xuICAgIENvbnRyb2xGaWVsZENhcHRpb25UcmFuc2xhdGVkOiBzdHJpbmc7XG4gICAgQ29udHJvbEZpZWxkRGVmSWQ6IHN0cmluZztcbiAgICBDb250cm9sTmFtZTogc3RyaW5nO1xuICAgIFJlbGF0ZWRGaWVsZExpc3Q6IFtdO1xuICAgIEhpZGU6IGJvb2xlYW47XG4gICAgeHR5cGU6IHN0cmluZztcbiAgICBMYWJlbFBvc2l0aW9uOiBzdHJpbmc7XG4gICAgSXNNYW5kYXRvcnk6IGJvb2xlYW47XG4gICAgSXNWaXNpYmxlOiBib29sZWFuO1xuICAgIFNob3dMYWJlbDogYm9vbGVhbjtcbiAgICBJc1JlYWRPbmx5OiBib29sZWFuO1xuICAgIElzRW5hYmxlZDogYm9vbGVhbjtcbiAgICBJc0JvbGQ6IGJvb2xlYW47XG4gICAgSXNBdXRvbWF0aWM6IGJvb2xlYW47XG4gICAgSnNvbkV4dHJhUHJvcDogYW55IHwgbnVsbDtcbiAgICBGaWVsZEljb246IHN0cmluZztcbiAgICBJc0x0cjogYm9vbGVhbjtcbn1cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYm5yYy1maWVsZC1iYXNlJyxcbiAgICB0ZW1wbGF0ZTogJycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRmllbGRCYXNlQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcbiAgICBASW5wdXQoKSBjb250ZXh0OiBhbnk7XG4gICAgQElucHV0KCkgZm9jdXNDb250cm9sOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGxheW91dEluZm86IGFueTtcbiAgICBASW5wdXQoKSB2YWx1ZTogYW55O1xuICAgIEBJbnB1dCgpIHdpZHRoOiBudW1iZXI7XG4gICAgQElucHV0KCkgaGVpZ2h0OiBudW1iZXI7XG4gICAgQElucHV0KCkgZm9ybUhlaWdodDogbnVtYmVyO1xuICAgIEBJbnB1dCgpIGlubGluZUVkaXQ6IGJvb2xlYW47XG4gICAgQElucHV0KCkgZm9ybUNvbnRhaW5lcjogSFRNTEVsZW1lbnQ7XG4gICAgQElucHV0KCkgaWQ6IHN0cmluZztcbiAgICBASW5wdXQoKSBwYXJhbWV0ZXM6IE1ldGFvYmplY3REYXRhTW9kZWw7XG4gICAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIGZvcm1tYXRlZFZhbHVlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pc01vYmlsZScpIGlzTW9iaWxlID0gZ2V0RGV2aWNlSXNNb2JpbGUoKTtcbiAgICBKc29uRXh0cmFQcm9wOiBhbnk7XG4gICAgcGFyYW1ldGVyczogYW55O1xuICAgIFNldHRpbmc6IEdlbmVyYWxDb250cm9sSW5mb01vZGVsO1xuICAgIHJlZnJlc2gkOiBPYnNlcnZhYmxlPGFueT47XG4gICAgdmFsdWUkOiBPYnNlcnZhYmxlPGFueT47XG4gICAgZGlzYWJsZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgcmVhZG9ubHkkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIGRpc2FibGVPclJlYWRvbmx5JDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBkZXZpY2VTaXplJDogT2JzZXJ2YWJsZTxBYmJyZXZhdGlvbkRldmljZVNpemU+O1xuICAgIGVsOiBhbnk7XG4gICAgbW9iaWxlQ29uZmlnOiBhbnkgPSB7XG4gICAgICAgIHRpdGxlOiAn2KfZhtiq2K7Yp9ioJyxcbiAgICAgICAgYXBwcm92ZUJ1dHRvblRleHQ6ICfYqtin24zbjNivJyxcbiAgICAgICAgY2FuY2VsQnV0dG9uVGV4dDogJ9in2YbYtdix2KfZgScsXG4gICAgICAgIGhhc0Nsb3NlQnV0dG9uOiB0cnVlLFxuICAgICAgICBkaWFsb2dDb25maWc6IHtcbiAgICAgICAgICAgIGFyaWFMYWJlbDogJ9in2YbYqtiu2KfYqCdcbiAgICAgICAgfVxuICAgIH07XG4gICAgZ2V0IGN1c3RvbUZpZWxkSW5mbygpOiBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGV4dC5TZXR0aW5nLkN1c3RvbUZpZWxkSW5mbztcbiAgICB9XG4gICAgcHJpdmF0ZSBfcmVmcmVzaFNvdXJjZSA9IG5ldyBTdWJqZWN0PGFueT4oKTtcbiAgICBwcml2YXRlIF92YWx1ZUNoYW5nZWRTb3VyY2UgPSBuZXcgU3ViamVjdDxhbnk+KCk7XG4gICAgcHJpdmF0ZSBfZGlzYWJsZUNoYW5nZWRTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgICBwcml2YXRlIF9yZWFkb25seUNoYW5nZWRTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgX3BvcnRhbFNlcnZpY2U6IFBvcnRhbFNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBfYmJiUGlwZTogQmJiVHJhbnNsYXRlUGlwZSxcbiAgICAgICAgcHJvdGVjdGVkIF9waWNGaWVsZFNyYzogUGljdHVyZUZpZWxkU291cmNlUGlwZSxcbiAgICAgICAgcHJvdGVjdGVkIF9udW1lcmFsUGlwZTogTnVtZXJhbFBpcGUsXG4gICAgICAgIHByb3RlY3RlZCBfZWw6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByb3RlY3RlZCBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJvdGVjdGVkIF9yZW5kZXJlcjI6IFJlbmRlcmVyMixcbiAgICAgICAgcHJvdGVjdGVkIF9hY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgIHByb3RlY3RlZCBfZG9tU2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRElBTE9HX1NFUlZJQ0UpIHByb3RlY3RlZCBfZGlhbG9nU2VydmljZTogYW55LFxuICAgICAgICBAU2VsZigpIEBPcHRpb25hbCgpIHByb3RlY3RlZCBfdXBsb2FkU2VydmljZTogVXBsb2FkU2VydmljZSxcbiAgICAgICAgQFNlbGYoKSBAT3B0aW9uYWwoKSBwcm90ZWN0ZWQgX2RhdGVTZXJ2aWNlOiBEYXRlU2VydmljZSxcbiAgICAgICAgQFNlbGYoKSBAT3B0aW9uYWwoKSBwcm90ZWN0ZWQgX2F1ZGlvUmVjb3JkZXI6IEF1ZGlvUmVjb3JkaW5nU2VydmljZSxcbiAgICAgICAgQFNlbGYoKSBAT3B0aW9uYWwoKSBwcm90ZWN0ZWQgX3ZpZGVvUmVjb2RlcjogVmlkZW9SZWNvcmRpbmdTZXJ2aWNlLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcm90ZWN0ZWQgX2NvbHVtblNlcnZpY2U6IENvbHVtblNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5yZWZyZXNoJCA9IHRoaXMuX3JlZnJlc2hTb3VyY2UuYXNPYnNlcnZhYmxlKCkucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpO1xuICAgICAgICB0aGlzLnZhbHVlJCA9IHRoaXMuX3ZhbHVlQ2hhbmdlZFNvdXJjZS5hc09ic2VydmFibGUoKS5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSk7XG4gICAgICAgIHRoaXMuZGV2aWNlU2l6ZSQgPSB0aGlzLl9wb3J0YWxTZXJ2aWNlLmRldmljZVNpemUkO1xuICAgICAgICB0aGlzLmRpc2FibGUkID0gdGhpcy5fZGlzYWJsZUNoYW5nZWRTb3VyY2VcbiAgICAgICAgICAgIC5hc09ic2VydmFibGUoKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcbiAgICAgICAgdGhpcy5yZWFkb25seSQgPSB0aGlzLl9yZWFkb25seUNoYW5nZWRTb3VyY2VcbiAgICAgICAgICAgIC5hc09ic2VydmFibGUoKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcbiAgICAgICAgdGhpcy5kaXNhYmxlT3JSZWFkb25seSQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnJlYWRvbmx5JCwgdGhpcy5kaXNhYmxlJF0pLnBpcGUoXG4gICAgICAgICAgICBtYXAoKFtkaXNhYmxlLCByZWFkb25seV0pID0+IGRpc2FibGUgfHwgcmVhZG9ubHkpLFxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgICApO1xuICAgICAgICB0aGlzLmVsID0gX2VsO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICBpZiAodGhpcy5jb250ZXh0KSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRleHQuZG9tID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgICAgICAvLyB0aGlzLmNvbnRleHQucmVuZGVyZWQgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5TZXR0aW5nID0gdGhpcy5jb250ZXh0ID8gdGhpcy5jb250ZXh0LlNldHRpbmcgOiBudWxsO1xuICAgICAgICAgICAgY29uc3QgcmVhZG9ubHkgPSB0aGlzLmNvbnRleHQ/LnJlYWRPbmx5O1xuICAgICAgICAgICAgdGhpcy5fc2V0UmVhZG9ubHkocmVhZG9ubHksIGZhbHNlKTtcbiAgICAgICAgICAgIHRoaXMuX3NldERpc2FibGUodGhpcy5jb250ZXh0LmRpc2FibGUsIGZhbHNlKTtcbiAgICAgICAgICAgIC8vIHRoaXMucGFyYW1ldGVycyA9IEJhcnNhQXBpLkNvbW1vbi5VdGlsLlRyeUdldFZhbHVlKHRoaXMuY29udGV4dCwgJ1NldHRpbmcuQ3VzdG9tVWkuUGFyYW1ldGVycycsIG51bGwpO1xuICAgICAgICAgICAgLy8gaWYgKCF0aGlzLnBhcmFtZXRlcnMpIHtcbiAgICAgICAgICAgIC8vICAgICB0aGlzLnBhcmFtZXRlcnMgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZSh0aGlzLmNvbnRleHQsICdTZXR0aW5nLkN1c3RvbVVpLlNldHRpbmdzJywgbnVsbCk7XG4gICAgICAgICAgICAvLyB9XG4gICAgICAgICAgICB0aGlzLkpzb25FeHRyYVByb3AgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZSh0aGlzLmNvbnRleHQsICdTZXR0aW5nLkpzb25FeHRyYVByb3AnLCBudWxsKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9hZGRMaXN0ZW5lcigpO1xuICAgICAgICB0aGlzLl9zZXRNb2JpbGVDb25maWcoKTtcbiAgICB9XG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgICAgIHRoaXMuX3JlbW92ZUxpc3RlbmVyKCk7XG4gICAgfVxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XG4gICAgICAgIHRoaXMuX2NvbHVtblNlcnZpY2U/LmNvbnRyb2xSZW5kZXJlZCgpO1xuICAgICAgICBpZiAodGhpcy5mb2N1c0NvbnRyb2wpIHtcbiAgICAgICAgICAgIGNvbnN0IGVsRG9tID0gdGhpcy5fZWwubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICAgIGNvbnN0IGZvY3VzYWJsZU5vZGVMaXN0OiBOb2RlTGlzdE9mPEhUTUxFbGVtZW50PiA9IGVsRG9tLnF1ZXJ5U2VsZWN0b3JBbGwoXG4gICAgICAgICAgICAgICAgJyBidXR0b24sIFtocmVmXSwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIFt0YWJpbmRleF06bm90KFt0YWJpbmRleD3igJ0tMeKAs10pJ1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGxldCBmb2N1c2VkID0gZmFsc2U7XG4gICAgICAgICAgICBmb2N1c2FibGVOb2RlTGlzdC5mb3JFYWNoKChlbDogSFRNTEVsZW1lbnQpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB0YWdOYW1lOiBzdHJpbmcgPSBlbC50YWdOYW1lLnRvTG9jYWxlTG93ZXJDYXNlKCk7XG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAhZm9jdXNlZCAmJlxuICAgICAgICAgICAgICAgICAgICBlbC5vZmZzZXRXaWR0aCA+IDAgJiZcbiAgICAgICAgICAgICAgICAgICAgZWwub2Zmc2V0SGVpZ2h0ID4gMCAmJlxuICAgICAgICAgICAgICAgICAgICBlbC5nZXRBdHRyaWJ1dGUoJ2Rpc2FibGVkJykgIT09ICd0cnVlJyAmJlxuICAgICAgICAgICAgICAgICAgICBlbC5nZXRBdHRyaWJ1dGUoJ25nLXJlZmxlY3QtZGlzYWJsZWQnKSAhPT0gJ3RydWUnICYmXG4gICAgICAgICAgICAgICAgICAgICF0YWdOYW1lLnN0YXJ0c1dpdGgoJ2ZkcCcpXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIGVsLmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgICAgIGZvY3VzZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZmlyZUNvbnRleHRFdmVudChldmVudDogc3RyaW5nLCB2YWx1ZTogYW55LCB2YWx1ZTE/OiBhbnksIHZhbHVlMj86IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbnRleHQuZmlyZUV2ZW50KGV2ZW50LCB2YWx1ZSwgdmFsdWUxLCB2YWx1ZTIpO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgX3NldE1vYmlsZUNvbmZpZygpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbW9iaWxlQ29uZmlnID0gdGhpcy5tb2JpbGVDb25maWc7XG4gICAgICAgIG1vYmlsZUNvbmZpZy50aXRsZSA9IHRoaXMuU2V0dGluZz8uQ29udHJvbEZpZWxkQ2FwdGlvblRyYW5zbGF0ZWQ7XG4gICAgICAgIG1vYmlsZUNvbmZpZy5kaWFsb2dDb25maWcgJiYgKG1vYmlsZUNvbmZpZy5kaWFsb2dDb25maWcuYXJpYUxhYmVsID0gbW9iaWxlQ29uZmlnLnRpdGxlKTtcbiAgICAgICAgbW9iaWxlQ29uZmlnLmFwcHJvdmVCdXR0b25UZXh0ID0gdGhpcy5fYmJiUGlwZS50cmFuc2Zvcm0oJ09rJyk7XG4gICAgICAgIG1vYmlsZUNvbmZpZy5jYW5jZWxCdXR0b25UZXh0ID0gdGhpcy5fYmJiUGlwZS50cmFuc2Zvcm0oJ0NhbmNlbCcpO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgX2FkZExpc3RlbmVyKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jb250ZXh0ICYmIHRoaXMuY29udGV4dC5vbikge1xuICAgICAgICAgICAgdGhpcy5jb250ZXh0Lm9uKHtcbiAgICAgICAgICAgICAgICBDb250cm9sVmFsdWVDaGFuZ2VkOiB0aGlzLl9zZXRWYWx1ZS5iaW5kKHRoaXMpLFxuICAgICAgICAgICAgICAgIENvbnRyb2xEaXNhYmxlQ2hhbmdlZDogdGhpcy5fc2V0RGlzYWJsZS5iaW5kKHRoaXMpLFxuICAgICAgICAgICAgICAgIENvbnRyb2xSZWFkb25seUNoYW5nZWQ6IHRoaXMuX3NldFJlYWRvbmx5LmJpbmQodGhpcyksXG4gICAgICAgICAgICAgICAgQ29udHJvbFJlZnJlc2g6IHRoaXMuX3NldFJlZnJlc2guYmluZCh0aGlzKSxcbiAgICAgICAgICAgICAgICBDb25maWdDaGFuZ2VkOiB0aGlzLl9jb25maWdDaGFuZWQuYmluZCh0aGlzKVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcHJvdGVjdGVkIF9yZW1vdmVMaXN0ZW5lcigpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY29udGV4dCAmJiB0aGlzLmNvbnRleHQudW4pIHtcbiAgICAgICAgICAgIHRoaXMuY29udGV4dC51bignQ29udHJvbFZhbHVlQ2hhbmdlZCcsIHRoaXMuX3NldFZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMuY29udGV4dC51bignQ29udHJvbERpc2FibGVDaGFuZ2VkJywgdGhpcy5fc2V0RGlzYWJsZSk7XG4gICAgICAgICAgICB0aGlzLmNvbnRleHQudW4oJ0NvbnRyb2xSZWFkb25seUNoYW5nZWQnLCB0aGlzLl9zZXRSZWFkb25seSk7XG4gICAgICAgICAgICB0aGlzLmNvbnRleHQudW4oJ0NvbnRyb2xSZWZyZXNoJywgdGhpcy5fc2V0UmVmcmVzaCk7XG4gICAgICAgICAgICB0aGlzLmNvbnRleHQudW4oJ0NvbmZpZ0NoYW5nZWQnLCB0aGlzLl9jb25maWdDaGFuZWQpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHByb3RlY3RlZCBfY29uZmlnQ2hhbmVkKG9wdGlvbnMpOiB2b2lkIHtcbiAgICAgICAgLy8gaW1wbGVtZW50ZWQgYnkgY2hpbGQgY29tcG9uZW50c1xuICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgX3NldFZhbHVlKHZhbHVlKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5fdmFsdWVDaGFuZ2VkU291cmNlLm5leHQodmFsdWUpO1xuICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgX3NldFJlZnJlc2godmFsdWUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcmVmcmVzaFNvdXJjZS5uZXh0KHZhbHVlKTtcbiAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9zZXREaXNhYmxlKHZhbHVlLCBjaGFuZ2VEZXRlY3QgPSB0cnVlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2Rpc2FibGVDaGFuZ2VkU291cmNlLm5leHQodmFsdWUpO1xuICAgICAgICBpZiAoY2hhbmdlRGV0ZWN0KSB7XG4gICAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHByb3RlY3RlZCBfc2V0UmVhZG9ubHkodmFsdWUsIGNoYW5nZURldGVjdCA9IHRydWUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcmVhZG9ubHlDaGFuZ2VkU291cmNlLm5leHQodmFsdWUpO1xuICAgICAgICBpZiAoY2hhbmdlRGV0ZWN0KSB7XG4gICAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
224
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLW5vdmluLXJheS1jb3JlL3NyYy9saWIvYWJzdHJhY3QtY2xhc3Nlcy9maWVsZC1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixTQUFTLEVBTVQsdUJBQXVCLEVBRXZCLElBQUksRUFDSixRQUFRLEVBQ1IsTUFBTSxFQUNOLFdBQVcsRUFDZCxNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFakQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR3RELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFdkMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDOzs7Ozs7O0FBNEJqRCxNQUFNLE9BQWdCLGtCQUFtQixTQUFRLGFBQWE7SUEwQzFELFlBQ2MsY0FBNkIsRUFDN0IsUUFBMEIsRUFDMUIsWUFBb0MsRUFDcEMsWUFBeUIsRUFDekIsR0FBZSxFQUNmLElBQXVCLEVBQ3ZCLFVBQXFCLEVBQ3JCLGVBQStCLEVBQy9CLGFBQTJCLEVBQ1MsY0FBbUIsRUFDbkMsY0FBNkIsRUFDN0IsWUFBeUIsRUFDekIsY0FBcUMsRUFDckMsYUFBb0MsRUFDNUMsY0FBNkI7UUFFbkQsS0FBSyxFQUFFLENBQUM7UUFoQkUsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFDN0IsYUFBUSxHQUFSLFFBQVEsQ0FBa0I7UUFDMUIsaUJB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QUk7OzBCQUFJLFFBQVE7OzBCQUNoQixJQUFJOzswQkFBSSxRQUFROzswQkFDaEIsSUFBSTs7MEJBQUksUUFBUTs7MEJBQ2hCLElBQUk7OzBCQUFJLFFBQVE7OzBCQUNoQixRQUFROzRDQXhESixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFDd0IsUUFBUTtzQkFBdEMsV0FBVzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgSW5wdXQsXHJcbiAgICBPdXRwdXQsXHJcbiAgICBFdmVudEVtaXR0ZXIsXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIEVsZW1lbnRSZWYsXHJcbiAgICBPbkluaXQsXHJcbiAgICBPbkRlc3Ryb3ksXHJcbiAgICBBZnRlclZpZXdJbml0LFxyXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgICBSZW5kZXJlcjIsXHJcbiAgICBTZWxmLFxyXG4gICAgT3B0aW9uYWwsXHJcbiAgICBJbmplY3QsXHJcbiAgICBIb3N0QmluZGluZ1xyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEYXRlU2VydmljZSB9IGZyb20gJy4uL2RhdGUtc2VydmljZXMnO1xyXG5pbXBvcnQgeyBESUFMT0dfU0VSVklDRSB9IGZyb20gJy4uL2luamRlY3Rpb24tdG9rZW5zJztcclxuaW1wb3J0IHsgQmJiVHJhbnNsYXRlUGlwZSwgTnVtZXJhbFBpcGUsIFBpY3R1cmVGaWVsZFNvdXJjZVBpcGUgfSBmcm9tICcuLi9waXBlcyc7XHJcbmltcG9ydCB7IEF1ZGlvUmVjb3JkaW5nU2VydmljZSwgQ29sdW1uU2VydmljZSwgUG9ydGFsU2VydmljZSwgVXBsb2FkU2VydmljZSwgVmlkZW9SZWNvcmRpbmdTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBCYXJzYUFwaSB9IGZyb20gJy4vYmFyc2EtYXBpJztcclxuaW1wb3J0IHsgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwsIEFiYnJldmF0aW9uRGV2aWNlU2l6ZSwgTWV0YW9iamVjdERhdGFNb2RlbCB9IGZyb20gJy4vbW9kZWxzJztcclxuaW1wb3J0IHsgZ2V0RGV2aWNlSXNNb2JpbGUgfSBmcm9tICcuLi9jb25zdGFudHMnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGaWVsZFNldHRpbmcge1xyXG4gICAgW2tleTogc3RyaW5nXTogYW55O1xyXG4gICAgQ29udHJvbEZpZWxkQ2FwdGlvbjogc3RyaW5nO1xyXG4gICAgQ29udHJvbEZpZWxkQ2FwdGlvblRyYW5zbGF0ZWQ6IHN0cmluZztcclxuICAgIENvbnRyb2xGaWVsZERlZklkOiBzdHJpbmc7XHJcbiAgICBDb250cm9sTmFtZTogc3RyaW5nO1xyXG4gICAgUmVsYXRlZEZpZWxkTGlzdDogW107XHJcbiAgICBIaWRlOiBib29sZWFuO1xyXG4gICAgeHR5cGU6IHN0cmluZztcclxuICAgIExhYmVsUG9zaXRpb246IHN0cmluZztcclxuICAgIElzTWFuZGF0b3J5OiBib29sZWFuO1xyXG4gICAgSXNWaXNpYmxlOiBib29sZWFuO1xyXG4gICAgU2hvd0xhYmVsOiBib29sZWFuO1xyXG4gICAgSXNSZWFkT25seTogYm9vbGVhbjtcclxuICAgIElzRW5hYmxlZDogYm9vbGVhbjtcclxuICAgIElzQm9sZDogYm9vbGVhbjtcclxuICAgIElzQXV0b21hdGljOiBib29sZWFuO1xyXG4gICAgSnNvbkV4dHJhUHJvcDogYW55IHwgbnVsbDtcclxuICAgIEZpZWxkSWNvbjogc3RyaW5nO1xyXG4gICAgSXNMdHI6IGJvb2xlYW47XHJcbn1cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JucmMtZmllbGQtYmFzZScsXHJcbiAgICB0ZW1wbGF0ZTogJycsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRmllbGRCYXNlQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcclxuICAgIEBJbnB1dCgpIGNvbnRleHQ6IGFueTtcclxuICAgIEBJbnB1dCgpIGZvY3VzQ29udHJvbDogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIGxheW91dEluZm86IGFueTtcclxuICAgIEBJbnB1dCgpIHZhbHVlOiBhbnk7XHJcbiAgICBASW5wdXQoKSB3aWR0aDogbnVtYmVyO1xyXG4gICAgQElucHV0KCkgaGVpZ2h0OiBudW1iZXI7XHJcbiAgICBASW5wdXQoKSBmb3JtSGVpZ2h0OiBudW1iZXI7XHJcbiAgICBASW5wdXQoKSBpbmxpbmVFZGl0OiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgZm9ybUNvbnRhaW5lcjogSFRNTEVsZW1lbnQ7XHJcbiAgICBASW5wdXQoKSBpZDogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgcGFyYW1ldGVzOiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xyXG4gICAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgICBAT3V0cHV0KCkgZm9ybW1hdGVkVmFsdWUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaXNNb2JpbGUnKSBpc01vYmlsZSA9IGdldERldmljZUlzTW9iaWxlKCk7XHJcbiAgICBKc29uRXh0cmFQcm9wOiBhbnk7XHJcbiAgICBwYXJhbWV0ZXJzOiBhbnk7XHJcbiAgICBTZXR0aW5nOiBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbDtcclxuICAgIHJlZnJlc2gkOiBPYnNlcnZhYmxlPGFueT47XHJcbiAgICB2YWx1ZSQ6IE9ic2VydmFibGU8YW55PjtcclxuICAgIGRpc2FibGUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gICAgcmVhZG9ubHkkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gICAgZGlzYWJsZU9yUmVhZG9ubHkkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gICAgZGV2aWNlU2l6ZSQ6IE9ic2VydmFibGU8QWJicmV2YXRpb25EZXZpY2VTaXplPjtcclxuICAgIGVsOiBhbnk7XHJcbiAgICBtb2JpbGVDb25maWc6IGFueSA9IHtcclxuICAgICAgICB0aXRsZTogJ9in2YbYqtiu2KfYqCcsXHJcbiAgICAgICAgYXBwcm92ZUJ1dHRvblRleHQ6ICfYqtin24zbjNivJyxcclxuICAgICAgICBjYW5jZWxCdXR0b25UZXh0OiAn2KfZhti12LHYp9mBJyxcclxuICAgICAgICBoYXNDbG9zZUJ1dHRvbjogdHJ1ZSxcclxuICAgICAgICBkaWFsb2dDb25maWc6IHtcclxuICAgICAgICAgICAgYXJpYUxhYmVsOiAn2KfZhtiq2K7Yp9ioJ1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICBnZXQgY3VzdG9tRmllbGRJbmZvKCk6IE1ldGFvYmplY3REYXRhTW9kZWwge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRleHQuU2V0dGluZy5DdXN0b21GaWVsZEluZm87XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF9yZWZyZXNoU291cmNlID0gbmV3IFN1YmplY3Q8YW55PigpO1xyXG4gICAgcHJpdmF0ZSBfdmFsdWVDaGFuZ2VkU291cmNlID0gbmV3IFN1YmplY3Q8YW55PigpO1xyXG4gICAgcHJpdmF0ZSBfZGlzYWJsZUNoYW5nZWRTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcclxuICAgIHByaXZhdGUgX3JlYWRvbmx5Q2hhbmdlZFNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByb3RlY3RlZCBfcG9ydGFsU2VydmljZTogUG9ydGFsU2VydmljZSxcclxuICAgICAgICBwcm90ZWN0ZWQgX2JiYlBpcGU6IEJiYlRyYW5zbGF0ZVBpcGUsXHJcbiAgICAgICAgcHJvdGVjdGVkIF9waWNGaWVsZFNyYzogUGljdHVyZUZpZWxkU291cmNlUGlwZSxcclxuICAgICAgICBwcm90ZWN0ZWQgX251bWVyYWxQaXBlOiBOdW1lcmFsUGlwZSxcclxuICAgICAgICBwcm90ZWN0ZWQgX2VsOiBFbGVtZW50UmVmLFxyXG4gICAgICAgIHByb3RlY3RlZCBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgICAgICBwcm90ZWN0ZWQgX3JlbmRlcmVyMjogUmVuZGVyZXIyLFxyXG4gICAgICAgIHByb3RlY3RlZCBfYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgICAgIHByb3RlY3RlZCBfZG9tU2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXHJcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChESUFMT0dfU0VSVklDRSkgcHJvdGVjdGVkIF9kaWFsb2dTZXJ2aWNlOiBhbnksXHJcbiAgICAgICAgQFNlbGYoKSBAT3B0aW9uYWwoKSBwcm90ZWN0ZWQgX3VwbG9hZFNlcnZpY2U6IFVwbG9hZFNlcnZpY2UsXHJcbiAgICAgICAgQFNlbGYoKSBAT3B0aW9uYWwoKSBwcm90ZWN0ZWQgX2RhdGVTZXJ2aWNlOiBEYXRlU2VydmljZSxcclxuICAgICAgICBAU2VsZigpIEBPcHRpb25hbCgpIHByb3RlY3RlZCBfYXVkaW9SZWNvcmRlcjogQXVkaW9SZWNvcmRpbmdTZXJ2aWNlLFxyXG4gICAgICAgIEBTZWxmKCkgQE9wdGlvbmFsKCkgcHJvdGVjdGVkIF92aWRlb1JlY29kZXI6IFZpZGVvUmVjb3JkaW5nU2VydmljZSxcclxuICAgICAgICBAT3B0aW9uYWwoKSBwcm90ZWN0ZWQgX2NvbHVtblNlcnZpY2U6IENvbHVtblNlcnZpY2VcclxuICAgICkge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgICAgdGhpcy5yZWZyZXNoJCA9IHRoaXMuX3JlZnJlc2hTb3VyY2UuYXNPYnNlcnZhYmxlKCkucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpO1xyXG4gICAgICAgIHRoaXMudmFsdWUkID0gdGhpcy5fdmFsdWVDaGFuZ2VkU291cmNlLmFzT2JzZXJ2YWJsZSgpLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKTtcclxuICAgICAgICB0aGlzLmRldmljZVNpemUkID0gdGhpcy5fcG9ydGFsU2VydmljZS5kZXZpY2VTaXplJDtcclxuICAgICAgICB0aGlzLmRpc2FibGUkID0gdGhpcy5fZGlzYWJsZUNoYW5nZWRTb3VyY2VcclxuICAgICAgICAgICAgLmFzT2JzZXJ2YWJsZSgpXHJcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XHJcbiAgICAgICAgdGhpcy5yZWFkb25seSQgPSB0aGlzLl9yZWFkb25seUNoYW5nZWRTb3VyY2VcclxuICAgICAgICAgICAgLmFzT2JzZXJ2YWJsZSgpXHJcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XHJcbiAgICAgICAgdGhpcy5kaXNhYmxlT3JSZWFkb25seSQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnJlYWRvbmx5JCwgdGhpcy5kaXNhYmxlJF0pLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcCgoW2Rpc2FibGUsIHJlYWRvbmx5XSkgPT4gZGlzYWJsZSB8fCByZWFkb25seSksXHJcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMuZWwgPSBfZWw7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICBpZiAodGhpcy5jb250ZXh0KSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29udGV4dC5kb20gPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XHJcblxyXG4gICAgICAgICAgICAvLyB0aGlzLmNvbnRleHQucmVuZGVyZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLlNldHRpbmcgPSB0aGlzLmNvbnRleHQgPyB0aGlzLmNvbnRleHQuU2V0dGluZyA6IG51bGw7XHJcbiAgICAgICAgICAgIGNvbnN0IHJlYWRvbmx5ID0gdGhpcy5jb250ZXh0Py5yZWFkT25seTtcclxuICAgICAgICAgICAgdGhpcy5fc2V0UmVhZG9ubHkocmVhZG9ubHksIGZhbHNlKTtcclxuICAgICAgICAgICAgdGhpcy5fc2V0RGlzYWJsZSh0aGlzLmNvbnRleHQuZGlzYWJsZSwgZmFsc2UpO1xyXG4gICAgICAgICAgICAvLyB0aGlzLnBhcmFtZXRlcnMgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZSh0aGlzLmNvbnRleHQsICdTZXR0aW5nLkN1c3RvbVVpLlBhcmFtZXRlcnMnLCBudWxsKTtcclxuICAgICAgICAgICAgLy8gaWYgKCF0aGlzLnBhcmFtZXRlcnMpIHtcclxuICAgICAgICAgICAgLy8gICAgIHRoaXMucGFyYW1ldGVycyA9IEJhcnNhQXBpLkNvbW1vbi5VdGlsLlRyeUdldFZhbHVlKHRoaXMuY29udGV4dCwgJ1NldHRpbmcuQ3VzdG9tVWkuU2V0dGluZ3MnLCBudWxsKTtcclxuICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICB0aGlzLkpzb25FeHRyYVByb3AgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZSh0aGlzLmNvbnRleHQsICdTZXR0aW5nLkpzb25FeHRyYVByb3AnLCBudWxsKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5fYWRkTGlzdGVuZXIoKTtcclxuICAgICAgICB0aGlzLl9zZXRNb2JpbGVDb25maWcoKTtcclxuICAgIH1cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XHJcbiAgICAgICAgdGhpcy5fcmVtb3ZlTGlzdGVuZXIoKTtcclxuICAgIH1cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcclxuICAgICAgICB0aGlzLl9jb2x1bW5TZXJ2aWNlPy5jb250cm9sUmVuZGVyZWQoKTtcclxuICAgICAgICBpZiAodGhpcy5mb2N1c0NvbnRyb2wpIHtcclxuICAgICAgICAgICAgY29uc3QgZWxEb20gPSB0aGlzLl9lbC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xyXG4gICAgICAgICAgICBjb25zdCBmb2N1c2FibGVOb2RlTGlzdDogTm9kZUxpc3RPZjxIVE1MRWxlbWVudD4gPSBlbERvbS5xdWVyeVNlbGVjdG9yQWxsKFxyXG4gICAgICAgICAgICAgICAgJyBidXR0b24sIFtocmVmXSwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIFt0YWJpbmRleF06bm90KFt0YWJpbmRleD3igJ0tMeKAs10pJ1xyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICBsZXQgZm9jdXNlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICBmb2N1c2FibGVOb2RlTGlzdC5mb3JFYWNoKChlbDogSFRNTEVsZW1lbnQpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHRhZ05hbWU6IHN0cmluZyA9IGVsLnRhZ05hbWUudG9Mb2NhbGVMb3dlckNhc2UoKTtcclxuICAgICAgICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgICAgICAgICAhZm9jdXNlZCAmJlxyXG4gICAgICAgICAgICAgICAgICAgIGVsLm9mZnNldFdpZHRoID4gMCAmJlxyXG4gICAgICAgICAgICAgICAgICAgIGVsLm9mZnNldEhlaWdodCA+IDAgJiZcclxuICAgICAgICAgICAgICAgICAgICBlbC5nZXRBdHRyaWJ1dGUoJ2Rpc2FibGVkJykgIT09ICd0cnVlJyAmJlxyXG4gICAgICAgICAgICAgICAgICAgIGVsLmdldEF0dHJpYnV0ZSgnbmctcmVmbGVjdC1kaXNhYmxlZCcpICE9PSAndHJ1ZScgJiZcclxuICAgICAgICAgICAgICAgICAgICAhdGFnTmFtZS5zdGFydHNXaXRoKCdmZHAnKVxyXG4gICAgICAgICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZWwuZm9jdXMoKTtcclxuICAgICAgICAgICAgICAgICAgICBmb2N1c2VkID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGZpcmVDb250ZXh0RXZlbnQoZXZlbnQ6IHN0cmluZywgdmFsdWU6IGFueSwgdmFsdWUxPzogYW55LCB2YWx1ZTI/OiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNvbnRleHQuZmlyZUV2ZW50KGV2ZW50LCB2YWx1ZSwgdmFsdWUxLCB2YWx1ZTIpO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF9zZXRNb2JpbGVDb25maWcoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgbW9iaWxlQ29uZmlnID0gdGhpcy5tb2JpbGVDb25maWc7XHJcbiAgICAgICAgbW9iaWxlQ29uZmlnLnRpdGxlID0gdGhpcy5TZXR0aW5nPy5Db250cm9sRmllbGRDYXB0aW9uVHJhbnNsYXRlZDtcclxuICAgICAgICBtb2JpbGVDb25maWcuZGlhbG9nQ29uZmlnICYmIChtb2JpbGVDb25maWcuZGlhbG9nQ29uZmlnLmFyaWFMYWJlbCA9IG1vYmlsZUNvbmZpZy50aXRsZSk7XHJcbiAgICAgICAgbW9iaWxlQ29uZmlnLmFwcHJvdmVCdXR0b25UZXh0ID0gdGhpcy5fYmJiUGlwZS50cmFuc2Zvcm0oJ09rJyk7XHJcbiAgICAgICAgbW9iaWxlQ29uZmlnLmNhbmNlbEJ1dHRvblRleHQgPSB0aGlzLl9iYmJQaXBlLnRyYW5zZm9ybSgnQ2FuY2VsJyk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX2FkZExpc3RlbmVyKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmNvbnRleHQgJiYgdGhpcy5jb250ZXh0Lm9uKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29udGV4dC5vbih7XHJcbiAgICAgICAgICAgICAgICBDb250cm9sVmFsdWVDaGFuZ2VkOiB0aGlzLl9zZXRWYWx1ZS5iaW5kKHRoaXMpLFxyXG4gICAgICAgICAgICAgICAgQ29udHJvbERpc2FibGVDaGFuZ2VkOiB0aGlzLl9zZXREaXNhYmxlLmJpbmQodGhpcyksXHJcbiAgICAgICAgICAgICAgICBDb250cm9sUmVhZG9ubHlDaGFuZ2VkOiB0aGlzLl9zZXRSZWFkb25seS5iaW5kKHRoaXMpLFxyXG4gICAgICAgICAgICAgICAgQ29udHJvbFJlZnJlc2g6IHRoaXMuX3NldFJlZnJlc2guYmluZCh0aGlzKSxcclxuICAgICAgICAgICAgICAgIENvbmZpZ0NoYW5nZWQ6IHRoaXMuX2NvbmZpZ0NoYW5lZC5iaW5kKHRoaXMpXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBfcmVtb3ZlTGlzdGVuZXIoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuY29udGV4dCAmJiB0aGlzLmNvbnRleHQudW4pIHtcclxuICAgICAgICAgICAgdGhpcy5jb250ZXh0LnVuKCdDb250cm9sVmFsdWVDaGFuZ2VkJywgdGhpcy5fc2V0VmFsdWUpO1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRleHQudW4oJ0NvbnRyb2xEaXNhYmxlQ2hhbmdlZCcsIHRoaXMuX3NldERpc2FibGUpO1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRleHQudW4oJ0NvbnRyb2xSZWFkb25seUNoYW5nZWQnLCB0aGlzLl9zZXRSZWFkb25seSk7XHJcbiAgICAgICAgICAgIHRoaXMuY29udGV4dC51bignQ29udHJvbFJlZnJlc2gnLCB0aGlzLl9zZXRSZWZyZXNoKTtcclxuICAgICAgICAgICAgdGhpcy5jb250ZXh0LnVuKCdDb25maWdDaGFuZ2VkJywgdGhpcy5fY29uZmlnQ2hhbmVkKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX2NvbmZpZ0NoYW5lZChvcHRpb25zKTogdm9pZCB7XHJcbiAgICAgICAgLy8gaW1wbGVtZW50ZWQgYnkgY2hpbGQgY29tcG9uZW50c1xyXG4gICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX3NldFZhbHVlKHZhbHVlKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gICAgICAgIHRoaXMuX3ZhbHVlQ2hhbmdlZFNvdXJjZS5uZXh0KHZhbHVlKTtcclxuICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF9zZXRSZWZyZXNoKHZhbHVlKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fcmVmcmVzaFNvdXJjZS5uZXh0KHZhbHVlKTtcclxuICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF9zZXREaXNhYmxlKHZhbHVlLCBjaGFuZ2VEZXRlY3QgPSB0cnVlKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fZGlzYWJsZUNoYW5nZWRTb3VyY2UubmV4dCh2YWx1ZSk7XHJcbiAgICAgICAgaWYgKGNoYW5nZURldGVjdCkge1xyXG4gICAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBfc2V0UmVhZG9ubHkodmFsdWUsIGNoYW5nZURldGVjdCA9IHRydWUpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9yZWFkb25seUNoYW5nZWRTb3VyY2UubmV4dCh2YWx1ZSk7XHJcbiAgICAgICAgaWYgKGNoYW5nZURldGVjdCkge1xyXG4gICAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -83,4 +83,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
83
83
|
}], config: [{
|
|
84
84
|
type: Input
|
|
85
85
|
}] } });
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LXBhbmVsLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL2Fic3RyYWN0LWNsYXNzZXMvbGF5b3V0LXBhbmVsLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFzQix1QkFBdUIsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFdkgsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHeEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7QUFRN0QsTUFBTSxPQUFPLHdCQUF5QixTQUFRLHVCQUF1QjtJQU9qRSxZQUNXLEVBQWMsRUFDWCxnQkFBa0MsRUFDMUIsYUFBNEIsRUFDcEMsSUFBdUI7UUFFakMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxDQUFDO1FBTHZCLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDWCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQzFCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQ3BDLFNBQUksR0FBSixJQUFJLENBQW1CO1FBR2pDLElBQUksQ0FBQyxFQUFFLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pCLGFBQWEsQ0FBQyxFQUFFLEdBQUcsT0FBTyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxhQUFhLEVBQUUsRUFBRTtZQUM3RCxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUN2QyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFDRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ3hELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUM7UUFDbkQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUNTLFVBQVUsQ0FBQyxNQUFNO1FBQ3ZCLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDMUIsUUFBUSxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNoQixLQUFLLGVBQWU7b0JBQ2hCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ3RCLE1BQU07Z0JBQ1YsS0FBSyxrQkFBa0I7b0JBQ25CLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQzFCLE1BQU07YUFDYjtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUNTLGNBQWMsQ0FBQyxJQUFTO1FBQzlCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDO1FBQy9DLElBQ0ksVUFBVSxLQUFLLFdBQVc7WUFDMUIsVUFBVSxLQUFLLGFBQWE7WUFDNUIsQ0FBQyxJQUFJLENBQUMsV0FBVztZQUNqQixJQUFJLENBQUMsY0FBYyxFQUFFLFNBQVMsS0FBSyxVQUFVLEVBQy9DO1lBQ0UsT0FBTztTQUNWO1FBQ0QsSUFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUNoQyxJQUFJLFlBQVksS0FBSyxRQUFRLEVBQUU7WUFDM0IsWUFBWSxHQUFHLEVBQUUsQ0FBQztTQUNyQjtRQUNELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFO1lBQ3BDLElBQUksWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQy9CLFlBQVksR0FBRyxZQUFZLEdBQUcsSUFBSSxDQUFDO2FBQ3RDO1NBQ0o7YUFBTTtZQUNILFlBQVksR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztTQUNoRDtRQUNELFlBQVksSUFBSSxHQUFHLENBQUM7UUFDcEIsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzdDLElBQUksZ0JBQWdCLEdBQUcsVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUN2QyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRTtZQUNsQyxnQkFBZ0IsSUFBSSxFQUFFLENBQUM7U0FDMUI7UUFDRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDakQsQ0FBQzs7cUhBbkVRLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLCtKQUh2QixFQUFFOzJGQUdILHdCQUF3QjtrQkFMcEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxRQUFRLEVBQUUsRUFBRTtvQkFDWixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDbEQ7OzBCQVdRLElBQUk7NEVBVEEsU0FBUztzQkFBakIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5wdXQsIENvbXBvbmVudCwgU2VsZiwgRWxlbWVudFJlZiwgT25Jbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBnZXRVbmlxdWVJZCwgbWVhc3VyZVRleHQgfSBmcm9tICcuLi9jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBGb3JtUGFuZWxTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZm9ybS1wYW5lbC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTGF5b3V0U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2xheW91dC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTGF5b3V0SXRlbUJhc2VDb21wb25lbnQgfSBmcm9tICcuL2xheW91dC1pdGVtLWJhc2UnO1xyXG5pbXBvcnQgeyBMYXlvdXRTZXR0aW5nIH0gZnJvbSAnLi9tb2RlbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JucmMtbGF5b3V0LXBhbmVsLWJhc2UnLFxyXG4gICAgdGVtcGxhdGU6ICcnLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIExheW91dFBhbmVsQmFzZUNvbXBvbmVudCBleHRlbmRzIExheW91dEl0ZW1CYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIEBJbnB1dCgpIHBhcmVudERvbTogSFRNTEVsZW1lbnQ7XHJcbiAgICBASW5wdXQoKSBpc1BhbmVsOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgY29uZmlnOiBMYXlvdXRTZXR0aW5nO1xyXG4gICAgbWF4TGFiZWxXaWR0aCQ6IE9ic2VydmFibGU8bnVtYmVyPjtcclxuICAgIGlzU2VhcmNoUGFuZWw6IGJvb2xlYW47XHJcbiAgICBpZDogc3RyaW5nO1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHVibGljIGVsOiBFbGVtZW50UmVmLFxyXG4gICAgICAgIHByb3RlY3RlZCBmb3JtUGFuZWxTZXJ2aWNlOiBGb3JtUGFuZWxTZXJ2aWNlLFxyXG4gICAgICAgIEBTZWxmKCkgcHJvdGVjdGVkIGxheW91dFNlcnZpY2U6IExheW91dFNlcnZpY2UsXHJcbiAgICAgICAgcHJvdGVjdGVkIF9jZHI6IENoYW5nZURldGVjdG9yUmVmXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcihmb3JtUGFuZWxTZXJ2aWNlLCBfY2RyKTtcclxuICAgICAgICB0aGlzLmlkID0gZ2V0VW5pcXVlSWQoNCk7XHJcbiAgICAgICAgbGF5b3V0U2VydmljZS5pZCA9ICdwYW5lbCcgKyB0aGlzLmlkO1xyXG4gICAgICAgIHRoaXMuZm9ybVBhbmVsU2VydmljZS5pc1NlYXJjaFBhbmVsJC5zdWJzY3JpYmUoKGlzU2VhcmNoUGFuZWwpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5pc1NlYXJjaFBhbmVsID0gaXNTZWFyY2hQYW5lbDtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgdGhpcy5mb3JtUGFuZWxTZXJ2aWNlLmZvcm1Db250YWluZXJEb20gPSB0aGlzLnBhcmVudERvbTtcclxuICAgICAgICB0aGlzLm1heExhYmVsV2lkdGgkID0gdGhpcy5sYXlvdXRTZXJ2aWNlLm1heFdpZHRoJDtcclxuICAgICAgICB0aGlzLl9jYWxjV2lkdGgodGhpcy5jb25maWcpO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF9jYWxjV2lkdGgoY29uZmlnKTogdm9pZCB7XHJcbiAgICAgICAgY29uZmlnLml0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgICAgICAgc3dpdGNoIChpdGVtLnh0eXBlKSB7XHJcbiAgICAgICAgICAgICAgICBjYXNlICdMeS5MYXlvdXRKb2luJzpcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9jYWxjV2lkdGgoaXRlbSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlICdMeS5MYXlvdXRDb250cm9sJzpcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9zZXRMYWJlbFdpZHRoKGl0ZW0pO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX3NldExhYmVsV2lkdGgoaXRlbTogYW55KTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZmllbGRYdHlwZSA9IGl0ZW0uRmllbGRVaT8ub3JpZ2luYWxYdHlwZTtcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIGZpZWxkWHR5cGUgPT09ICdVaS5CdXR0b24nIHx8XHJcbiAgICAgICAgICAgIGZpZWxkWHR5cGUgPT09ICdVaS5DaGVja0JveCcgfHxcclxuICAgICAgICAgICAgIWl0ZW0uVGV4dFZpc2libGUgfHxcclxuICAgICAgICAgICAgaXRlbS5DYXB0aW9uU2V0dGluZz8uQWxpZ25Nb2RlID09PSAnQXV0b1NpemUnXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IGxhYmVsQ2FwdGlvbiA9IGl0ZW0uQ2FwdGlvbjtcclxuICAgICAgICBpZiAobGFiZWxDYXB0aW9uID09PSAnJnp3bmo7Jykge1xyXG4gICAgICAgICAgICBsYWJlbENhcHRpb24gPSAnJztcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGl0ZW0uRmllbGRVaT8uU2V0dGluZz8uSXNNYW5kYXRvcnkpIHtcclxuICAgICAgICAgICAgaWYgKGxhYmVsQ2FwdGlvbi5pbmRleE9mKCcqJykgPCAwKSB7XHJcbiAgICAgICAgICAgICAgICBsYWJlbENhcHRpb24gPSBsYWJlbENhcHRpb24gKyAnIConO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgbGFiZWxDYXB0aW9uID0gbGFiZWxDYXB0aW9uLnJlcGxhY2UoJyonLCAnJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxhYmVsQ2FwdGlvbiArPSAnOic7XHJcbiAgICAgICAgY29uc3QgbGFiZWxXaWR0aCA9IG1lYXN1cmVUZXh0KGxhYmVsQ2FwdGlvbik7XHJcbiAgICAgICAgbGV0IGxhYmVsV2l0aFBhZGRpbmcgPSBsYWJlbFdpZHRoICsgMTA7XHJcbiAgICAgICAgaWYgKGl0ZW0uRmllbGRVaT8uU2V0dGluZz8uRmllbGRJY29uKSB7XHJcbiAgICAgICAgICAgIGxhYmVsV2l0aFBhZGRpbmcgKz0gMjE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGNvbnRyb2xXaWR0aCA9IE1hdGguY2VpbChsYWJlbFdpdGhQYWRkaW5nKTtcclxuICAgICAgICB0aGlzLmxheW91dFNlcnZpY2Uuc2V0TWF4V2lkdGgoY29udHJvbFdpZHRoKTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -181,4 +181,4 @@ export var SelectionMode;
|
|
|
181
181
|
SelectionMode["MULTIPLE"] = "multiple";
|
|
182
182
|
SelectionMode["NONE"] = "none";
|
|
183
183
|
})(SelectionMode || (SelectionMode = {}));
|
|
184
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9hYnN0cmFjdC1jbGFzc2VzL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQU8sdUJBQXVCO0lBQXBDO1FBWUksY0FBUyxHQUFHLElBQUksQ0FBQztJQVdyQixDQUFDO0NBQUE7QUFTRCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsdUJBQXVCO0NBU2xFO0FBQ0QsTUFBTSxPQUFPLDBCQUEyQixTQUFRLHNCQUFzQjtDQUVyRTtBQUNELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSx1QkFBdUI7Q0FPbEU7QUFDRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsdUJBQXVCO0NBSWhFO0FBQ0QsTUFBTSxPQUFPLG9CQUFxQixTQUFRLHVCQUF1QjtDQVVoRTtBQUNELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSx1QkFBdUI7Q0FLbkU7QUFDRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsdUJBQXVCO0NBQUc7QUFDcEUsTUFBTSxPQUFPLDJCQUE0QixTQUFRLHVCQUF1QjtDQUl2RTtBQUNELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSx1QkFBdUI7Q0FPakU7QUFNRCxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsdUJBQXVCO0NBR3hFO0FBQ0QsTUFBTSxPQUFPLHVCQUF3QixTQUFRLDRCQUE0QjtDQUd4RTtBQUNELE1BQU0sT0FBTyxvQ0FBcUMsU0FBUSw0QkFBNEI7Q0FFckY7QUFDRCxNQUFNLE9BQU8sNkJBQThCLFNBQVEsdUJBQXVCO0NBSXpFO0FBQ0QsTUFBTSxPQUFPLDBCQUEyQixTQUFRLHVCQUF1QjtDQUd0RTtBQUNELE1BQU0sT0FBTyxvQkFBcUIsU0FBUSx1QkFBdUI7Q0FRaEU7QUFDRCxNQUFNLE9BQU8sYUFBYTtDQU16QjtBQUNELE1BQU0sT0FBTyx3QkFBeUIsU0FBUSx1QkFBdUI7Q0FNcEU7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QU4sSUFBWSxhQUlYO0FBSkQsV0FBWSxhQUFhO0lBQ3JCLGtDQUFpQixDQUFBO0lBQ2pCLHNDQUFxQixDQUFBO0lBQ3JCLDhCQUFhLENBQUE7QUFDakIsQ0FBQyxFQUpXLGFBQWEsS0FBYixhQUFhLFFBSXhCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IERhdGVJbmZvIGFzIERhdGVJbmZvU2VydmljZSB9IGZyb20gJy4uL2RhdGUtc2VydmljZXMnO1xuXG5leHBvcnQgY2xhc3MgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICBDb250cm9sRmllbGRDYXB0aW9uOiBzdHJpbmc7XG4gICAgQ29udHJvbEZpZWxkQ2FwdGlvblRyYW5zbGF0ZWQ6IHN0cmluZztcbiAgICBDb250cm9sRmllbGREZWZJZDogc3RyaW5nO1xuICAgIENvbnRyb2xOYW1lOiBzdHJpbmc7XG4gICAgUmVsYXRlZEZpZWxkTGlzdDogW107XG4gICAgSGlkZTogYm9vbGVhbjtcbiAgICB4dHlwZTogc3RyaW5nO1xuICAgIExhYmVsUG9zaXRpb246IHN0cmluZztcbiAgICBJc01hbmRhdG9yeTogYm9vbGVhbjtcbiAgICBJc1Zpc2libGU6IGJvb2xlYW47XG4gICAgU2hvd0xhYmVsID0gdHJ1ZTtcbiAgICBJc1JlYWRPbmx5OiBib29sZWFuO1xuICAgIElzRW5hYmxlZDogYm9vbGVhbjtcbiAgICBJc0JvbGQ6IGJvb2xlYW47XG4gICAgSXNBdXRvbWF0aWM6IGJvb2xlYW47XG4gICAgSnNvbkV4dHJhUHJvcDogYW55IHwgbnVsbDtcbiAgICBDb21wb25lbnQ6IHN0cmluZztcbiAgICBJbmZvOiBDb250cm9sSW5mb1R5cGVzO1xuICAgIEZpZWxkSWNvbjogc3RyaW5nO1xuICAgIElzTHRyOiBib29sZWFuO1xuICAgIERpc3BsYXlUeXBlOiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIEZpbGVBdHRhY2htZW50SW5mbyB7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgIElkOiBzdHJpbmc7XG4gICAgSXNOZXc6IGJvb2xlYW47XG4gICAgSXNEZWxldGVkOiBib29sZWFuO1xuICAgIFR5cGU6IHN0cmluZztcbiAgICBGaWxlTmFtZT86IHN0cmluZztcbn1cbmV4cG9ydCBjbGFzcyBTdHJpbmdDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xuICAgIE1heExlbmd0aDogbnVtYmVyO1xuICAgIE1pbkxlbmd0aDogbnVtYmVyO1xuICAgIFJlZ3VsYXJFeHByZXNzaW9uOiBzdHJpbmc7XG4gICAgSXNQYXNzd29yZDogYm9vbGVhbjtcbiAgICBJc011bHRpTGluZTogYm9vbGVhbjtcbiAgICBOdWxsVGV4dDogc3RyaW5nO1xuICAgIEFsbG93ZWRTdHJpbmdDaGFyczogc3RyaW5nO1xuICAgIE9ubHlBY2NlcHRDdXJyZW50Q3VsdHVyZTogYm9vbGVhbjtcbn1cbmV4cG9ydCBjbGFzcyBSaWNoU3RyaW5nQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIFN0cmluZ0NvbnRyb2xJbmZvTW9kZWwge1xuICAgIElzSHRtbFZpZXdlcjogYm9vbGVhbjtcbn1cbmV4cG9ydCBjbGFzcyBOdW1iZXJDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xuICAgIE1pblZhbHVlOiBudW1iZXI7XG4gICAgTWF4VmFsdWU6IG51bWJlcjtcbiAgICBEZWNpbWFsUHJlY2lzaW9uOiBudW1iZXI7XG4gICAgU2hvd1Rob3VzYW5kU2VwZXJhdG9yOiBib29sZWFuO1xuICAgIE51bWJlclR5cGU6IHN0cmluZztcbiAgICBDdXJyZW5jeVN5bWJvbDogc3RyaW5nO1xufVxuZXhwb3J0IGNsYXNzIEZpbGVQaWN0dXJlSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xuICAgIEV4dDogc3RyaW5nO1xuICAgIEZpbGVJZDogc3RyaW5nO1xuICAgIElzRGVsZXRlZDogYm9vbGVhbjtcbn1cbmV4cG9ydCBjbGFzcyBGaWxlQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcbiAgICBDYW5EZWxldGU6IGJvb2xlYW47XG4gICAgQ2FuU2F2ZTogYm9vbGVhbjtcbiAgICBDYW5WaWV3OiBib29sZWFuO1xuICAgIElzTXVsdGlTZWxlY3Q6IGJvb2xlYW47XG4gICAgTWF4RmlsZUNvdW50OiBudW1iZXI7XG4gICAgTWF4RmlsZVNpemVLYjogbnVtYmVyO1xuICAgIE9mZmljZU9ubGluZTogYm9vbGVhbjtcbiAgICBWYWxpZEV4dGVuc2lvbnM6IHN0cmluZztcbiAgICBWaWV3VHlwZTogc3RyaW5nO1xufVxuZXhwb3J0IGNsYXNzIENvbW1hbmRDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xuICAgIE1lbnVOYW1lOiBzdHJpbmc7XG4gICAgRGlzYWJsZVdoZW5SZWFkb25seTogYm9vbGVhbjtcbiAgICBEaXNwbGF5VHlwZTogc3RyaW5nO1xuICAgIER5bmFtaWNDb21tYW5kOiBzdHJpbmc7XG59XG5leHBvcnQgY2xhc3MgSWNvbkNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7fVxuZXhwb3J0IGNsYXNzIFBpY3R1cmVGaWxlQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcbiAgICBTaXplTW9kZTogbnVtYmVyO1xuICAgIE1heEZpbGVTaXplS2I6IG51bWJlcjtcbiAgICBWYWxpZEV4dGVuc2lvbnM6IHN0cmluZztcbn1cbmV4cG9ydCBjbGFzcyBHYXVnZUNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XG4gICAgSXNBdXRvbWF0aWM6IGJvb2xlYW47XG4gICAgTWF4VmFsdWU6IG51bWJlcjtcbiAgICBNYXhWYWx1ZTI6IG51bWJlcjtcbiAgICBNaW5WYWx1ZTogbnVtYmVyO1xuICAgIE1pblZhbHVlMjogbnVtYmVyO1xuICAgIFZhbHVlOiBudW1iZXI7XG59XG5leHBvcnQgdHlwZSBSZWxhdGlvbkxpc3RUeXBlcyA9XG4gICAgfCBSZWxhdGlvbkxpc3RDb250cm9sSW5mb01vZGVsXG4gICAgfCBIaXN0b3J5Q29udHJvbEluZm9Nb2RlbFxuICAgIHwgUmFiZXRlaEFrc2VUYWtpTGlzdGlDb250cm9sSW5mb01vZGVsXG4gICAgfCBTaW5nbGVSZWxhdGlvbkNvbnRyb2xJbmZvTW9kZWw7XG5leHBvcnQgY2xhc3MgUmVsYXRpb25MaXN0Q29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcbiAgICBSZWxhdGlvblZpZXdUeXBlOiBzdHJpbmc7XG4gICAgVWx2U2V0dGluZzogUmVwb3J0TW9kZWw7XG59XG5leHBvcnQgY2xhc3MgSGlzdG9yeUNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBSZWxhdGlvbkxpc3RDb250cm9sSW5mb01vZGVsIHtcbiAgICBIYXNFeHRlcm5hbFBhcmFtZXRlcjogYm9vbGVhbjtcbiAgICBQYXJhbU5hbWUxOiBzdHJpbmc7XG59XG5leHBvcnQgY2xhc3MgUmFiZXRlaEFrc2VUYWtpTGlzdGlDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgUmVsYXRpb25MaXN0Q29udHJvbEluZm9Nb2RlbCB7XG4gICAgQXV0b1NhdmU7XG59XG5leHBvcnQgY2xhc3MgUmVsYXRlZFJlcG9ydENvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XG4gICAgSGFzRXh0ZXJuYWxQYXJhbWV0ZXI6IGJvb2xlYW47XG4gICAgUGFyYW1OYW1lMTogc3RyaW5nO1xuICAgIFVsdlNldHRpbmc6IFJlcG9ydE1vZGVsO1xufVxuZXhwb3J0IGNsYXNzIENvZGVFZGl0b3JDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xuICAgIEV4dHJhVGV4dDogc3RyaW5nO1xuICAgIFN1Z2dlc3Rpb25zOiBzdHJpbmc7XG59XG5leHBvcnQgY2xhc3MgRW51bUNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XG4gICAgSXNNdWx0aVNlbGVjdDogYm9vbGVhbjtcbiAgICBTaG93QXNSYWRpb0J1dHRvbjogYm9vbGVhbjtcbiAgICBJY29uRGlzcGxheVR5cGU6IHN0cmluZztcbiAgICBEYXRhU291cmNlOiB7XG4gICAgICAgIFJvd3M6IFJvd0RhdGFPcHRpb25bXTtcbiAgICB9O1xuICAgIEVtcHR5Um93RGF0YTogUm93RGF0YU9wdGlvbjtcbn1cbmV4cG9ydCBjbGFzcyBSb3dEYXRhT3B0aW9uIHtcbiAgICBpZDogc3RyaW5nO1xuICAgIElzRW1wdHk6IGJvb2xlYW47XG4gICAgdHh0OiBzdHJpbmc7XG4gICAgdHh0X3NhZmU/OiBzdHJpbmc7XG4gICAgdXJsOiBzdHJpbmc7XG59XG5leHBvcnQgY2xhc3MgRGF0ZVRpbWVDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xuICAgIENhbGVuZGFyVHlwZTogc3RyaW5nO1xuICAgIERhdGVGb3JtYXQ6IHN0cmluZztcbiAgICBTaG93RGF0ZTE6IGJvb2xlYW47XG4gICAgU2hvd1RpbWUxOiBib29sZWFuO1xuICAgIFRpbWVGb3JtYXQ6IHN0cmluZztcbn1cbmV4cG9ydCBjbGFzcyBCb29sQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcbiAgICBGYWxzZUNhcHRpb246IHN0cmluZztcbiAgICBUcnVlQ2FwdGlvbjogc3RyaW5nO1xuICAgIFRydWVJY29uOiBzdHJpbmc7XG4gICAgVmlld1R5cGU6IHN0cmluZztcbiAgICBGYWxzZUljb246IHN0cmluZztcbn1cbmV4cG9ydCBjbGFzcyBDYWxjdWxhdGVDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xuICAgIElubmVyQ3RybHI6IENvbnRyb2xJbmZvVHlwZXM7XG4gICAgRXhlY3V0YWlvblRpbWU6IHN0cmluZztcbiAgICBFZGl0VHlwZTogc3RyaW5nO1xuICAgIERvbnRTaG93UmVjYWxjdWxhdGVCdXR0b246IGJvb2xlYW47XG59XG5leHBvcnQgY2xhc3MgU3ViZm9ybUNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XG4gICAgVHlwZURlZklkOiBhbnk7XG4gICAgVHlwZURlZkljb246IHN0cmluZztcbiAgICBJc0NvbXBvc2VkUmVsYXRpb246IHN0cmluZztcbiAgICBEcm9wRG93blJlcG9ydElkOiBzdHJpbmc7XG4gICAgVHlwZVZpZXdJZDogc3RyaW5nO1xuICAgIEZvcm1QYW5lbFNldHRpbmc6IEZvcm1TZXR0aW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBEb3dubG9hZEZpbGVJbmZvIHtcbiAgICBmaWxlSWQ6IHN0cmluZztcbiAgICBmaWxlVXJsOiBzdHJpbmc7XG4gICAgdmlld0luQnJvd3NlcjogYm9vbGVhbjtcbiAgICBjb252ZXJ0VG86IHN0cmluZztcbiAgICBpc09mZmljZU9ubGluZTogYm9vbGVhbjtcbiAgICBmb3JPY3g6IGJvb2xlYW47XG59XG5leHBvcnQgaW50ZXJmYWNlIERvd25sb2FkRmlsZUluZm9SZXN1bHQge1xuICAgIGZpbGVuYW1lOiBzdHJpbmc7XG4gICAgY29udGVudDogc3RyaW5nO1xuICAgIGNvbnRlbnRUeXBlOiBzdHJpbmc7XG4gICAgc3VjY2VlZDogYm9vbGVhbjtcbn1cbmV4cG9ydCBjbGFzcyBMaW5lYXJMaXN0Q29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcbiAgICBEZWZhdWx0RmllbGQ6IHN0cmluZztcbiAgICBFeHRyYUpzb25Qcm9wRmllbGQ6IHN0cmluZztcbiAgICBGaWxsQmVmb3JlRHJvcERvd246IGJvb2xlYW47XG4gICAgSXNHZW5lcmFsSW5mbzogYm9vbGVhbjtcbiAgICBJc011bHRpU2VsZWN0OiBib29sZWFuO1xuICAgIFJlbGF0aW9uOiBMaXN0UmVsYXRpb25Nb2RlbDtcbiAgICBSZWxhdGlvblZpZXdUeXBlOiBzdHJpbmc7XG4gICAgUm93SWNvbjogc3RyaW5nO1xuICAgIFRhcmdldFR5cGVEZWZJZDogc3RyaW5nO1xufVxuZXhwb3J0IGNsYXNzIExpc3RSZWxhdGlvbk1vZGVsIHtcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgQ2hpbGRGZElkOiBzdHJpbmc7XG4gICAgQ2hpbGRGZE5hbWU6IHN0cmluZztcbiAgICBJc0F1dG9TYXZlOiBib29sZWFuO1xuICAgIFBhcmVudE1vSWQ6IHN0cmluZztcbiAgICBSZWxhdGlvblR5cGU6IHN0cmluZztcbn1cbmV4cG9ydCBjbGFzcyBTaW5nbGVSZWxhdGlvbkNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XG4gICAgQ29sdW1uUmVxdWVzdEVudW06IHN0cmluZztcbiAgICBEcm9wRG93blJlcG9ydElkOiBzdHJpbmc7XG4gICAgRmlsbEJlZm9yZURyb3BEb3duOiBib29sZWFuO1xuICAgIEhpZGVDb21ibzogYm9vbGVhbjtcbiAgICBSZWxhdGlvblZpZXdUeXBlOiBzdHJpbmc7XG4gICAgUGFzc1BhcmVudEZvcm06IGJvb2xlYW47XG4gICAgU2hvd05ld0J1dHRvbjogYm9vbGVhbjtcbiAgICBTaG93T2tDYW5jZWw6IGJvb2xlYW47XG4gICAgVmlld1JlbGF0ZWRGb3JtVHlwZTogc3RyaW5nO1xuICAgIFRhcmdldFR5cGVEZWZJZDogc3RyaW5nO1xuICAgIERhdGFTb3VyY2U6IHtcbiAgICAgICAgUm93czogUm93RGF0YU9wdGlvbltdO1xuICAgIH07XG4gICAgUHJldmlld0ZpZWxkQ2FwdGlvbjogc3RyaW5nO1xuICAgIFByZXZpZXdGaWVsZElkOiBzdHJpbmc7XG4gICAgUHJldmlld0ZpZWxkTmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBDb250cm9sSW5mb1R5cGVzID1cbiAgICB8IFN1YmZvcm1Db250cm9sSW5mb01vZGVsXG4gICAgfCBDYWxjdWxhdGVDb250cm9sSW5mb01vZGVsXG4gICAgfCBCb29sQ29udHJvbEluZm9Nb2RlbFxuICAgIHwgRW51bUNvbnRyb2xJbmZvTW9kZWxcbiAgICB8IEljb25Db250cm9sSW5mb01vZGVsXG4gICAgfCBGaWxlQ29udHJvbEluZm9Nb2RlbFxuICAgIHwgRGF0ZVRpbWVDb250cm9sSW5mb01vZGVsXG4gICAgfCBOdW1iZXJDb250cm9sSW5mb01vZGVsXG4gICAgfCBTdHJpbmdDb250cm9sSW5mb01vZGVsXG4gICAgfCBQaWN0dXJlRmlsZUNvbnRyb2xJbmZvTW9kZWxcbiAgICB8IEdhdWdlQ29udHJvbEluZm9Nb2RlbFxuICAgIHwgQ29tbWFuZENvbnRyb2xJbmZvTW9kZWxcbiAgICB8IENvZGVFZGl0b3JDb250cm9sSW5mb01vZGVsO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1WaWV3U2V0dGluZyB7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgIExheW91dDk0OiBhbnk7XG4gICAgQ29udHJvbEluZm86IEdlbmVyYWxDb250cm9sSW5mb01vZGVsW107XG59XG5leHBvcnQgaW50ZXJmYWNlIEZvcm1TZXR0aW5nIHtcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgRGF0YToge1xuICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIE1vOiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xuICAgIH07XG4gICAgVmlldzogRm9ybVZpZXdTZXR0aW5nO1xufVxuXG5leHBvcnQgY2xhc3MgTWV0YW9iamVjdERhdGFNb2RlbCB7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICRGaWVsZERpY3Q/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuICAgICRSZXBvcnRJZD86IHN0cmluZztcbiAgICAkVHlwZT86IHN0cmluZztcbiAgICAkU3R5bGVJbmRleD86IG51bWJlcltdO1xuICAgICRDYXB0aW9uOiBzdHJpbmc7XG4gICAgJEljb24/OiBzdHJpbmc7XG4gICAgJFN0YXRlPzogc3RyaW5nO1xuICAgICRUeXBlRGVmSWQ/OiBzdHJpbmc7XG4gICAgJFR5cGVEZWZOYW1lPzogc3RyaW5nO1xuICAgICRDaGlsZHJlbj86IE1ldGFvYmplY3REYXRhTW9kZWxbXTtcbiAgICBJbmhlcml0YW5jZT86IE1ldGFvYmplY3REYXRhTW9kZWw7XG4gICAgSW5oZXJpdGFuY2VJbmZvPzoge1xuICAgICAgICBDaGlsZEZpZWxkTmFtZTogc3RyaW5nO1xuICAgICAgICBQYXJlbnRGaWVsZE5hbWU6IHN0cmluZztcbiAgICB9O1xuICAgIElkOiBzdHJpbmc7XG59XG5leHBvcnQgZGVjbGFyZSBjbGFzcyBDYWxlbmRhck1ldGFvYmplY3REYXRhTW9kZWwgZXh0ZW5kcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcbiAgICAkQ29sb3I6IHN0cmluZztcbiAgICAkTW9tZW50U3RhcnREYXRlOiBzdHJpbmc7XG4gICAgJE1vbWVudEVuZERhdGU6IHN0cmluZztcbiAgICAkU3RhcnRUaW1lczogc3RyaW5nO1xuICAgICRFbmRUaW1lczogc3RyaW5nO1xuICAgICRUaXRsZTogc3RyaW5nO1xuICAgICROb3Rlczogc3RyaW5nO1xuICAgICRTdGFydERhdGVJbmZvPzogRGF0ZUluZm9TZXJ2aWNlO1xuICAgICRFbmREYXRlSW5mbz86IERhdGVJbmZvU2VydmljZTtcbn1cblxuZXhwb3J0IGNsYXNzIE1vRm9yUmVwb3J0TW9kZWwge1xuICAgICRUeXBlPzogc3RyaW5nO1xuICAgIFR5cGVEZWZJZDogc3RyaW5nO1xuICAgIFJlcG9ydElkOiBzdHJpbmc7XG4gICAgSWNvbj86IHN0cmluZztcbiAgICBNb0RhdGFMaXN0OiBBcnJheTxNZXRhb2JqZWN0RGF0YU1vZGVsPjtcbiAgICBEZWxldGVkTGlzdDogQXJyYXk8eyBJZDogc3RyaW5nOyBUeXBlRGVmSWQ6IHN0cmluZyB9PjtcbiAgICBBZGRlZExpc3Q6IEFycmF5PHsgSWQ6IHN0cmluZzsgVHlwZURlZklkOiBzdHJpbmcgfT47XG4gICAgUGFnaW5nOiBQYWdpbmdTZXR0aW5nO1xuICAgIFJlbGF0aW9uPzoge1xuICAgICAgICBSZWxhdGlvblR5cGU6IHN0cmluZztcbiAgICAgICAgUGFyZW50TW9JZDogc3RyaW5nO1xuICAgICAgICBQYXJlbnRGZElkOiBzdHJpbmc7XG4gICAgICAgIENoaWxkRmRJZDogc3RyaW5nO1xuICAgICAgICBQYXJlbnRGZE5hbWU6IHN0cmluZztcbiAgICAgICAgQ2hpbGRGZE5hbWU6IHN0cmluZztcbiAgICAgICAgUGFzc1BhcmVudE1vRmllbGQ6IHN0cmluZztcbiAgICAgICAgSXNBdXRvU2F2ZTogYm9vbGVhbjtcbiAgICAgICAgSXNBdXRvU2F2ZV9SZWxvYWRQYXJlbnRGb3JtczogYm9vbGVhbjtcbiAgICAgICAgSXNBdXRvU2F2ZV9SZWxvYWRSb290UGFyZW50TGlzdDogYm9vbGVhbjtcbiAgICB9O1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLkRlbGV0ZWRMaXN0ID0gdGhpcy5BZGRlZExpc3QgPSB0aGlzLk1vRGF0YUxpc3QgPSBbXTtcbiAgICB9XG59XG5leHBvcnQgY2xhc3MgUmVwb3J0QmFzZUluZm8ge1xuICAgIElkOiBzdHJpbmc7XG4gICAgQ2FwdGlvbjogc3RyaW5nO1xuICAgIEZvbGRlcklkOiBzdHJpbmc7XG4gICAgSWNvblVybDogc3RyaW5nO1xuICAgIE5hbWU6IHN0cmluZztcbiAgICBSZXBvcnRJZDogc3RyaW5nO1xufVxuZXhwb3J0IGNsYXNzIFJlcG9ydEV4dHJhSW5mbyBleHRlbmRzIFJlcG9ydEJhc2VJbmZvIHtcbiAgICBUeXBlRGVmSWQ6IHN0cmluZztcbiAgICBUeXBlRGVmQ2FwdGlvbjogc3RyaW5nO1xuICAgIFJlcG9ydFR5cGU6IHN0cmluZztcbiAgICBIaWRlVG9vbGJhcjogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIE1ldGFvYmplY3RSZWxhdGlvbk1vZGVsIGV4dGVuZHMgTGlzdFJlbGF0aW9uTW9kZWwge1xuICAgIFBhcmVudEZkSWQ6IHN0cmluZztcbiAgICBQYXNzUGFyZW50TW9GaWVsZDogc3RyaW5nO1xufVxuXG5leHBvcnQgZW51bSBGaWVsZEluZm9UeXBlRW51bSB7XG4gICAgSW50SW5mbyA9IDAsXG4gICAgU3RyaW5nSW5mbyA9IDIsXG4gICAgRGF0ZUluZm8gPSAzLFxuICAgIEJvb2xJbmZvID0gNSxcbiAgICBFbnVtSW5mbyA9IDYsXG4gICAgVXNlckluZm8gPSA3LFxuICAgIENhdGVnb3J5SW5mbyA9IDgsXG4gICAgTWV0YU9iamVjdEluZm8gPSA5LFxuICAgIENvbW1hbmRJbmZvID0gMTAsIC8vIDB4MDAwMDAwMEFcbiAgICBQaWN0dXJlc0luZm8gPSAxMSwgLy8gMHgwMDAwMDAwQlxuICAgIFJlbGF0aW9uSW5mbyA9IDEyLCAvLyAweDAwMDAwMDBDXG4gICAgSGlzdG9yeUluZm8gPSAxMywgLy8gMHgwMDAwMDAwRFxuICAgIFJlbGF0aW9uSW5mb1JldmVyc2VfQWtzTGlzdGkgPSAxNCwgLy8gMHgwMDAwMDAwRVxuICAgIENyZWF0b3JVc2VySW5mbyA9IDE1LCAvLyAweDAwMDAwMDBGXG4gICAgQ3JlYXRpb25EYXRlSW5mbyA9IDE2LCAvLyAweDAwMDAwMDEwXG4gICAgTGFzdFVwZGF0ZURhdGVJbmZvID0gMTcsIC8vIDB4MDAwMDAwMTFcbiAgICBSZW1pbmRlckluZm8gPSAxOCwgLy8gMHgwMDAwMDAxMlxuICAgIFJpY2hTdHJpbmdJbmZvID0gMTksIC8vIDB4MDAwMDAwMTNcbiAgICBDb252ZXJ0Q29tbWFuZEluZm8gPSAyMCwgLy8gMHgwMDAwMDAxNFxuICAgIFJlbGF0aW9uSW5mb1NpbmdsZVJldmVyc2VfQWtzVGFraUxpc3RpID0gMjEsIC8vIDB4MDAwMDAwMTVcbiAgICBEaWFsQ29tbWFuZEluZm8gPSAyMiwgLy8gMHgwMDAwMDAxNlxuICAgIEZpbmRDb250YWN0Q29tbWFuZEluZm8gPSAyMywgLy8gMHgwMDAwMDAxN1xuICAgIFNlcXVlbmNlQ29tbWFuZEluZm8gPSAyNCwgLy8gMHgwMDAwMDAxOFxuICAgIEN1cnJlbmN5SW5mbyA9IDI1LCAvLyAweDAwMDAwMDE5XG4gICAgU2luZ2xlUGljdHVyZUluZm8gPSAyNiwgLy8gMHgwMDAwMDAxQVxuICAgIFdvcmRSZXBvcnRDb21tYW5kSW5mbyA9IDI3LCAvLyAweDAwMDAwMDFCXG4gICAgSGllcmFyY2hpY2FsSW5mbyA9IDI4LCAvLyAweDAwMDAwMDFDXG4gICAgVGltZVNwYW5JbmZvID0gMjksIC8vIDB4MDAwMDAwMURcbiAgICBSZXBvcnRJbmZvID0gMzAsIC8vIDB4MDAwMDAwMUVcbiAgICBGaWxlSW5mbyA9IDMxLCAvLyAweDAwMDAwMDFGXG4gICAgV29yZEZpbGVJbmZvID0gMzIsIC8vIDB4MDAwMDAwMjBcbiAgICBQaWN0dXJlRmlsZUluZm8gPSAzMywgLy8gMHgwMDAwMDAyMVxuICAgIEdhdWdlSW5mbyA9IDM0LCAvLyAweDAwMDAwMDIyXG4gICAgQ29kZUluZm8gPSAzNSwgLy8gMHgwMDAwMDAyM1xuICAgIFdvcmtDZW50ZXJJbmZvID0gMzYsIC8vIDB4MDAwMDAwMjRcbiAgICBJc0RlbGV0ZWRJbmZvID0gMzcsIC8vIDB4MDAwMDAwMjVcbiAgICBSb3dOdW1iZXJJbmZvID0gMzgsIC8vIDB4MDAwMDAwMjZcbiAgICBCaW5hcnlJbmZvID0gMzksIC8vIDB4MDAwMDAwMjdcbiAgICBSZXZlcnNlTWV0YU9iamVjdEluZm9fQWtzVGFraVRha2kgPSA0MCwgLy8gMHgwMDAwMDAyOFxuICAgIENvbG9ySW5mbyA9IDQxLCAvLyAweDAwMDAwMDI5XG4gICAgSWNvbkluZm8gPSA0MiwgLy8gMHgwMDAwMDAyQVxuICAgIFJlZnJlc2hGaWVsZENvbW1hbmRJbmZvID0gNDMsIC8vIDB4MDAwMDAwMkJcbiAgICBSZWZlcmVuY2VGaWVsZEluZm8gPSA0NCwgLy8gMHgwMDAwMDAyQ1xuICAgIFNlYXJjaENvbW1hbmRJbmZvID0gNDUsIC8vIDB4MDAwMDAwMkRcbiAgICBPcmRlckluZm8gPSA0NiAvLyAweDAwMDAwMDJFXG59XG5leHBvcnQgaW50ZXJmYWNlIENsYXNzTmFtZXNNb2RlbCB7XG4gICAgQ29tbWFuZEJhckNsYXNzOiBzdHJpbmc7XG4gICAgRGF0YUNsYXNzOiBzdHJpbmc7XG4gICAgU2VsZWN0aW9uQ2xhc3M6IHN0cmluZztcbiAgICBWaWV3ZXJDbGFzczogc3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBFeHRyYU1vZGVsIHtcbiAgICBDdXN0b21Db21tYW5kcz86IEN1c3RvbUNvbW1hbmRbXTtcbiAgICBEZWZhdWx0Q29tbWFuZHNBY2Nlc3M/OiBEZWZhdWx0Q29tbWFuZHNBY2Nlc3M7XG4gICAgUGFyZW50VWx2Q29uZmlnPzogYW55O1xuICAgIFJlbGF0aW9uPzogTWV0YW9iamVjdFJlbGF0aW9uTW9kZWw7XG4gICAgUmVwb3J0PzogUmVwb3J0RXh0cmFJbmZvO1xuICAgIEV4dHJhSnNvblByb3BSZXBvcnQ/OiBhbnk7XG59XG5cbmV4cG9ydCBjbGFzcyBCYXNlUmVwb3J0TW9kZWwge1xuICAgIENsYXNzTmFtZXM6IENsYXNzTmFtZXNNb2RlbDtcbiAgICBFeHRyYTogRXh0cmFNb2RlbDtcbiAgICBWaWV3OiBWaWV3VHlwZXM7XG4gICAgU2VhcmNoUGFuZWw6IGFueTtcbiAgICBEZWZhdWx0SXRlbUNvbXBvbmVudCA9ICdSZXBvcnREZWZhdWx0SXRlbUNvbXBvbmVudCc7XG59XG5leHBvcnQgaW50ZXJmYWNlIERlZmF1bHRDb21tYW5kc0FjY2VzcyB7XG4gICAgQWRkOiBib29sZWFuO1xuICAgIEFkZFRvTGlzdDogYm9vbGVhbjtcbiAgICBEZWxldGU6IGJvb2xlYW47XG4gICAgRWRpdDogYm9vbGVhbjtcbiAgICBFeHBvcnQ6IGJvb2xlYW47XG4gICAgUHJpbnQ6IGJvb2xlYW47XG4gICAgUmVmcmVzaDogYm9vbGVhbjtcbiAgICBSZW1vdmVGcm9tTGlzdDogYm9vbGVhbjtcbiAgICBWaWV3OiBib29sZWFuO1xufVxuZXhwb3J0IGNsYXNzIEN1c3RvbUNvbW1hbmQge1xuICAgIERhdGE6IGFueTtcbiAgICBEaXNhYmxlV2hlblJlYWRvbmx5OiBib29sZWFuO1xuICAgIEhpZGVEaXNhYmxlOiBib29sZWFuO1xuICAgIEljb25Vcmw6IHN0cmluZztcbiAgICBJc0xhcmdlOiBib29sZWFuO1xuICAgIE15dHlwZTogc3RyaW5nO1xuICAgIE9yZGVyOiBudW1iZXI7XG4gICAgU2hvd09uQ29udGV4dDogYm9vbGVhbjtcbiAgICBTaG93T25Ub29sYmFyOiBib29sZWFuO1xuICAgIFRleHQ6IHN0cmluZztcbiAgICBVc2VBbHdheXM6IGJvb2xlYW47XG4gICAgVXNlRm9yTXVsdGk6IGJvb2xlYW47XG4gICAgVXNlRm9yU2luZ2xlOiBib29sZWFuO1xufVxuZXhwb3J0IGNsYXNzIFJlcG9ydE1vZGVsIGV4dGVuZHMgQmFzZVJlcG9ydE1vZGVsIHtcbiAgICBEYXRhOiBNb0ZvclJlcG9ydE1vZGVsO1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cbn1cbmV4cG9ydCBjbGFzcyBSZXBvcnRMaXN0TW9kZWwgZXh0ZW5kcyBCYXNlUmVwb3J0TW9kZWwge1xuICAgIFZpZXc6IEdyaWRWaWV3O1xufVxuZXhwb3J0IGNsYXNzIFJlcG9ydEZvcm1Nb2RlbCBleHRlbmRzIEJhc2VSZXBvcnRNb2RlbCB7XG4gICAgVmlldzogRm9ybVZpZXc7XG59XG5leHBvcnQgaW50ZXJmYWNlIFRyZWVWaWV3IHtcbiAgICBDb25kaXRpb25hbEZvcm1hdHM6IFtdO1xuICAgIFBhcmVudElkRGJOYW1lOiBzdHJpbmc7XG4gICAgU2hvd1NlbGVjdGlvbkNoZWNrczogYm9vbGVhbjtcbiAgICBUcmVlQXV0b09wZW5MZXZlbHM6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHcmlkVmlldyB7XG4gICAgQWxsb3dHcmlkQ29sdW1uU29ydDogYm9vbGVhbjtcbiAgICBBdXRvSW5saW5lRWRpdDogYm9vbGVhbjtcbiAgICBDb2x1bW5SZXF1ZXN0RW51bTogc3RyaW5nO1xuICAgIENvbHVtbnM6IEFycmF5PFJlcG9ydFZpZXdDb2x1bW4+O1xuICAgIENvbmRpdGlvbmFsRm9ybWF0czogW107XG4gICAgRGlzYWJsZVJvd1JlbG9hZDogYm9vbGVhbjtcbiAgICBHcmlkU2V0dGluZzogR3JpZFNldHRpbmc7XG4gICAgR3JpZF9GcmVlQ29sdW1uU2l6aW5nOiBib29sZWFuO1xuICAgIEdyaWRfR3JpZExpbmVzOiBzdHJpbmc7XG4gICAgR3JpZF9IaWRlSGVhZGVyOiBib29sZWFuO1xuICAgIEdyaWRfU2hvd1Jvd051bWJlcjogYm9vbGVhbjtcbiAgICBIYXNDb25kaXRpb25hbEZvcm1hdDogYm9vbGVhbjtcbiAgICBIYXNTdW1tYXJ5Um93OiBib29sZWFuO1xuICAgIEhpZGVJY29uOiBib29sZWFuO1xuICAgIElzQ2hlY2tMaXN0OiBib29sZWFuO1xufVxuZXhwb3J0IGludGVyZmFjZSBDYWxlbmRhclZpZXcge1xuICAgIENhbGVuZGFyRmllbGRzOiBDYWxlbmRhckZpZWxkcztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybVZpZXcge1xuICAgIEZvcm1QYW5lbFNldHRpbmc6IGFueTtcbn1cbmV4cG9ydCB0eXBlIFZpZXdUeXBlcyA9IEdyaWRWaWV3IHwgQ2FsZW5kYXJWaWV3IHwgVHJlZVZpZXcgfCBGb3JtVmlldztcblxuZXhwb3J0IHR5cGUgUmVwb3J0TW9kZWxUeXBlcyA9IFJlcG9ydExpc3RNb2RlbCB8IFJlcG9ydENhbGVuZGFyTW9kZWwgfCBSZXBvcnRGb3JtTW9kZWwgfCBSZXBvcnRUcmVlTW9kZWw7XG5cbmV4cG9ydCBjbGFzcyBSZXBvcnRDYWxlbmRhck1vZGVsIGV4dGVuZHMgQmFzZVJlcG9ydE1vZGVsIHtcbiAgICBWaWV3OiBDYWxlbmRhclZpZXc7XG59XG5leHBvcnQgY2xhc3MgUmVwb3J0VHJlZU1vZGVsIGV4dGVuZHMgQmFzZVJlcG9ydE1vZGVsIHtcbiAgICBWaWV3OiBUcmVlVmlldztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQ2FsZW5kYXJGaWVsZHMge1xuICAgIEVuZERhdGU6IHN0cmluZztcbiAgICBOb3Rlczogc3RyaW5nO1xuICAgIFN0YXJ0RGF0ZTogc3RyaW5nO1xuICAgIFRpdGxlOiBzdHJpbmc7XG4gICAgQ29sb3I6IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIFJlcG9ydFZpZXdDb2x1bW4ge1xuICAgIEFsaWFzOiBzdHJpbmc7XG4gICAgQ2FwdGlvbjogc3RyaW5nO1xuICAgIEZpZWxkRGVmSWQ6IHN0cmluZztcbiAgICBGaWVsZFR5cGVJZDogbnVtYmVyO1xuICAgIEZpZWxkVHlwZTogc3RyaW5nO1xuICAgIEhhc1N1bW1hcnk6IGJvb2xlYW47XG4gICAgSGlkZGVuOiBib29sZWFuO1xuICAgIElzTHRyOiBib29sZWFuO1xuICAgIElzUHJldmlldzogYm9vbGVhbjtcbiAgICBNZXRhRmllbGRUeXBlSWQ6IHN0cmluZztcbiAgICBOYW1lOiBzdHJpbmc7XG4gICAgV2lkdGg6IG51bWJlcjtcbiAgICBUYWc/OiBzdHJpbmc7XG4gICAgSWNvbjogc3RyaW5nO1xuICAgIE9ubHlJbWFnZT86IGJvb2xlYW47XG4gICAgRXh0cmE/OiBhbnk7XG4gICAgJFdpZHRoOiBzdHJpbmc7XG4gICAgJFdpZHRoMj86IHN0cmluZztcbiAgICAkTWVyZ2VkRmllbGRzVG9Db2x1bW4/OiBzdHJpbmdbXTtcbiAgICAkQ1NTQ2xhc3NOYW1lPzogc3RyaW5nO1xuICAgICRDdXN0b21Db21wb25lbnQ/OiBFanJheU9sZ287XG4gICAgJFRleHRXaWR0aD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGNsYXNzIEdyaWRTZXR0aW5nIHtcbiAgICBDb2xTZXR0aW5nTGlzdDogQXJyYXk8Q29sU2V0dGluZz47XG4gICAgU29ydFNldHRpbmdMaXN0OiBBcnJheTxTb3J0U2V0dGluZz47XG4gICAgQXV0b1NpemVDb2x1bW5zOiBib29sZWFuO1xufVxuZXhwb3J0IGNsYXNzIENvbFNldHRpbmcge1xuICAgIE5hbWU6IHN0cmluZztcbiAgICBXaWR0aDogbnVtYmVyO1xuICAgIElzSGlkZGVuOiBib29sZWFuO1xufVxuZXhwb3J0IGNsYXNzIFNvcnRTZXR0aW5nIHtcbiAgICBOYW1lOiBzdHJpbmc7XG4gICAgU29ydERpcmVjdGlvbjogc3RyaW5nO1xuICAgIElzR3JvdXBlZDogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIFJlcG9ydEZpZWxkIHtcbiAgICBwdWJsaWMga2V5OiBzdHJpbmc7XG4gICAgcHVibGljIHZhbHVlOiBzdHJpbmc7XG4gICAgcHVibGljIGNhcHRpb246IHN0cmluZztcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgY29sdW1uOiBSZXBvcnRWaWV3Q29sdW1uLCBwdWJsaWMgaXRlbTogYW55KSB7XG4gICAgICAgIGNvbnN0IG5hbWUgPSBjb2x1bW4uTmFtZTtcbiAgICAgICAgdGhpcy5jYXB0aW9uID0gY29sdW1uLkNhcHRpb247XG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLml0ZW1bbmFtZV07XG4gICAgICAgIGlmIChOdW1iZXIoY29sdW1uLkZpZWxkVHlwZUlkKSA9PT0gRmllbGRJbmZvVHlwZUVudW0uRGF0ZUluZm8pIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLml0ZW1bbmFtZSArICckQ2FwdGlvbiddO1xuICAgICAgICB9XG4gICAgICAgIGlmIChOdW1iZXIoY29sdW1uLkZpZWxkVHlwZUlkKSA9PT0gRmllbGRJbmZvVHlwZUVudW0uSWNvbkluZm8pIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLml0ZW1bbmFtZV0uVXJsO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIExvZ2luUmVzdWx0IHtcbiAgICBkYXRhOiB7IHN0aDogc3RyaW5nIH07XG59XG5leHBvcnQgaW50ZXJmYWNlIENvbXBvbmVudFNldHRpbmdzRGF0YU1vZGVsIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XG4gICAgUGxhY2VIb2xkZXJzPzogUGxhY2VIb2xkZXJEYXRhTW9kZWxbXTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcG9uZW50RGF0YU1vZGVsIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XG4gICAgU2VsZWN0b3I6IHN0cmluZztcbiAgICBTZXR0aW5nczogQ29tcG9uZW50U2V0dGluZ3NEYXRhTW9kZWw7XG59XG5leHBvcnQgaW50ZXJmYWNlIFBsYWNlSG9sZGVyRGF0YU1vZGVsIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XG4gICAgTmFtZTogc3RyaW5nO1xuICAgIFRpdGxlOiBzdHJpbmc7XG4gICAgSXNQYWdlOiBib29sZWFuO1xuICAgIE9yZGVyTnVtYmVyOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9kdWxlRGF0YU1vZGVsIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XG4gICAgVGl0bGU6IHN0cmluZztcbiAgICBQbGFjZUhvbGRlcjogUGxhY2VIb2xkZXJEYXRhTW9kZWw7XG4gICAgQ29tcG9uZW50OiBDb21wb25lbnREYXRhTW9kZWw7XG59XG5leHBvcnQgaW50ZXJmYWNlIFBhZ2VMaXN0UmVwb3J0TW9kZWwgZXh0ZW5kcyBNb0ZvclJlcG9ydE1vZGVsIHtcbiAgICBNb0RhdGFMaXN0OiBBcnJheTxQYWdlRGF0YU1vZGVsPjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgTW9kdWxlTGlzdFJlcG9ydE1vZGVsIGV4dGVuZHMgTW9Gb3JSZXBvcnRNb2RlbCB7XG4gICAgTW9EYXRhTGlzdDogQXJyYXk8TW9kdWxlRGF0YU1vZGVsPjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUGFnZURhdGFNb2RlbCBleHRlbmRzIE1ldGFvYmplY3REYXRhTW9kZWwge1xuICAgIENvbXBvbmVudDogQ29tcG9uZW50RGF0YU1vZGVsO1xuICAgIE1vZHVsZUxpc3Q6IE1vZHVsZUxpc3RSZXBvcnRNb2RlbDtcbiAgICBDaGlsZFBhZ2VMaXN0OiBQYWdlTGlzdFJlcG9ydE1vZGVsO1xuICAgIFRpdGxlOiBzdHJpbmc7XG4gICAgUm91dGU6IHN0cmluZztcbiAgICBJc0RlZmF1bHRSb3V0ZTogc3RyaW5nO1xuICAgIElzTG9naW5Sb3V0ZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBvcnRhbERhdGFNb2RlbCBleHRlbmRzIFBhZ2VEYXRhTW9kZWwge1xuICAgIElzQWN0aXZlOiBib29sZWFuO1xuICAgIElzUHdhOiBib29sZWFuO1xuICAgIFBvcnRhbFNldHRpbmdzOiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xufVxuZXhwb3J0IGludGVyZmFjZSBHcm91cFZpc2liaWxpdHkge1xuICAgIGVuYWJsZTogYm9vbGVhbjtcbiAgICB2aXNpYmxlOiBib29sZWFuO1xuICAgIHJlYWRvbmx5OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElIZWFkZXJMYXlvdXQge1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICBUaXRsZTogc3RyaW5nO1xuICAgIFN1YnRpdGxlOiBzdHJpbmc7XG4gICAgQXZhdGFyOiBhbnk7XG4gICAgRmFjZXRMaXN0OiB7IE1vRGF0YUxpc3Q6IE1ldGFvYmplY3REYXRhTW9kZWxbXSB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1lbnVJdGVtIHtcbiAgICBpY29uOiBzdHJpbmc7XG4gICAgdGV4dDogc3RyaW5nO1xuICAgIGl0ZW1JZDogc3RyaW5nO1xuICAgIERhdGE6IGFueTtcbiAgICBDb21tYW5kOiBhbnk7XG4gICAgaGFuZGxlcjogKCkgPT4gdm9pZDtcbiAgICBJc0J1aWx0aW4/OiBib29sZWFuO1xuICAgIG1lbnU/OiB7IGl0ZW1zOiBNZW51SXRlbVtdIH07XG59XG5leHBvcnQgaW50ZXJmYWNlIFBhZ2luZ1NldHRpbmcge1xuICAgIEVuZEluZGV4OiBudW1iZXI7XG4gICAgSGFzUGFnaW5nOiBib29sZWFuO1xuICAgIFBhZ2U6IG51bWJlcjtcbiAgICBQYWdlU2l6ZTogbnVtYmVyO1xuICAgIFJvd0NvdW50OiBudW1iZXI7XG4gICAgU3RhcnRJbmRleDogbnVtYmVyO1xuICAgIFRvdGFsUGFnZXM6IG51bWJlcjtcbiAgICBUb3RhbFJvd3M6IG51bWJlcjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQ29sdW1uSW5mb1R5cGUge1xuICAgIE5hbWU6IHN0cmluZztcbiAgICBIaWRkZW46IGJvb2xlYW47XG4gICAgQ2FwdGlvbjogc3RyaW5nO1xuICAgIElzTWFuZGF0b3J5PzogYm9vbGVhbjtcbiAgICBXaWR0aDogbnVtYmVyO1xufVxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hQYW5lbFNldHRpbmdzIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XG4gICAgVGl0bGU6IHN0cmluZztcbiAgICBSZXBvcnRJZDogc3RyaW5nO1xuICAgIElzRGVmYXVsdDogYm9vbGVhbjtcbiAgICBJc1B1YmxpYzogYm9vbGVhbjtcbiAgICBBcHBseUF1dG9tYXRpY2FsbHk6IGJvb2xlYW47XG4gICAgU2VhcmNoTW8/OiBzdHJpbmc7XG4gICAgRmllbGRzU2V0dGluZz86IHN0cmluZztcbn1cbmV4cG9ydCBkZWNsYXJlIHR5cGUgRGV2aWNlU2l6ZSA9ICdkZXNrdG9wJyB8ICdtb2JpbGUnIHwgJ3RhYmxldCc7XG5leHBvcnQgY29uc3QgRGF0ZVJhbmdlcyA9IFtcbiAgICAnRGF0ZVJfTm9uZScsXG4gICAgJ0RhdGVSX1NwZWNpZmljUmFuZ2UnLFxuICAgICdEYXRlUl9Ub2RheScsXG4gICAgJ0RhdGVSX1RoaXNXZWVrJyxcbiAgICAnRGF0ZVJfVGhpc01vbnRoJyxcbiAgICAnRGF0ZVJfVGhpc1llYXInLFxuICAgICdEYXRlUl9EYXlzQmVmb3JlJyxcbiAgICAnRGF0ZVJfUHJldldlZWsnLFxuICAgICdEYXRlUl9QcmV2TW9udGgnLFxuICAgICdEYXRlUl9QcmV2WWVhcicsXG4gICAgJ0RhdGVSX0RheXNBZnRlcicsXG4gICAgJ0RhdGVSX05leHRXZWVrJyxcbiAgICAnRGF0ZVJfTmV4dE1vbnRoJyxcbiAgICAnRGF0ZVJfTmV4dFllYXInXG5dO1xuXG5leHBvcnQgaW50ZXJmYWNlIFVpUmVwb3J0Vmlld0Jhc2Uge1xuICAgIFVpQ29tcG9uZW50OiB7XG4gICAgICAgIENvbXBvbmVudDogYm9vbGVhbjtcbiAgICAgICAgTW9kdWxlOiBzdHJpbmc7XG4gICAgICAgIE1vZHVsZUZpbGVOYW1lOiBzdHJpbmc7XG4gICAgICAgIE5hbWU6IHN0cmluZztcbiAgICAgICAgU2VsZWN0b3I6IHN0cmluZztcbiAgICAgICAgU2V0dGluZ3M6IFVpUmVwb3J0Vmlld0Jhc2VTZXR0aW5nO1xuICAgIH07XG59XG5leHBvcnQgaW50ZXJmYWNlIFVpUmVwb3J0Vmlld0Jhc2VTZXR0aW5nIHtcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgVHlwZTogc3RyaW5nO1xuICAgIEljb246IHN0cmluZztcbiAgICBJc0RlZmF1bHQ6IGJvb2xlYW47XG4gICAgSGlkZGVuOiBib29sZWFuO1xuICAgIEVuYWJsZVNlYXJjaDogYm9vbGVhbjtcbiAgICBEaXNhYmxlUmVzcG9uc2l2ZT86IGJvb2xlYW47XG4gICAgRGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnU/OiBib29sZWFuO1xuICAgIEhvcml6b250YWxHcm91cEJ5OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExheW91dFNldHRpbmcge1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICBUaXRsZT86IHN0cmluZztcbiAgICB4dHlwZTogc3RyaW5nO1xuICAgIFRleHRWaXNpYmxlPzogYm9vbGVhbjtcbiAgICBpdGVtczogTGF5b3V0U2V0dGluZ1tdO1xuICAgIElzUm9vdD86IGJvb2xlYW47XG4gICAgU2VsZWN0ZWRUYWJQYWdlTmFtZT86IHN0cmluZztcbn1cbmV4cG9ydCBkZWNsYXJlIHR5cGUgQWJicmV2YXRpb25EZXZpY2VTaXplID0gJ3MnIHwgJ20nIHwgJ2wnIHwgJ3hsJztcbmV4cG9ydCBpbnRlcmZhY2UgVHJlZU5vZGVPYmoge1xuICAgIGlzRXhwYW5kOiBib29sZWFuO1xuICAgIHZpc2liaWxpdHk6IGJvb2xlYW47XG4gICAgZXhwYW5kOiAoKSA9PiB2b2lkO1xuICAgIGNvbGxhcHNlOiAoKSA9PiB2b2lkO1xuICAgIERhdGE6IE1ldGFvYmplY3REYXRhTW9kZWw7XG4gICAgY2hpbGRyZW46IFRyZWVOb2RlT2JqW107XG4gICAgaWNvbjogc3RyaW5nO1xuICAgIGtleTogc3RyaW5nO1xuICAgIGxlYWY6IGJvb2xlYW47XG4gICAgdGV4dDogc3RyaW5nO1xuICAgIGxldmVsOiBudW1iZXI7XG4gICAgbG9hZGluZz86IGJvb2xlYW47XG4gICAgaGFzT25lRGVwdGhMZXZlbD86IGJvb2xlYW47XG4gICAgcGFyZW50Tm9kZTogVHJlZU5vZGVPYmogfCBudWxsO1xuICAgIGZpcnN0Q2hpbGQ6IFRyZWVOb2RlT2JqIHwgbnVsbDtcbiAgICBsYXN0Q2hpbGQ6IFRyZWVOb2RlT2JqIHwgbnVsbDtcbiAgICBwcmV2aW91c1NpYmxpbmc6IFRyZWVOb2RlT2JqIHwgbnVsbDtcbiAgICBuZXh0U2libGluZzogVHJlZU5vZGVPYmogfCBudWxsO1xuICAgIGF0dHJpYnV0ZXM6IHsgRGF0YTogTWV0YW9iamVjdERhdGFNb2RlbCB8IG51bGwgfTtcbiAgICBoYXNDaGlsZE5vZGVzOiAoKSA9PiBib29sZWFuO1xuICAgIG5vRHJvcDogYm9vbGVhbjtcbiAgICAkQ2hpbGRyZW4/OiBUcmVlTm9kZU9ialtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbHVtblJlc2l6ZWRBcmdzIHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgd2lkdGg6IG51bWJlcjtcbn1cbmV4cG9ydCB0eXBlIGNvbHVtbnNSZXNpemVkRXZlbnRBcmdzID0geyBjb2x1bW5zOiBBcnJheTxSZXBvcnRWaWV3Q29sdW1uPjsgcmVzaXplZDogQXJyYXk8Q29sdW1uUmVzaXplZEFyZ3M+IH07XG5leHBvcnQgdHlwZSBSZWxhdGlvbkl0ZW1UeXBlID0ge1xuICAgIElkOiBzdHJpbmc7XG4gICAgU291cmNlVHlwZURlZklkOiBzdHJpbmc7XG4gICAgT2JqZWN0SW5SZWxhdGlvbk5hbWU6IHN0cmluZztcbiAgICBHcm91cENhcHRpb246IHN0cmluZztcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgRWpyYXlPbGdvIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XG4gICAgTW9kdWxlOiBzdHJpbmc7XG4gICAgTW9kdWxlRmlsZU5hbWU6IHN0cmluZztcbiAgICBOYW1lOiBzdHJpbmc7XG4gICAgU2VsZWN0b3I6IHN0cmluZztcbiAgICBQYXJhbWV0ZXJzPzogTWV0YW9iamVjdERhdGFNb2RlbDtcbiAgICBTZXR0aW5ncz86IE1ldGFvYmplY3REYXRhTW9kZWw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVVwbG9hZGluZ1N0YXRlIHtcbiAgICBrZXk6IHN0cmluZztcbiAgICB1cGxvYWRpbmc6IGJvb2xlYW47XG4gICAgc3RhdGU6ICdVcGxvYWRpbmcnIHwgJ0Vycm9yJyB8ICdDb21wbGV0ZScgfCAnU3RhcnQnO1xuICAgIHByb2dyZXNzOiBhbnk7XG59XG5leHBvcnQgdHlwZSBHcm91cEJ5SXRlbSA9IHsgW2tleTogc3RyaW5nXTogYW55OyBpZDogc3RyaW5nOyBrZXk6IHN0cmluZzsgdmFsdWU6IGFueVtdIH07XG5leHBvcnQgdHlwZSBOb3RpZnlPcHRpb25zID0ge1xuICAgIFNvdW5kOiBib29sZWFuOyAvLyBTb3VuZCBvZiBub3RpZmljYXRpb24uIFNldCB0aGlzIGZhbHNlIHRvIGRpc2FibGUgc291bmQuXG4gICAgSW1hZ2U6IHN0cmluZyB8IG51bGw7IC8vIEltYWdlIHNvdXJjZSBzdHJpbmdcbiAgICBUaXRsZTogc3RyaW5nIHwgbnVsbDsgLy8gVGl0bGUgb2Ygbm90aWZpY2F0aW9uLiBJZiB5b3UgZG8gbm90IGluY2x1ZGUgdGhlIHRpdGxlIGluIG9wdGlvbnMgaXQgd2lsbCBhdXRvbWF0aWNhbGx5IHRha2VzIGl0cyB2YWx1ZVxuICAgIEljb246IGJvb2xlYW47IC8vIEljb24gb2Ygbm90aWZpY2F0aW9uLiBMZWF2ZSBhcyBpcyBmb3IgZGVmYXVsdCBpY29uIG9yIHNldCBjdXN0b20gc3RyaW5nXG4gICAgRGVsYXk6IG51bWJlcjsgLy8gSGlkZSBub3RpZmljYXRpb24gYWZ0ZXIgdGhpcyB0aW1lIChpbiBtaWxpc2Vjb25kcylcbiAgICBDbG9zYWJsZTogYm9vbGVhbjsgLy8gTWFrZSBub3RpZmljYXRpb25zIGNsb3NhYmxlXG4gICAgRGVsYXlJbmRpY2F0b3I6IGJvb2xlYW47IC8vIFNob3cgdGltZXIgaW5kaWNhdG9yXG4gICAgQ2xvc2VPbkNsaWNrOiBib29sZWFuOyAvLyBDbG9zZSBub3RpZmljYXRpb25zIGJ5IGNsaWNraW5nIG9uIHRoZW1cbiAgICBJc1J0bDogYm9vbGVhbjtcbiAgICBQb3NpdGlvbjogc3RyaW5nIHwgb2JqZWN0OyAvLyBBdmFpbGFibGUgb3B0aW9uczogXCJ0b3AgbGVmdFwiLCBcInRvcCByaWdodFwiLCBcImJvdHRvbSBsZWZ0XCIsIFwiYm90dG9tIHJpZ2h0XCIsIFwiY2VudGVyIHRvcFwiLCBcImNlbnRlciBib3R0b21cIlxuICAgIFNvdW5kUGF0aDogc3RyaW5nOyAvLyBUaGUgZm9sZGVyIHBhdGggd2hlcmUgc291bmRzIGFyZSBsb2NhdGVkXG4gICAgU2l6ZTogc3RyaW5nOyAvLyBub3JtYWwsIG1pbmksIGxhcmdlXG4gICAgQ29udGludWVEZWxheU9uSW5hY3RpdmVUYWI6IGJvb2xlYW47IC8vIENvbnRpbnVlIGRlbGF5IHdoZW4gYnJvd3NlciB0YWIgaXMgaW5hY3RpdmVcbiAgICBXaWR0aDogbnVtYmVyOyAvLyBXaWR0aCBvZiBub3RpZmljYXRpb24gYm94XG4gICAgTWVzc2FnZUhlaWdodDogbnVtYmVyOyAvLyBOb3RpZmljYXRpb24gbWVzc2FnZSBtYXhpbXVtIGhlaWdodC5cbiAgICBOb3RpZmljYXRpb25JdGVtPzogTm90aWZpY2F0aW9uSXRlbTtcbn07XG5leHBvcnQgdHlwZSBTaGFyZUJ1dHRvbnNDaG9pY2VEZWYgPSB7XG4gICAgZm9ybVBhbmVsQ3RybHI6IGFueTtcbiAgICBtbzogTWV0YW9iamVjdERhdGFNb2RlbDtcbiAgICBjaG9pY2VMaXN0OiBDaG9pY2VEZWZbXTtcbiAgICBhZGQ6IGJvb2xlYW47XG59O1xuZXhwb3J0IHR5cGUgQ2hvaWNlRGVmID0ge1xuICAgIEFjdGl2aXR5RGVmSWQ6IHN0cmluZztcbiAgICBBY3Rpdml0eVJ1bklkOiBzdHJpbmc7XG4gICAgQ2hvaWNlRGVmSWQ6IHN0cmluZztcbiAgICBDaG9pY2VOYW1lPzogc3RyaW5nO1xuICAgIFRpdGxlOiBzdHJpbmc7XG4gICAgSWNvbj86IHN0cmluZztcbiAgICBIYXNCYXI/OiBib29sZWFuO1xufTtcbmV4cG9ydCB0eXBlIFdvcmtmbG93RXhlY3V0ZUNob2ljZVN0YXR1cyA9IHtcbiAgICBsb2FkaW5nOiBib29sZWFuO1xuICAgIHJlc3VsdDogYW55O1xuICAgIGVycm9yOiBhbnk7XG4gICAgY2hvaWNlPzogQ2hvaWNlRGVmO1xufTtcbmV4cG9ydCB0eXBlIE5vdGlmaWNhdGlvblBheWxvYWQgPSB7XG4gICAgbXNnOiBzdHJpbmc7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICB0eXBlOiBzdHJpbmc7XG4gICAgaW1hZ2U6IHN0cmluZztcbiAgICBtbztcbiAgICB1aU9wdGlvbnM6IE5vdGlmeU9wdGlvbnM7XG4gICAgb3RoZXJPcHRpb25zOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xufTtcbmV4cG9ydCB0eXBlIE5vdGlmaWNhdGlvbkFjdGlvbiA9IHtcbiAgICBUaXRsZTogc3RyaW5nO1xuICAgIElkOiBzdHJpbmc7XG4gICAgSWNvbjogc3RyaW5nO1xuICAgIFN0YXR1czogc3RyaW5nIHwgYW55O1xufTtcbmV4cG9ydCB0eXBlIE5vdGlmaWNhdGlvbkl0ZW0gPSBNZXRhb2JqZWN0RGF0YU1vZGVsICYge1xuICAgIFRpdGxlOiBzdHJpbmc7XG4gICAgVW5yZWFkOiBib29sZWFuO1xuICAgIENvbnRlbnQ6IHN0cmluZztcbiAgICAkU2FmZUNvbnRlbnQ/OiBTYWZlSHRtbDtcbiAgICBQcmlvcml0eTogbnVtYmVyO1xuICAgIFN1YmplY3Q6IHN0cmluZztcbiAgICBUYWc6IHN0cmluZztcbiAgICBJY29uOiBzdHJpbmc7XG4gICAgSW1hZ2U6IHN0cmluZztcbiAgICBDcmVhdGlvbkRhdGU6IERhdGU7XG4gICAgQ3JlYXRpb25EYXRlJENhcHRpb246IHN0cmluZztcbiAgICBVaUFjdGlvbnM/OiBOb3RpZmljYXRpb25BY3Rpb25bXTtcbiAgICAkQ2hvaWNlRGVmU3RhdHVzPzogV29ya2Zsb3dFeGVjdXRlQ2hvaWNlU3RhdHVzO1xufTtcblxuZXhwb3J0IHR5cGUgRXhOb3RpZmljYXRpb25QYXlsb2FkID0ge1xuICAgIGxhbmc6IHN0cmluZztcbiAgICBpc1J0bDogYm9vbGVhbjtcbiAgICBub3RpZmljYXRpb25JdGVtOiBOb3RpZmljYXRpb25JdGVtO1xufTtcbmV4cG9ydCB0eXBlIEZvcm1WaXNpYmlsaXR5U3RhdHVzID0gJ1BlbmRpbmcnIHwgJ1Zpc2libGUnO1xuZXhwb3J0IHR5cGUgQ2FydGFibGVUZW1wbGF0ZUtleSA9IHsgVHlwZURlZklkOiBzdHJpbmc7IFNldHRpbmdzSWQ6IHN0cmluZyB9O1xuZXhwb3J0IGVudW0gU29ydERpcmVjdGlvbiB7XG4gICAgTk9ORSA9ICdub25lJyxcbiAgICBBU0MgPSAnYXNjJyxcbiAgICBERVNDID0gJ2Rlc2MnXG59XG5leHBvcnQgaW50ZXJmYWNlIENvbGxlY3Rpb25Tb3J0IHtcbiAgICBmaWVsZDogc3RyaW5nIHwgbnVsbDtcbiAgICBkaXJlY3Rpb246IFNvcnREaXJlY3Rpb247XG4gICAgaXNOdW1iZXI/OiBib29sZWFuO1xufVxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hJbnB1dCB7XG4gICAgdGV4dDogc3RyaW5nO1xuICAgIGNhdGVnb3J5OiBzdHJpbmcgfCBudWxsO1xufVxuZXhwb3J0IGludGVyZmFjZSBDb2xsZWN0aW9uR3JvdXAge1xuICAgIGZpZWxkOiBzdHJpbmc7XG4gICAgZGlyZWN0aW9uOiBTb3J0RGlyZWN0aW9uO1xuICAgIHNob3dBc0NvbHVtbjogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2xsZWN0aW9uUGFnZSB7XG4gICAgcGFnZVNpemU6IG51bWJlcjtcbiAgICBjdXJyZW50UGFnZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbGxlY3Rpb25TdGF0ZSB7XG4gICAgc29ydEJ5OiBDb2xsZWN0aW9uU29ydFtdO1xuICAgIGdyb3VwQnk6IENvbGxlY3Rpb25Hcm91cFtdO1xuICAgIHBhZ2U6IENvbGxlY3Rpb25QYWdlO1xuICAgIHNlYXJjaElucHV0OiBTZWFyY2hJbnB1dDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUYWJsZVN0YXRlIGV4dGVuZHMgQ29sbGVjdGlvblN0YXRlIHtcbiAgICBjb2x1bW5zOiBzdHJpbmdbXTtcbiAgICBjb2x1bW5LZXlzOiBzdHJpbmdbXTtcbiAgICBmcmVlemVUb0NvbHVtbjogc3RyaW5nIHwgbnVsbDtcbn1cbmV4cG9ydCBlbnVtIFNlbGVjdGlvbk1vZGUge1xuICAgIFNJTkdMRSA9ICdzaW5nbGUnLFxuICAgIE1VTFRJUExFID0gJ211bHRpcGxlJyxcbiAgICBOT05FID0gJ25vbmUnXG59XG5leHBvcnQgaW50ZXJmYWNlIFR5cGVVbHZNYWluQ3RybHIge1xuICAgIEFkYXB0ZXI6IGFueTtcbiAgICBTZXR0aW5nOiBhbnk7XG4gICAgU3lzdGVtOiBhbnk7XG4gICAgVWx2UGFyYW1zOiBhbnk7XG4gICAgRmVhdHVyZXM6IGFueTtcbiAgICBVaU92ZXJyaWRlOiBhbnk7XG4gICAgU2VhcmNoUGFuZWxDdHJscjogYW55O1xuICAgIFNlbGVjdGlvbkFkYXB0ZXI6IGFueTtcbiAgICBEYXRhQ3RybHI6IFR5cGVVbHZEYXRhQ3RybHI7XG4gICAgQ29tbWFuZEJhckN0cmxyOiBhbnk7XG4gICAgVmlld2VyQWRhcHRlcjogYW55O1xuICAgIFBhcmVudE1vOiBhbnk7XG4gICAgRmllbGRDdHJscjogYW55O1xuICAgIGlzTWFuZGF0b3J5OiBib29sZWFuOyAvLyBwb3J0YWwgdXNlIGl0LiBjb21wb25lbnQgbWFkYXJla1xuICAgIC8vLyBSZWxhdGVkIGZpZWxkIG9mIFVsdlxuICAgIC8vIFBhcmVudEZpZWxkSW5mb0N0cmxyOiBudWxsLFxuICAgIElzUHJldmlld1NvdXJjZUZpZWxkOiBib29sZWFuO1xuICAgIC8vLyBJbmRpY2F0ZSB3aGV0aGVyIHRoaXMgVWx2IGlzIHVzZWQgYXMgcmVsYXRpb24gZmllbGQgdGhhdCBpcyBQcmV2aWV3U291cmNlIGZvciBhIHN1YmZvcm1cbiAgICBTaG93T2tDYW5jZWxCdXR0b25zOiBib29sZWFuO1xuICAgIF9pc0VuYWJsZTogYm9vbGVhbjtcbiAgICBfaXNSZWFkT25seTogYm9vbGVhbjtcbiAgICBfaXNWaXNpYmxlOiBib29sZWFuO1xuICAgIEZvb3R0ZXJCdXR0b25zOiBib29sZWFuO1xuICAgIFJlZnJlc2hSb3dzQnlNb3NOb1NlbGVjdGlvbkNoYW5nZShcbiAgICAgICAgZWRpZGVkTW9zOiBNZXRhb2JqZWN0RGF0YU1vZGVsW10sXG4gICAgICAgIGFkZGVkTW9zOiBNZXRhb2JqZWN0RGF0YU1vZGVsW10sXG4gICAgICAgIGRlbGV0ZWRNb3M6IE1ldGFvYmplY3REYXRhTW9kZWxbXVxuICAgICk6IHZvaWQ7XG4gICAgUmVmcmVzaFJvd3NCeU1vcyhcbiAgICAgICAgZWRpZGVkTW9zOiBNZXRhb2JqZWN0RGF0YU1vZGVsW10sXG4gICAgICAgIGFkZGVkTW9zOiBNZXRhb2JqZWN0RGF0YU1vZGVsW10sXG4gICAgICAgIGRlbGV0ZWRNb3M6IE1ldGFvYmplY3REYXRhTW9kZWxbXVxuICAgICk6IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZVVsdkRhdGFDdHJsciB7XG4gICAgR2V0RWRpdEZvcm1QYXJhbXMobW8sIGlzUmVhZE9ubHksIGlzTmV3LCBpbmhlcml0YW5jZUNoaWxkVHlwZURlZiwgZG9SZXR1cm4pOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xufVxuZXhwb3J0IGludGVyZmFjZSBGb3JtQ29tcG9uZW50UGFyYW1zIHtcbiAgICBmb3JtU2V0dGluZz86IEZvcm1TZXR0aW5nO1xuICAgIG1vSWQ6IHN0cmluZztcbiAgICB0eXBlRGVmSWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICByZXBvcnRJZD86IHN0cmluZztcbiAgICB2aWV3SWQ/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgVmlld05hbWU/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgaW5EaWFsb2c/OiBib29sZWFuO1xuICAgIGlzU2ltcGxlPzogYm9vbGVhbjtcbiAgICBsb2FkQWN0aXZpdHlWaWV3PzogYm9vbGVhbjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQnJ1bGVBY3Rpb25NZXNzYWdlIHtcbiAgICBNZXNzYWdlVHlwZTogbnVtYmVyO1xuICAgIEVzY2FwZUNoYXJhY3RlcnM6IGJvb2xlYW47XG4gICAgTWVzc2FnZUV4cHJlc3Npb246IHN0cmluZztcbiAgICBNZXNzYWdlRXhwcmVzc2lvbkh0bWw6IFNhZmVIdG1sO1xufVxuIl19
|
|
184
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9hYnN0cmFjdC1jbGFzc2VzL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQU8sdUJBQXVCO0lBQXBDO1FBWUksY0FBUyxHQUFHLElBQUksQ0FBQztJQVdyQixDQUFDO0NBQUE7QUFTRCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsdUJBQXVCO0NBU2xFO0FBQ0QsTUFBTSxPQUFPLDBCQUEyQixTQUFRLHNCQUFzQjtDQUVyRTtBQUNELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSx1QkFBdUI7Q0FPbEU7QUFDRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsdUJBQXVCO0NBSWhFO0FBQ0QsTUFBTSxPQUFPLG9CQUFxQixTQUFRLHVCQUF1QjtDQVVoRTtBQUNELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSx1QkFBdUI7Q0FLbkU7QUFDRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsdUJBQXVCO0NBQUc7QUFDcEUsTUFBTSxPQUFPLDJCQUE0QixTQUFRLHVCQUF1QjtDQUl2RTtBQUNELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSx1QkFBdUI7Q0FPakU7QUFNRCxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsdUJBQXVCO0NBR3hFO0FBQ0QsTUFBTSxPQUFPLHVCQUF3QixTQUFRLDRCQUE0QjtDQUd4RTtBQUNELE1BQU0sT0FBTyxvQ0FBcUMsU0FBUSw0QkFBNEI7Q0FFckY7QUFDRCxNQUFNLE9BQU8sNkJBQThCLFNBQVEsdUJBQXVCO0NBSXpFO0FBQ0QsTUFBTSxPQUFPLDBCQUEyQixTQUFRLHVCQUF1QjtDQUd0RTtBQUNELE1BQU0sT0FBTyxvQkFBcUIsU0FBUSx1QkFBdUI7Q0FRaEU7QUFDRCxNQUFNLE9BQU8sYUFBYTtDQU16QjtBQUNELE1BQU0sT0FBTyx3QkFBeUIsU0FBUSx1QkFBdUI7Q0FNcEU7QUFDRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsdUJBQXVCO0NBTWhFO0FBQ0QsTUFBTSxPQUFPLHlCQUEwQixTQUFRLHVCQUF1QjtDQUtyRTtBQUNELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSx1QkFBdUI7Q0FPbkU7QUFlRCxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsdUJBQXVCO0NBVXRFO0FBQ0QsTUFBTSxPQUFPLGlCQUFpQjtDQU83QjtBQUNELE1BQU0sT0FBTyw4QkFBK0IsU0FBUSx1QkFBdUI7Q0FpQjFFO0FBK0JELE1BQU0sT0FBTyxtQkFBbUI7Q0FrQi9CO0FBYUQsTUFBTSxPQUFPLGdCQUFnQjtJQXFCekI7UUFDSSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7SUFDN0QsQ0FBQztDQUNKO0FBQ0QsTUFBTSxPQUFPLGNBQWM7Q0FPMUI7QUFDRCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxjQUFjO0NBS2xEO0FBRUQsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGlCQUFpQjtDQUc3RDtBQUVELE1BQU0sQ0FBTixJQUFZLGlCQThDWDtBQTlDRCxXQUFZLGlCQUFpQjtJQUN6QiwrREFBVyxDQUFBO0lBQ1gscUVBQWMsQ0FBQTtJQUNkLGlFQUFZLENBQUE7SUFDWixpRUFBWSxDQUFBO0lBQ1osaUVBQVksQ0FBQTtJQUNaLGlFQUFZLENBQUE7SUFDWix5RUFBZ0IsQ0FBQTtJQUNoQiw2RUFBa0IsQ0FBQTtJQUNsQix3RUFBZ0IsQ0FBQTtJQUNoQiwwRUFBaUIsQ0FBQTtJQUNqQiwwRUFBaUIsQ0FBQTtJQUNqQix3RUFBZ0IsQ0FBQTtJQUNoQiwwR0FBaUMsQ0FBQTtJQUNqQyxnRkFBb0IsQ0FBQTtJQUNwQixrRkFBcUIsQ0FBQTtJQUNyQixzRkFBdUIsQ0FBQTtJQUN2QiwwRUFBaUIsQ0FBQTtJQUNqQiw4RUFBbUIsQ0FBQTtJQUNuQixzRkFBdUIsQ0FBQTtJQUN2Qiw4SEFBMkMsQ0FBQTtJQUMzQyxnRkFBb0IsQ0FBQTtJQUNwQiw4RkFBMkIsQ0FBQTtJQUMzQix3RkFBd0IsQ0FBQTtJQUN4QiwwRUFBaUIsQ0FBQTtJQUNqQixvRkFBc0IsQ0FBQTtJQUN0Qiw0RkFBMEIsQ0FBQTtJQUMxQixrRkFBcUIsQ0FBQTtJQUNyQiwwRUFBaUIsQ0FBQTtJQUNqQixzRUFBZSxDQUFBO0lBQ2Ysa0VBQWEsQ0FBQTtJQUNiLDBFQUFpQixDQUFBO0lBQ2pCLGdGQUFvQixDQUFBO0lBQ3BCLG9FQUFjLENBQUE7SUFDZCxrRUFBYSxDQUFBO0lBQ2IsOEVBQW1CLENBQUE7SUFDbkIsNEVBQWtCLENBQUE7SUFDbEIsNEVBQWtCLENBQUE7SUFDbEIsc0VBQWUsQ0FBQTtJQUNmLG9IQUFzQyxDQUFBO0lBQ3RDLG9FQUFjLENBQUE7SUFDZCxrRUFBYSxDQUFBO0lBQ2IsZ0dBQTRCLENBQUE7SUFDNUIsc0ZBQXVCLENBQUE7SUFDdkIsb0ZBQXNCLENBQUE7SUFDdEIsb0VBQWMsQ0FBQSxDQUFDLGFBQWE7QUFDaEMsQ0FBQyxFQTlDVyxpQkFBaUIsS0FBakIsaUJBQWlCLFFBOEM1QjtBQWdCRCxNQUFNLE9BQU8sZUFBZTtJQUE1QjtRQUtJLHlCQUFvQixHQUFHLDRCQUE0QixDQUFDO0lBQ3hELENBQUM7Q0FBQTtBQVlELE1BQU0sT0FBTyxhQUFhO0NBY3pCO0FBQ0QsTUFBTSxPQUFPLFdBQVksU0FBUSxlQUFlO0lBRTVDO1FBQ0ksS0FBSyxFQUFFLENBQUM7SUFDWixDQUFDO0NBQ0o7QUFDRCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxlQUFlO0NBRW5EO0FBQ0QsTUFBTSxPQUFPLGVBQWdCLFNBQVEsZUFBZTtDQUVuRDtBQW1DRCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsZUFBZTtDQUV2RDtBQUNELE1BQU0sT0FBTyxlQUFnQixTQUFRLGVBQWU7Q0FFbkQ7QUFTRCxNQUFNLE9BQU8sZ0JBQWdCO0NBdUI1QjtBQUVELE1BQU0sT0FBTyxXQUFXO0NBSXZCO0FBQ0QsTUFBTSxPQUFPLFVBQVU7Q0FJdEI7QUFDRCxNQUFNLE9BQU8sV0FBVztDQUl2QjtBQUVELE1BQU0sT0FBTyxXQUFXO0lBSXBCLFlBQW1CLE1BQXdCLEVBQVMsSUFBUztRQUExQyxXQUFNLEdBQU4sTUFBTSxDQUFrQjtRQUFTLFNBQUksR0FBSixJQUFJLENBQUs7UUFDekQsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztRQUN6QixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDOUIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdCLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsS0FBSyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUU7WUFDM0QsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxVQUFVLENBQUMsQ0FBQztTQUM3QztRQUNELElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsS0FBSyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUU7WUFDM0QsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQztTQUNwQztJQUNMLENBQUM7Q0FDSjtBQWdHRCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUc7SUFDdEIsWUFBWTtJQUNaLHFCQUFxQjtJQUNyQixhQUFhO0lBQ2IsZ0JBQWdCO0lBQ2hCLGlCQUFpQjtJQUNqQixnQkFBZ0I7SUFDaEIsa0JBQWtCO0lBQ2xCLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsZ0JBQWdCO0lBQ2hCLGlCQUFpQjtJQUNqQixnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLGdCQUFnQjtDQUNuQixDQUFDO0FBb0tGLE1BQU0sQ0FBTixJQUFZLGFBSVg7QUFKRCxXQUFZLGFBQWE7SUFDckIsOEJBQWEsQ0FBQTtJQUNiLDRCQUFXLENBQUE7SUFDWCw4QkFBYSxDQUFBO0FBQ2pCLENBQUMsRUFKVyxhQUFhLEtBQWIsYUFBYSxRQUl4QjtBQWlDRCxNQUFNLENBQU4sSUFBWSxhQUlYO0FBSkQsV0FBWSxhQUFhO0lBQ3JCLGtDQUFpQixDQUFBO0lBQ2pCLHNDQUFxQixDQUFBO0lBQ3JCLDhCQUFhLENBQUE7QUFDakIsQ0FBQyxFQUpXLGFBQWEsS0FBYixhQUFhLFFBSXhCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgRGF0ZUluZm8gYXMgRGF0ZUluZm9TZXJ2aWNlIH0gZnJvbSAnLi4vZGF0ZS1zZXJ2aWNlcyc7XHJcblxyXG5leHBvcnQgY2xhc3MgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xyXG4gICAgW2tleTogc3RyaW5nXTogYW55O1xyXG4gICAgQ29udHJvbEZpZWxkQ2FwdGlvbjogc3RyaW5nO1xyXG4gICAgQ29udHJvbEZpZWxkQ2FwdGlvblRyYW5zbGF0ZWQ6IHN0cmluZztcclxuICAgIENvbnRyb2xGaWVsZERlZklkOiBzdHJpbmc7XHJcbiAgICBDb250cm9sTmFtZTogc3RyaW5nO1xyXG4gICAgUmVsYXRlZEZpZWxkTGlzdDogW107XHJcbiAgICBIaWRlOiBib29sZWFuO1xyXG4gICAgeHR5cGU6IHN0cmluZztcclxuICAgIExhYmVsUG9zaXRpb246IHN0cmluZztcclxuICAgIElzTWFuZGF0b3J5OiBib29sZWFuO1xyXG4gICAgSXNWaXNpYmxlOiBib29sZWFuO1xyXG4gICAgU2hvd0xhYmVsID0gdHJ1ZTtcclxuICAgIElzUmVhZE9ubHk6IGJvb2xlYW47XHJcbiAgICBJc0VuYWJsZWQ6IGJvb2xlYW47XHJcbiAgICBJc0JvbGQ6IGJvb2xlYW47XHJcbiAgICBJc0F1dG9tYXRpYzogYm9vbGVhbjtcclxuICAgIEpzb25FeHRyYVByb3A6IGFueSB8IG51bGw7XHJcbiAgICBDb21wb25lbnQ6IHN0cmluZztcclxuICAgIEluZm86IENvbnRyb2xJbmZvVHlwZXM7XHJcbiAgICBGaWVsZEljb246IHN0cmluZztcclxuICAgIElzTHRyOiBib29sZWFuO1xyXG4gICAgRGlzcGxheVR5cGU6IHN0cmluZztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEZpbGVBdHRhY2htZW50SW5mbyB7XHJcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XHJcbiAgICBJZDogc3RyaW5nO1xyXG4gICAgSXNOZXc6IGJvb2xlYW47XHJcbiAgICBJc0RlbGV0ZWQ6IGJvb2xlYW47XHJcbiAgICBUeXBlOiBzdHJpbmc7XHJcbiAgICBGaWxlTmFtZT86IHN0cmluZztcclxufVxyXG5leHBvcnQgY2xhc3MgU3RyaW5nQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcclxuICAgIE1heExlbmd0aDogbnVtYmVyO1xyXG4gICAgTWluTGVuZ3RoOiBudW1iZXI7XHJcbiAgICBSZWd1bGFyRXhwcmVzc2lvbjogc3RyaW5nO1xyXG4gICAgSXNQYXNzd29yZDogYm9vbGVhbjtcclxuICAgIElzTXVsdGlMaW5lOiBib29sZWFuO1xyXG4gICAgTnVsbFRleHQ6IHN0cmluZztcclxuICAgIEFsbG93ZWRTdHJpbmdDaGFyczogc3RyaW5nO1xyXG4gICAgT25seUFjY2VwdEN1cnJlbnRDdWx0dXJlOiBib29sZWFuO1xyXG59XHJcbmV4cG9ydCBjbGFzcyBSaWNoU3RyaW5nQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIFN0cmluZ0NvbnRyb2xJbmZvTW9kZWwge1xyXG4gICAgSXNIdG1sVmlld2VyOiBib29sZWFuO1xyXG59XHJcbmV4cG9ydCBjbGFzcyBOdW1iZXJDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xyXG4gICAgTWluVmFsdWU6IG51bWJlcjtcclxuICAgIE1heFZhbHVlOiBudW1iZXI7XHJcbiAgICBEZWNpbWFsUHJlY2lzaW9uOiBudW1iZXI7XHJcbiAgICBTaG93VGhvdXNhbmRTZXBlcmF0b3I6IGJvb2xlYW47XHJcbiAgICBOdW1iZXJUeXBlOiBzdHJpbmc7XHJcbiAgICBDdXJyZW5jeVN5bWJvbDogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBjbGFzcyBGaWxlUGljdHVyZUluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcclxuICAgIEV4dDogc3RyaW5nO1xyXG4gICAgRmlsZUlkOiBzdHJpbmc7XHJcbiAgICBJc0RlbGV0ZWQ6IGJvb2xlYW47XHJcbn1cclxuZXhwb3J0IGNsYXNzIEZpbGVDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xyXG4gICAgQ2FuRGVsZXRlOiBib29sZWFuO1xyXG4gICAgQ2FuU2F2ZTogYm9vbGVhbjtcclxuICAgIENhblZpZXc6IGJvb2xlYW47XHJcbiAgICBJc011bHRpU2VsZWN0OiBib29sZWFuO1xyXG4gICAgTWF4RmlsZUNvdW50OiBudW1iZXI7XHJcbiAgICBNYXhGaWxlU2l6ZUtiOiBudW1iZXI7XHJcbiAgICBPZmZpY2VPbmxpbmU6IGJvb2xlYW47XHJcbiAgICBWYWxpZEV4dGVuc2lvbnM6IHN0cmluZztcclxuICAgIFZpZXdUeXBlOiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGNsYXNzIENvbW1hbmRDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xyXG4gICAgTWVudU5hbWU6IHN0cmluZztcclxuICAgIERpc2FibGVXaGVuUmVhZG9ubHk6IGJvb2xlYW47XHJcbiAgICBEaXNwbGF5VHlwZTogc3RyaW5nO1xyXG4gICAgRHluYW1pY0NvbW1hbmQ6IHN0cmluZztcclxufVxyXG5leHBvcnQgY2xhc3MgSWNvbkNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7fVxyXG5leHBvcnQgY2xhc3MgUGljdHVyZUZpbGVDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xyXG4gICAgU2l6ZU1vZGU6IG51bWJlcjtcclxuICAgIE1heEZpbGVTaXplS2I6IG51bWJlcjtcclxuICAgIFZhbGlkRXh0ZW5zaW9uczogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBjbGFzcyBHYXVnZUNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XHJcbiAgICBJc0F1dG9tYXRpYzogYm9vbGVhbjtcclxuICAgIE1heFZhbHVlOiBudW1iZXI7XHJcbiAgICBNYXhWYWx1ZTI6IG51bWJlcjtcclxuICAgIE1pblZhbHVlOiBudW1iZXI7XHJcbiAgICBNaW5WYWx1ZTI6IG51bWJlcjtcclxuICAgIFZhbHVlOiBudW1iZXI7XHJcbn1cclxuZXhwb3J0IHR5cGUgUmVsYXRpb25MaXN0VHlwZXMgPVxyXG4gICAgfCBSZWxhdGlvbkxpc3RDb250cm9sSW5mb01vZGVsXHJcbiAgICB8IEhpc3RvcnlDb250cm9sSW5mb01vZGVsXHJcbiAgICB8IFJhYmV0ZWhBa3NlVGFraUxpc3RpQ29udHJvbEluZm9Nb2RlbFxyXG4gICAgfCBTaW5nbGVSZWxhdGlvbkNvbnRyb2xJbmZvTW9kZWw7XHJcbmV4cG9ydCBjbGFzcyBSZWxhdGlvbkxpc3RDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xyXG4gICAgUmVsYXRpb25WaWV3VHlwZTogc3RyaW5nO1xyXG4gICAgVWx2U2V0dGluZzogUmVwb3J0TW9kZWw7XHJcbn1cclxuZXhwb3J0IGNsYXNzIEhpc3RvcnlDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgUmVsYXRpb25MaXN0Q29udHJvbEluZm9Nb2RlbCB7XHJcbiAgICBIYXNFeHRlcm5hbFBhcmFtZXRlcjogYm9vbGVhbjtcclxuICAgIFBhcmFtTmFtZTE6IHN0cmluZztcclxufVxyXG5leHBvcnQgY2xhc3MgUmFiZXRlaEFrc2VUYWtpTGlzdGlDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgUmVsYXRpb25MaXN0Q29udHJvbEluZm9Nb2RlbCB7XHJcbiAgICBBdXRvU2F2ZTtcclxufVxyXG5leHBvcnQgY2xhc3MgUmVsYXRlZFJlcG9ydENvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XHJcbiAgICBIYXNFeHRlcm5hbFBhcmFtZXRlcjogYm9vbGVhbjtcclxuICAgIFBhcmFtTmFtZTE6IHN0cmluZztcclxuICAgIFVsdlNldHRpbmc6IFJlcG9ydE1vZGVsO1xyXG59XHJcbmV4cG9ydCBjbGFzcyBDb2RlRWRpdG9yQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcclxuICAgIEV4dHJhVGV4dDogc3RyaW5nO1xyXG4gICAgU3VnZ2VzdGlvbnM6IHN0cmluZztcclxufVxyXG5leHBvcnQgY2xhc3MgRW51bUNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XHJcbiAgICBJc011bHRpU2VsZWN0OiBib29sZWFuO1xyXG4gICAgU2hvd0FzUmFkaW9CdXR0b246IGJvb2xlYW47XHJcbiAgICBJY29uRGlzcGxheVR5cGU6IHN0cmluZztcclxuICAgIERhdGFTb3VyY2U6IHtcclxuICAgICAgICBSb3dzOiBSb3dEYXRhT3B0aW9uW107XHJcbiAgICB9O1xyXG4gICAgRW1wdHlSb3dEYXRhOiBSb3dEYXRhT3B0aW9uO1xyXG59XHJcbmV4cG9ydCBjbGFzcyBSb3dEYXRhT3B0aW9uIHtcclxuICAgIGlkOiBzdHJpbmc7XHJcbiAgICBJc0VtcHR5OiBib29sZWFuO1xyXG4gICAgdHh0OiBzdHJpbmc7XHJcbiAgICB0eHRfc2FmZT86IHN0cmluZztcclxuICAgIHVybDogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBjbGFzcyBEYXRlVGltZUNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XHJcbiAgICBDYWxlbmRhclR5cGU6IHN0cmluZztcclxuICAgIERhdGVGb3JtYXQ6IHN0cmluZztcclxuICAgIFNob3dEYXRlMTogYm9vbGVhbjtcclxuICAgIFNob3dUaW1lMTogYm9vbGVhbjtcclxuICAgIFRpbWVGb3JtYXQ6IHN0cmluZztcclxufVxyXG5leHBvcnQgY2xhc3MgQm9vbENvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XHJcbiAgICBGYWxzZUNhcHRpb246IHN0cmluZztcclxuICAgIFRydWVDYXB0aW9uOiBzdHJpbmc7XHJcbiAgICBUcnVlSWNvbjogc3RyaW5nO1xyXG4gICAgVmlld1R5cGU6IHN0cmluZztcclxuICAgIEZhbHNlSWNvbjogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBjbGFzcyBDYWxjdWxhdGVDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xyXG4gICAgSW5uZXJDdHJscjogQ29udHJvbEluZm9UeXBlcztcclxuICAgIEV4ZWN1dGFpb25UaW1lOiBzdHJpbmc7XHJcbiAgICBFZGl0VHlwZTogc3RyaW5nO1xyXG4gICAgRG9udFNob3dSZWNhbGN1bGF0ZUJ1dHRvbjogYm9vbGVhbjtcclxufVxyXG5leHBvcnQgY2xhc3MgU3ViZm9ybUNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XHJcbiAgICBUeXBlRGVmSWQ6IGFueTtcclxuICAgIFR5cGVEZWZJY29uOiBzdHJpbmc7XHJcbiAgICBJc0NvbXBvc2VkUmVsYXRpb246IHN0cmluZztcclxuICAgIERyb3BEb3duUmVwb3J0SWQ6IHN0cmluZztcclxuICAgIFR5cGVWaWV3SWQ6IHN0cmluZztcclxuICAgIEZvcm1QYW5lbFNldHRpbmc6IEZvcm1TZXR0aW5nO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgRG93bmxvYWRGaWxlSW5mbyB7XHJcbiAgICBmaWxlSWQ6IHN0cmluZztcclxuICAgIGZpbGVVcmw6IHN0cmluZztcclxuICAgIHZpZXdJbkJyb3dzZXI6IGJvb2xlYW47XHJcbiAgICBjb252ZXJ0VG86IHN0cmluZztcclxuICAgIGlzT2ZmaWNlT25saW5lOiBib29sZWFuO1xyXG4gICAgZm9yT2N4OiBib29sZWFuO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgRG93bmxvYWRGaWxlSW5mb1Jlc3VsdCB7XHJcbiAgICBmaWxlbmFtZTogc3RyaW5nO1xyXG4gICAgY29udGVudDogc3RyaW5nO1xyXG4gICAgY29udGVudFR5cGU6IHN0cmluZztcclxuICAgIHN1Y2NlZWQ6IGJvb2xlYW47XHJcbn1cclxuZXhwb3J0IGNsYXNzIExpbmVhckxpc3RDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xyXG4gICAgRGVmYXVsdEZpZWxkOiBzdHJpbmc7XHJcbiAgICBFeHRyYUpzb25Qcm9wRmllbGQ6IHN0cmluZztcclxuICAgIEZpbGxCZWZvcmVEcm9wRG93bjogYm9vbGVhbjtcclxuICAgIElzR2VuZXJhbEluZm86IGJvb2xlYW47XHJcbiAgICBJc011bHRpU2VsZWN0OiBib29sZWFuO1xyXG4gICAgUmVsYXRpb246IExpc3RSZWxhdGlvbk1vZGVsO1xyXG4gICAgUmVsYXRpb25WaWV3VHlwZTogc3RyaW5nO1xyXG4gICAgUm93SWNvbjogc3RyaW5nO1xyXG4gICAgVGFyZ2V0VHlwZURlZklkOiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGNsYXNzIExpc3RSZWxhdGlvbk1vZGVsIHtcclxuICAgIFtrZXk6IHN0cmluZ106IGFueTtcclxuICAgIENoaWxkRmRJZDogc3RyaW5nO1xyXG4gICAgQ2hpbGRGZE5hbWU6IHN0cmluZztcclxuICAgIElzQXV0b1NhdmU6IGJvb2xlYW47XHJcbiAgICBQYXJlbnRNb0lkOiBzdHJpbmc7XHJcbiAgICBSZWxhdGlvblR5cGU6IHN0cmluZztcclxufVxyXG5leHBvcnQgY2xhc3MgU2luZ2xlUmVsYXRpb25Db250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xyXG4gICAgQ29sdW1uUmVxdWVzdEVudW06IHN0cmluZztcclxuICAgIERyb3BEb3duUmVwb3J0SWQ6IHN0cmluZztcclxuICAgIEZpbGxCZWZvcmVEcm9wRG93bjogYm9vbGVhbjtcclxuICAgIEhpZGVDb21ibzogYm9vbGVhbjtcclxuICAgIFJlbGF0aW9uVmlld1R5cGU6IHN0cmluZztcclxuICAgIFBhc3NQYXJlbnRGb3JtOiBib29sZWFuO1xyXG4gICAgU2hvd05ld0J1dHRvbjogYm9vbGVhbjtcclxuICAgIFNob3dPa0NhbmNlbDogYm9vbGVhbjtcclxuICAgIFZpZXdSZWxhdGVkRm9ybVR5cGU6IHN0cmluZztcclxuICAgIFRhcmdldFR5cGVEZWZJZDogc3RyaW5nO1xyXG4gICAgRGF0YVNvdXJjZToge1xyXG4gICAgICAgIFJvd3M6IFJvd0RhdGFPcHRpb25bXTtcclxuICAgIH07XHJcbiAgICBQcmV2aWV3RmllbGRDYXB0aW9uOiBzdHJpbmc7XHJcbiAgICBQcmV2aWV3RmllbGRJZDogc3RyaW5nO1xyXG4gICAgUHJldmlld0ZpZWxkTmFtZTogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBDb250cm9sSW5mb1R5cGVzID1cclxuICAgIHwgU3ViZm9ybUNvbnRyb2xJbmZvTW9kZWxcclxuICAgIHwgQ2FsY3VsYXRlQ29udHJvbEluZm9Nb2RlbFxyXG4gICAgfCBCb29sQ29udHJvbEluZm9Nb2RlbFxyXG4gICAgfCBFbnVtQ29udHJvbEluZm9Nb2RlbFxyXG4gICAgfCBJY29uQ29udHJvbEluZm9Nb2RlbFxyXG4gICAgfCBGaWxlQ29udHJvbEluZm9Nb2RlbFxyXG4gICAgfCBEYXRlVGltZUNvbnRyb2xJbmZvTW9kZWxcclxuICAgIHwgTnVtYmVyQ29udHJvbEluZm9Nb2RlbFxyXG4gICAgfCBTdHJpbmdDb250cm9sSW5mb01vZGVsXHJcbiAgICB8IFBpY3R1cmVGaWxlQ29udHJvbEluZm9Nb2RlbFxyXG4gICAgfCBHYXVnZUNvbnRyb2xJbmZvTW9kZWxcclxuICAgIHwgQ29tbWFuZENvbnRyb2xJbmZvTW9kZWxcclxuICAgIHwgQ29kZUVkaXRvckNvbnRyb2xJbmZvTW9kZWw7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1WaWV3U2V0dGluZyB7XHJcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XHJcbiAgICBMYXlvdXQ5NDogYW55O1xyXG4gICAgQ29udHJvbEluZm86IEdlbmVyYWxDb250cm9sSW5mb01vZGVsW107XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBGb3JtU2V0dGluZyB7XHJcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XHJcbiAgICBEYXRhOiB7XHJcbiAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xyXG4gICAgICAgIE1vOiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xyXG4gICAgfTtcclxuICAgIFZpZXc6IEZvcm1WaWV3U2V0dGluZztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIE1ldGFvYmplY3REYXRhTW9kZWwge1xyXG4gICAgW2tleTogc3RyaW5nXTogYW55O1xyXG4gICAgJEZpZWxkRGljdD86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XHJcbiAgICAkUmVwb3J0SWQ/OiBzdHJpbmc7XHJcbiAgICAkVHlwZT86IHN0cmluZztcclxuICAgICRTdHlsZUluZGV4PzogbnVtYmVyW107XHJcbiAgICAkQ2FwdGlvbjogc3RyaW5nO1xyXG4gICAgJEljb24/OiBzdHJpbmc7XHJcbiAgICAkU3RhdGU/OiBzdHJpbmc7XHJcbiAgICAkVHlwZURlZklkPzogc3RyaW5nO1xyXG4gICAgJFR5cGVEZWZOYW1lPzogc3RyaW5nO1xyXG4gICAgJENoaWxkcmVuPzogTWV0YW9iamVjdERhdGFNb2RlbFtdO1xyXG4gICAgSW5oZXJpdGFuY2U/OiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xyXG4gICAgSW5oZXJpdGFuY2VJbmZvPzoge1xyXG4gICAgICAgIENoaWxkRmllbGROYW1lOiBzdHJpbmc7XHJcbiAgICAgICAgUGFyZW50RmllbGROYW1lOiBzdHJpbmc7XHJcbiAgICB9O1xyXG4gICAgSWQ6IHN0cmluZztcclxufVxyXG5leHBvcnQgZGVjbGFyZSBjbGFzcyBDYWxlbmRhck1ldGFvYmplY3REYXRhTW9kZWwgZXh0ZW5kcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcclxuICAgICRDb2xvcjogc3RyaW5nO1xyXG4gICAgJE1vbWVudFN0YXJ0RGF0ZTogc3RyaW5nO1xyXG4gICAgJE1vbWVudEVuZERhdGU6IHN0cmluZztcclxuICAgICRTdGFydFRpbWVzOiBzdHJpbmc7XHJcbiAgICAkRW5kVGltZXM6IHN0cmluZztcclxuICAgICRUaXRsZTogc3RyaW5nO1xyXG4gICAgJE5vdGVzOiBzdHJpbmc7XHJcbiAgICAkU3RhcnREYXRlSW5mbz86IERhdGVJbmZvU2VydmljZTtcclxuICAgICRFbmREYXRlSW5mbz86IERhdGVJbmZvU2VydmljZTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIE1vRm9yUmVwb3J0TW9kZWwge1xyXG4gICAgJFR5cGU/OiBzdHJpbmc7XHJcbiAgICBUeXBlRGVmSWQ6IHN0cmluZztcclxuICAgIFJlcG9ydElkOiBzdHJpbmc7XHJcbiAgICBJY29uPzogc3RyaW5nO1xyXG4gICAgTW9EYXRhTGlzdDogQXJyYXk8TWV0YW9iamVjdERhdGFNb2RlbD47XHJcbiAgICBEZWxldGVkTGlzdDogQXJyYXk8eyBJZDogc3RyaW5nOyBUeXBlRGVmSWQ6IHN0cmluZyB9PjtcclxuICAgIEFkZGVkTGlzdDogQXJyYXk8eyBJZDogc3RyaW5nOyBUeXBlRGVmSWQ6IHN0cmluZyB9PjtcclxuICAgIFBhZ2luZzogUGFnaW5nU2V0dGluZztcclxuICAgIFJlbGF0aW9uPzoge1xyXG4gICAgICAgIFJlbGF0aW9uVHlwZTogc3RyaW5nO1xyXG4gICAgICAgIFBhcmVudE1vSWQ6IHN0cmluZztcclxuICAgICAgICBQYXJlbnRGZElkOiBzdHJpbmc7XHJcbiAgICAgICAgQ2hpbGRGZElkOiBzdHJpbmc7XHJcbiAgICAgICAgUGFyZW50RmROYW1lOiBzdHJpbmc7XHJcbiAgICAgICAgQ2hpbGRGZE5hbWU6IHN0cmluZztcclxuICAgICAgICBQYXNzUGFyZW50TW9GaWVsZDogc3RyaW5nO1xyXG4gICAgICAgIElzQXV0b1NhdmU6IGJvb2xlYW47XHJcbiAgICAgICAgSXNBdXRvU2F2ZV9SZWxvYWRQYXJlbnRGb3JtczogYm9vbGVhbjtcclxuICAgICAgICBJc0F1dG9TYXZlX1JlbG9hZFJvb3RQYXJlbnRMaXN0OiBib29sZWFuO1xyXG4gICAgfTtcclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHRoaXMuRGVsZXRlZExpc3QgPSB0aGlzLkFkZGVkTGlzdCA9IHRoaXMuTW9EYXRhTGlzdCA9IFtdO1xyXG4gICAgfVxyXG59XHJcbmV4cG9ydCBjbGFzcyBSZXBvcnRCYXNlSW5mbyB7XHJcbiAgICBJZDogc3RyaW5nO1xyXG4gICAgQ2FwdGlvbjogc3RyaW5nO1xyXG4gICAgRm9sZGVySWQ6IHN0cmluZztcclxuICAgIEljb25Vcmw6IHN0cmluZztcclxuICAgIE5hbWU6IHN0cmluZztcclxuICAgIFJlcG9ydElkOiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGNsYXNzIFJlcG9ydEV4dHJhSW5mbyBleHRlbmRzIFJlcG9ydEJhc2VJbmZvIHtcclxuICAgIFR5cGVEZWZJZDogc3RyaW5nO1xyXG4gICAgVHlwZURlZkNhcHRpb246IHN0cmluZztcclxuICAgIFJlcG9ydFR5cGU6IHN0cmluZztcclxuICAgIEhpZGVUb29sYmFyOiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTWV0YW9iamVjdFJlbGF0aW9uTW9kZWwgZXh0ZW5kcyBMaXN0UmVsYXRpb25Nb2RlbCB7XHJcbiAgICBQYXJlbnRGZElkOiBzdHJpbmc7XHJcbiAgICBQYXNzUGFyZW50TW9GaWVsZDogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgZW51bSBGaWVsZEluZm9UeXBlRW51bSB7XHJcbiAgICBJbnRJbmZvID0gMCxcclxuICAgIFN0cmluZ0luZm8gPSAyLFxyXG4gICAgRGF0ZUluZm8gPSAzLFxyXG4gICAgQm9vbEluZm8gPSA1LFxyXG4gICAgRW51bUluZm8gPSA2LFxyXG4gICAgVXNlckluZm8gPSA3LFxyXG4gICAgQ2F0ZWdvcnlJbmZvID0gOCxcclxuICAgIE1ldGFPYmplY3RJbmZvID0gOSxcclxuICAgIENvbW1hbmRJbmZvID0gMTAsIC8vIDB4MDAwMDAwMEFcclxuICAgIFBpY3R1cmVzSW5mbyA9IDExLCAvLyAweDAwMDAwMDBCXHJcbiAgICBSZWxhdGlvbkluZm8gPSAxMiwgLy8gMHgwMDAwMDAwQ1xyXG4gICAgSGlzdG9yeUluZm8gPSAxMywgLy8gMHgwMDAwMDAwRFxyXG4gICAgUmVsYXRpb25JbmZvUmV2ZXJzZV9Ba3NMaXN0aSA9IDE0LCAvLyAweDAwMDAwMDBFXHJcbiAgICBDcmVhdG9yVXNlckluZm8gPSAxNSwgLy8gMHgwMDAwMDAwRlxyXG4gICAgQ3JlYXRpb25EYXRlSW5mbyA9IDE2LCAvLyAweDAwMDAwMDEwXHJcbiAgICBMYXN0VXBkYXRlRGF0ZUluZm8gPSAxNywgLy8gMHgwMDAwMDAxMVxyXG4gICAgUmVtaW5kZXJJbmZvID0gMTgsIC8vIDB4MDAwMDAwMTJcclxuICAgIFJpY2hTdHJpbmdJbmZvID0gMTksIC8vIDB4MDAwMDAwMTNcclxuICAgIENvbnZlcnRDb21tYW5kSW5mbyA9IDIwLCAvLyAweDAwMDAwMDE0XHJcbiAgICBSZWxhdGlvbkluZm9TaW5nbGVSZXZlcnNlX0Frc1Rha2lMaXN0aSA9IDIxLCAvLyAweDAwMDAwMDE1XHJcbiAgICBEaWFsQ29tbWFuZEluZm8gPSAyMiwgLy8gMHgwMDAwMDAxNlxyXG4gICAgRmluZENvbnRhY3RDb21tYW5kSW5mbyA9IDIzLCAvLyAweDAwMDAwMDE3XHJcbiAgICBTZXF1ZW5jZUNvbW1hbmRJbmZvID0gMjQsIC8vIDB4MDAwMDAwMThcclxuICAgIEN1cnJlbmN5SW5mbyA9IDI1LCAvLyAweDAwMDAwMDE5XHJcbiAgICBTaW5nbGVQaWN0dXJlSW5mbyA9IDI2LCAvLyAweDAwMDAwMDFBXHJcbiAgICBXb3JkUmVwb3J0Q29tbWFuZEluZm8gPSAyNywgLy8gMHgwMDAwMDAxQlxyXG4gICAgSGllcmFyY2hpY2FsSW5mbyA9IDI4LCAvLyAweDAwMDAwMDFDXHJcbiAgICBUaW1lU3BhbkluZm8gPSAyOSwgLy8gMHgwMDAwMDAxRFxyXG4gICAgUmVwb3J0SW5mbyA9IDMwLCAvLyAweDAwMDAwMDFFXHJcbiAgICBGaWxlSW5mbyA9IDMxLCAvLyAweDAwMDAwMDFGXHJcbiAgICBXb3JkRmlsZUluZm8gPSAzMiwgLy8gMHgwMDAwMDAyMFxyXG4gICAgUGljdHVyZUZpbGVJbmZvID0gMzMsIC8vIDB4MDAwMDAwMjFcclxuICAgIEdhdWdlSW5mbyA9IDM0LCAvLyAweDAwMDAwMDIyXHJcbiAgICBDb2RlSW5mbyA9IDM1LCAvLyAweDAwMDAwMDIzXHJcbiAgICBXb3JrQ2VudGVySW5mbyA9IDM2LCAvLyAweDAwMDAwMDI0XHJcbiAgICBJc0RlbGV0ZWRJbmZvID0gMzcsIC8vIDB4MDAwMDAwMjVcclxuICAgIFJvd051bWJlckluZm8gPSAzOCwgLy8gMHgwMDAwMDAyNlxyXG4gICAgQmluYXJ5SW5mbyA9IDM5LCAvLyAweDAwMDAwMDI3XHJcbiAgICBSZXZlcnNlTWV0YU9iamVjdEluZm9fQWtzVGFraVRha2kgPSA0MCwgLy8gMHgwMDAwMDAyOFxyXG4gICAgQ29sb3JJbmZvID0gNDEsIC8vIDB4MDAwMDAwMjlcclxuICAgIEljb25JbmZvID0gNDIsIC8vIDB4MDAwMDAwMkFcclxuICAgIFJlZnJlc2hGaWVsZENvbW1hbmRJbmZvID0gNDMsIC8vIDB4MDAwMDAwMkJcclxuICAgIFJlZmVyZW5jZUZpZWxkSW5mbyA9IDQ0LCAvLyAweDAwMDAwMDJDXHJcbiAgICBTZWFyY2hDb21tYW5kSW5mbyA9IDQ1LCAvLyAweDAwMDAwMDJEXHJcbiAgICBPcmRlckluZm8gPSA0NiAvLyAweDAwMDAwMDJFXHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBDbGFzc05hbWVzTW9kZWwge1xyXG4gICAgQ29tbWFuZEJhckNsYXNzOiBzdHJpbmc7XHJcbiAgICBEYXRhQ2xhc3M6IHN0cmluZztcclxuICAgIFNlbGVjdGlvbkNsYXNzOiBzdHJpbmc7XHJcbiAgICBWaWV3ZXJDbGFzczogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgRXh0cmFNb2RlbCB7XHJcbiAgICBDdXN0b21Db21tYW5kcz86IEN1c3RvbUNvbW1hbmRbXTtcclxuICAgIERlZmF1bHRDb21tYW5kc0FjY2Vzcz86IERlZmF1bHRDb21tYW5kc0FjY2VzcztcclxuICAgIFBhcmVudFVsdkNvbmZpZz86IGFueTtcclxuICAgIFJlbGF0aW9uPzogTWV0YW9iamVjdFJlbGF0aW9uTW9kZWw7XHJcbiAgICBSZXBvcnQ/OiBSZXBvcnRFeHRyYUluZm87XHJcbiAgICBFeHRyYUpzb25Qcm9wUmVwb3J0PzogYW55O1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQmFzZVJlcG9ydE1vZGVsIHtcclxuICAgIENsYXNzTmFtZXM6IENsYXNzTmFtZXNNb2RlbDtcclxuICAgIEV4dHJhOiBFeHRyYU1vZGVsO1xyXG4gICAgVmlldzogVmlld1R5cGVzO1xyXG4gICAgU2VhcmNoUGFuZWw6IGFueTtcclxuICAgIERlZmF1bHRJdGVtQ29tcG9uZW50ID0gJ1JlcG9ydERlZmF1bHRJdGVtQ29tcG9uZW50JztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIERlZmF1bHRDb21tYW5kc0FjY2VzcyB7XHJcbiAgICBBZGQ6IGJvb2xlYW47XHJcbiAgICBBZGRUb0xpc3Q6IGJvb2xlYW47XHJcbiAgICBEZWxldGU6IGJvb2xlYW47XHJcbiAgICBFZGl0OiBib29sZWFuO1xyXG4gICAgRXhwb3J0OiBib29sZWFuO1xyXG4gICAgUHJpbnQ6IGJvb2xlYW47XHJcbiAgICBSZWZyZXNoOiBib29sZWFuO1xyXG4gICAgUmVtb3ZlRnJvbUxpc3Q6IGJvb2xlYW47XHJcbiAgICBWaWV3OiBib29sZWFuO1xyXG59XHJcbmV4cG9ydCBjbGFzcyBDdXN0b21Db21tYW5kIHtcclxuICAgIERhdGE6IGFueTtcclxuICAgIERpc2FibGVXaGVuUmVhZG9ubHk6IGJvb2xlYW47XHJcbiAgICBIaWRlRGlzYWJsZTogYm9vbGVhbjtcclxuICAgIEljb25Vcmw6IHN0cmluZztcclxuICAgIElzTGFyZ2U6IGJvb2xlYW47XHJcbiAgICBNeXR5cGU6IHN0cmluZztcclxuICAgIE9yZGVyOiBudW1iZXI7XHJcbiAgICBTaG93T25Db250ZXh0OiBib29sZWFuO1xyXG4gICAgU2hvd09uVG9vbGJhcjogYm9vbGVhbjtcclxuICAgIFRleHQ6IHN0cmluZztcclxuICAgIFVzZUFsd2F5czogYm9vbGVhbjtcclxuICAgIFVzZUZvck11bHRpOiBib29sZWFuO1xyXG4gICAgVXNlRm9yU2luZ2xlOiBib29sZWFuO1xyXG59XHJcbmV4cG9ydCBjbGFzcyBSZXBvcnRNb2RlbCBleHRlbmRzIEJhc2VSZXBvcnRNb2RlbCB7XHJcbiAgICBEYXRhOiBNb0ZvclJlcG9ydE1vZGVsO1xyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgY2xhc3MgUmVwb3J0TGlzdE1vZGVsIGV4dGVuZHMgQmFzZVJlcG9ydE1vZGVsIHtcclxuICAgIFZpZXc6IEdyaWRWaWV3O1xyXG59XHJcbmV4cG9ydCBjbGFzcyBSZXBvcnRGb3JtTW9kZWwgZXh0ZW5kcyBCYXNlUmVwb3J0TW9kZWwge1xyXG4gICAgVmlldzogRm9ybVZpZXc7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBUcmVlVmlldyB7XHJcbiAgICBDb25kaXRpb25hbEZvcm1hdHM6IFtdO1xyXG4gICAgUGFyZW50SWREYk5hbWU6IHN0cmluZztcclxuICAgIFNob3dTZWxlY3Rpb25DaGVja3M6IGJvb2xlYW47XHJcbiAgICBUcmVlQXV0b09wZW5MZXZlbHM6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBHcmlkVmlldyB7XHJcbiAgICBBbGxvd0dyaWRDb2x1bW5Tb3J0OiBib29sZWFuO1xyXG4gICAgQXV0b0lubGluZUVkaXQ6IGJvb2xlYW47XHJcbiAgICBDb2x1bW5SZXF1ZXN0RW51bTogc3RyaW5nO1xyXG4gICAgQ29sdW1uczogQXJyYXk8UmVwb3J0Vmlld0NvbHVtbj47XHJcbiAgICBDb25kaXRpb25hbEZvcm1hdHM6IFtdO1xyXG4gICAgRGlzYWJsZVJvd1JlbG9hZDogYm9vbGVhbjtcclxuICAgIEdyaWRTZXR0aW5nOiBHcmlkU2V0dGluZztcclxuICAgIEdyaWRfRnJlZUNvbHVtblNpemluZzogYm9vbGVhbjtcclxuICAgIEdyaWRfR3JpZExpbmVzOiBzdHJpbmc7XHJcbiAgICBHcmlkX0hpZGVIZWFkZXI6IGJvb2xlYW47XHJcbiAgICBHcmlkX1Nob3dSb3dOdW1iZXI6IGJvb2xlYW47XHJcbiAgICBIYXNDb25kaXRpb25hbEZvcm1hdDogYm9vbGVhbjtcclxuICAgIEhhc1N1bW1hcnlSb3c6IGJvb2xlYW47XHJcbiAgICBIaWRlSWNvbjogYm9vbGVhbjtcclxuICAgIElzQ2hlY2tMaXN0OiBib29sZWFuO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2FsZW5kYXJWaWV3IHtcclxuICAgIENhbGVuZGFyRmllbGRzOiBDYWxlbmRhckZpZWxkcztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1WaWV3IHtcclxuICAgIEZvcm1QYW5lbFNldHRpbmc6IGFueTtcclxufVxyXG5leHBvcnQgdHlwZSBWaWV3VHlwZXMgPSBHcmlkVmlldyB8IENhbGVuZGFyVmlldyB8IFRyZWVWaWV3IHwgRm9ybVZpZXc7XHJcblxyXG5leHBvcnQgdHlwZSBSZXBvcnRNb2RlbFR5cGVzID0gUmVwb3J0TGlzdE1vZGVsIHwgUmVwb3J0Q2FsZW5kYXJNb2RlbCB8IFJlcG9ydEZvcm1Nb2RlbCB8IFJlcG9ydFRyZWVNb2RlbDtcclxuXHJcbmV4cG9ydCBjbGFzcyBSZXBvcnRDYWxlbmRhck1vZGVsIGV4dGVuZHMgQmFzZVJlcG9ydE1vZGVsIHtcclxuICAgIFZpZXc6IENhbGVuZGFyVmlldztcclxufVxyXG5leHBvcnQgY2xhc3MgUmVwb3J0VHJlZU1vZGVsIGV4dGVuZHMgQmFzZVJlcG9ydE1vZGVsIHtcclxuICAgIFZpZXc6IFRyZWVWaWV3O1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2FsZW5kYXJGaWVsZHMge1xyXG4gICAgRW5kRGF0ZTogc3RyaW5nO1xyXG4gICAgTm90ZXM6IHN0cmluZztcclxuICAgIFN0YXJ0RGF0ZTogc3RyaW5nO1xyXG4gICAgVGl0bGU6IHN0cmluZztcclxuICAgIENvbG9yOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBSZXBvcnRWaWV3Q29sdW1uIHtcclxuICAgIEFsaWFzOiBzdHJpbmc7XHJcbiAgICBDYXB0aW9uOiBzdHJpbmc7XHJcbiAgICBGaWVsZERlZklkOiBzdHJpbmc7XHJcbiAgICBGaWVsZFR5cGVJZDogbnVtYmVyO1xyXG4gICAgRmllbGRUeXBlOiBzdHJpbmc7XHJcbiAgICBIYXNTdW1tYXJ5OiBib29sZWFuO1xyXG4gICAgSGlkZGVuOiBib29sZWFuO1xyXG4gICAgSXNMdHI6IGJvb2xlYW47XHJcbiAgICBJc1ByZXZpZXc6IGJvb2xlYW47XHJcbiAgICBNZXRhRmllbGRUeXBlSWQ6IHN0cmluZztcclxuICAgIE5hbWU6IHN0cmluZztcclxuICAgIFdpZHRoOiBudW1iZXI7XHJcbiAgICBUYWc/OiBzdHJpbmc7XHJcbiAgICBJY29uOiBzdHJpbmc7XHJcbiAgICBPbmx5SW1hZ2U/OiBib29sZWFuO1xyXG4gICAgRXh0cmE/OiBhbnk7XHJcbiAgICAkV2lkdGg6IHN0cmluZztcclxuICAgICRXaWR0aDI/OiBzdHJpbmc7XHJcbiAgICAkTWVyZ2VkRmllbGRzVG9Db2x1bW4/OiBzdHJpbmdbXTtcclxuICAgICRDU1NDbGFzc05hbWU/OiBzdHJpbmc7XHJcbiAgICAkQ3VzdG9tQ29tcG9uZW50PzogRWpyYXlPbGdvO1xyXG4gICAgJFRleHRXaWR0aD86IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEdyaWRTZXR0aW5nIHtcclxuICAgIENvbFNldHRpbmdMaXN0OiBBcnJheTxDb2xTZXR0aW5nPjtcclxuICAgIFNvcnRTZXR0aW5nTGlzdDogQXJyYXk8U29ydFNldHRpbmc+O1xyXG4gICAgQXV0b1NpemVDb2x1bW5zOiBib29sZWFuO1xyXG59XHJcbmV4cG9ydCBjbGFzcyBDb2xTZXR0aW5nIHtcclxuICAgIE5hbWU6IHN0cmluZztcclxuICAgIFdpZHRoOiBudW1iZXI7XHJcbiAgICBJc0hpZGRlbjogYm9vbGVhbjtcclxufVxyXG5leHBvcnQgY2xhc3MgU29ydFNldHRpbmcge1xyXG4gICAgTmFtZTogc3RyaW5nO1xyXG4gICAgU29ydERpcmVjdGlvbjogc3RyaW5nO1xyXG4gICAgSXNHcm91cGVkOiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgUmVwb3J0RmllbGQge1xyXG4gICAgcHVibGljIGtleTogc3RyaW5nO1xyXG4gICAgcHVibGljIHZhbHVlOiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgY2FwdGlvbjogc3RyaW5nO1xyXG4gICAgY29uc3RydWN0b3IocHVibGljIGNvbHVtbjogUmVwb3J0Vmlld0NvbHVtbiwgcHVibGljIGl0ZW06IGFueSkge1xyXG4gICAgICAgIGNvbnN0IG5hbWUgPSBjb2x1bW4uTmFtZTtcclxuICAgICAgICB0aGlzLmNhcHRpb24gPSBjb2x1bW4uQ2FwdGlvbjtcclxuICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5pdGVtW25hbWVdO1xyXG4gICAgICAgIGlmIChOdW1iZXIoY29sdW1uLkZpZWxkVHlwZUlkKSA9PT0gRmllbGRJbmZvVHlwZUVudW0uRGF0ZUluZm8pIHtcclxuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuaXRlbVtuYW1lICsgJyRDYXB0aW9uJ107XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChOdW1iZXIoY29sdW1uLkZpZWxkVHlwZUlkKSA9PT0gRmllbGRJbmZvVHlwZUVudW0uSWNvbkluZm8pIHtcclxuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuaXRlbVtuYW1lXS5Vcmw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIExvZ2luUmVzdWx0IHtcclxuICAgIGRhdGE6IHsgc3RoOiBzdHJpbmcgfTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIENvbXBvbmVudFNldHRpbmdzRGF0YU1vZGVsIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XHJcbiAgICBQbGFjZUhvbGRlcnM/OiBQbGFjZUhvbGRlckRhdGFNb2RlbFtdO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29tcG9uZW50RGF0YU1vZGVsIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XHJcbiAgICBTZWxlY3Rvcjogc3RyaW5nO1xyXG4gICAgU2V0dGluZ3M6IENvbXBvbmVudFNldHRpbmdzRGF0YU1vZGVsO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgUGxhY2VIb2xkZXJEYXRhTW9kZWwgZXh0ZW5kcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcclxuICAgIE5hbWU6IHN0cmluZztcclxuICAgIFRpdGxlOiBzdHJpbmc7XHJcbiAgICBJc1BhZ2U6IGJvb2xlYW47XHJcbiAgICBPcmRlck51bWJlcjogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE1vZHVsZURhdGFNb2RlbCBleHRlbmRzIE1ldGFvYmplY3REYXRhTW9kZWwge1xyXG4gICAgVGl0bGU6IHN0cmluZztcclxuICAgIFBsYWNlSG9sZGVyOiBQbGFjZUhvbGRlckRhdGFNb2RlbDtcclxuICAgIENvbXBvbmVudDogQ29tcG9uZW50RGF0YU1vZGVsO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgUGFnZUxpc3RSZXBvcnRNb2RlbCBleHRlbmRzIE1vRm9yUmVwb3J0TW9kZWwge1xyXG4gICAgTW9EYXRhTGlzdDogQXJyYXk8UGFnZURhdGFNb2RlbD47XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBNb2R1bGVMaXN0UmVwb3J0TW9kZWwgZXh0ZW5kcyBNb0ZvclJlcG9ydE1vZGVsIHtcclxuICAgIE1vRGF0YUxpc3Q6IEFycmF5PE1vZHVsZURhdGFNb2RlbD47XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBQYWdlRGF0YU1vZGVsIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XHJcbiAgICBDb21wb25lbnQ6IENvbXBvbmVudERhdGFNb2RlbDtcclxuICAgIE1vZHVsZUxpc3Q6IE1vZHVsZUxpc3RSZXBvcnRNb2RlbDtcclxuICAgIENoaWxkUGFnZUxpc3Q6IFBhZ2VMaXN0UmVwb3J0TW9kZWw7XHJcbiAgICBUaXRsZTogc3RyaW5nO1xyXG4gICAgUm91dGU6IHN0cmluZztcclxuICAgIElzRGVmYXVsdFJvdXRlOiBzdHJpbmc7XHJcbiAgICBJc0xvZ2luUm91dGU6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQb3J0YWxEYXRhTW9kZWwgZXh0ZW5kcyBQYWdlRGF0YU1vZGVsIHtcclxuICAgIElzQWN0aXZlOiBib29sZWFuO1xyXG4gICAgSXNQd2E6IGJvb2xlYW47XHJcbiAgICBQb3J0YWxTZXR0aW5nczogTWV0YW9iamVjdERhdGFNb2RlbDtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEdyb3VwVmlzaWJpbGl0eSB7XHJcbiAgICBlbmFibGU6IGJvb2xlYW47XHJcbiAgICB2aXNpYmxlOiBib29sZWFuO1xyXG4gICAgcmVhZG9ubHk6IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUhlYWRlckxheW91dCB7XHJcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XHJcbiAgICBUaXRsZTogc3RyaW5nO1xyXG4gICAgU3VidGl0bGU6IHN0cmluZztcclxuICAgIEF2YXRhcjogYW55O1xyXG4gICAgRmFjZXRMaXN0OiB7IE1vRGF0YUxpc3Q6IE1ldGFvYmplY3REYXRhTW9kZWxbXSB9O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE1lbnVJdGVtIHtcclxuICAgIGljb246IHN0cmluZztcclxuICAgIHRleHQ6IHN0cmluZztcclxuICAgIGl0ZW1JZDogc3RyaW5nO1xyXG4gICAgRGF0YTogYW55O1xyXG4gICAgQ29tbWFuZDogYW55O1xyXG4gICAgaGFuZGxlcjogKCkgPT4gdm9pZDtcclxuICAgIElzQnVpbHRpbj86IGJvb2xlYW47XHJcbiAgICBtZW51PzogeyBpdGVtczogTWVudUl0ZW1bXSB9O1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgUGFnaW5nU2V0dGluZyB7XHJcbiAgICBFbmRJbmRleDogbnVtYmVyO1xyXG4gICAgSGFzUGFnaW5nOiBib29sZWFuO1xyXG4gICAgUGFnZTogbnVtYmVyO1xyXG4gICAgUGFnZVNpemU6IG51bWJlcjtcclxuICAgIFJvd0NvdW50OiBudW1iZXI7XHJcbiAgICBTdGFydEluZGV4OiBudW1iZXI7XHJcbiAgICBUb3RhbFBhZ2VzOiBudW1iZXI7XHJcbiAgICBUb3RhbFJvd3M6IG51bWJlcjtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIENvbHVtbkluZm9UeXBlIHtcclxuICAgIE5hbWU6IHN0cmluZztcclxuICAgIEhpZGRlbjogYm9vbGVhbjtcclxuICAgIENhcHRpb246IHN0cmluZztcclxuICAgIElzTWFuZGF0b3J5PzogYm9vbGVhbjtcclxuICAgIFdpZHRoOiBudW1iZXI7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hQYW5lbFNldHRpbmdzIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XHJcbiAgICBUaXRsZTogc3RyaW5nO1xyXG4gICAgUmVwb3J0SWQ6IHN0cmluZztcclxuICAgIElzRGVmYXVsdDogYm9vbGVhbjtcclxuICAgIElzUHVibGljOiBib29sZWFuO1xyXG4gICAgQXBwbHlBdXRvbWF0aWNhbGx5OiBib29sZWFuO1xyXG4gICAgU2VhcmNoTW8/OiBzdHJpbmc7XHJcbiAgICBGaWVsZHNTZXR0aW5nPzogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBkZWNsYXJlIHR5cGUgRGV2aWNlU2l6ZSA9ICdkZXNrdG9wJyB8ICdtb2JpbGUnIHwgJ3RhYmxldCc7XHJcbmV4cG9ydCBjb25zdCBEYXRlUmFuZ2VzID0gW1xyXG4gICAgJ0RhdGVSX05vbmUnLFxyXG4gICAgJ0RhdGVSX1NwZWNpZmljUmFuZ2UnLFxyXG4gICAgJ0RhdGVSX1RvZGF5JyxcclxuICAgICdEYXRlUl9UaGlzV2VlaycsXHJcbiAgICAnRGF0ZVJfVGhpc01vbnRoJyxcclxuICAgICdEYXRlUl9UaGlzWWVhcicsXHJcbiAgICAnRGF0ZVJfRGF5c0JlZm9yZScsXHJcbiAgICAnRGF0ZVJfUHJldldlZWsnLFxyXG4gICAgJ0RhdGVSX1ByZXZNb250aCcsXHJcbiAgICAnRGF0ZVJfUHJldlllYXInLFxyXG4gICAgJ0RhdGVSX0RheXNBZnRlcicsXHJcbiAgICAnRGF0ZVJfTmV4dFdlZWsnLFxyXG4gICAgJ0RhdGVSX05leHRNb250aCcsXHJcbiAgICAnRGF0ZVJfTmV4dFllYXInXHJcbl07XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFVpUmVwb3J0Vmlld0Jhc2Uge1xyXG4gICAgVWlDb21wb25lbnQ6IHtcclxuICAgICAgICBDb21wb25lbnQ6IGJvb2xlYW47XHJcbiAgICAgICAgTW9kdWxlOiBzdHJpbmc7XHJcbiAgICAgICAgTW9kdWxlRmlsZU5hbWU6IHN0cmluZztcclxuICAgICAgICBOYW1lOiBzdHJpbmc7XHJcbiAgICAgICAgU2VsZWN0b3I6IHN0cmluZztcclxuICAgICAgICBTZXR0aW5nczogVWlSZXBvcnRWaWV3QmFzZVNldHRpbmc7XHJcbiAgICB9O1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgVWlSZXBvcnRWaWV3QmFzZVNldHRpbmcge1xyXG4gICAgW2tleTogc3RyaW5nXTogYW55O1xyXG4gICAgVHlwZTogc3RyaW5nO1xyXG4gICAgSWNvbjogc3RyaW5nO1xyXG4gICAgSXNEZWZhdWx0OiBib29sZWFuO1xyXG4gICAgSGlkZGVuOiBib29sZWFuO1xyXG4gICAgRW5hYmxlU2VhcmNoOiBib29sZWFuO1xyXG4gICAgRGlzYWJsZVJlc3BvbnNpdmU/OiBib29sZWFuO1xyXG4gICAgRGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnU/OiBib29sZWFuO1xyXG4gICAgSG9yaXpvbnRhbEdyb3VwQnk6IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTGF5b3V0U2V0dGluZyB7XHJcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XHJcbiAgICBUaXRsZT86IHN0cmluZztcclxuICAgIHh0eXBlOiBzdHJpbmc7XHJcbiAgICBUZXh0VmlzaWJsZT86IGJvb2xlYW47XHJcbiAgICBpdGVtczogTGF5b3V0U2V0dGluZ1tdO1xyXG4gICAgSXNSb290PzogYm9vbGVhbjtcclxuICAgIFNlbGVjdGVkVGFiUGFnZU5hbWU/OiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGRlY2xhcmUgdHlwZSBBYmJyZXZhdGlvbkRldmljZVNpemUgPSAncycgfCAnbScgfCAnbCcgfCAneGwnO1xyXG5leHBvcnQgaW50ZXJmYWNlIFRyZWVOb2RlT2JqIHtcclxuICAgIGlzRXhwYW5kOiBib29sZWFuO1xyXG4gICAgdmlzaWJpbGl0eTogYm9vbGVhbjtcclxuICAgIGV4cGFuZDogKCkgPT4gdm9pZDtcclxuICAgIGNvbGxhcHNlOiAoKSA9PiB2b2lkO1xyXG4gICAgRGF0YTogTWV0YW9iamVjdERhdGFNb2RlbDtcclxuICAgIGNoaWxkcmVuOiBUcmVlTm9kZU9ialtdO1xyXG4gICAgaWNvbjogc3RyaW5nO1xyXG4gICAga2V5OiBzdHJpbmc7XHJcbiAgICBsZWFmOiBib29sZWFuO1xyXG4gICAgdGV4dDogc3RyaW5nO1xyXG4gICAgbGV2ZWw6IG51bWJlcjtcclxuICAgIGxvYWRpbmc/OiBib29sZWFuO1xyXG4gICAgaGFzT25lRGVwdGhMZXZlbD86IGJvb2xlYW47XHJcbiAgICBwYXJlbnROb2RlOiBUcmVlTm9kZU9iaiB8IG51bGw7XHJcbiAgICBmaXJzdENoaWxkOiBUcmVlTm9kZU9iaiB8IG51bGw7XHJcbiAgICBsYXN0Q2hpbGQ6IFRyZWVOb2RlT2JqIHwgbnVsbDtcclxuICAgIHByZXZpb3VzU2libGluZzogVHJlZU5vZGVPYmogfCBudWxsO1xyXG4gICAgbmV4dFNpYmxpbmc6IFRyZWVOb2RlT2JqIHwgbnVsbDtcclxuICAgIGF0dHJpYnV0ZXM6IHsgRGF0YTogTWV0YW9iamVjdERhdGFNb2RlbCB8IG51bGwgfTtcclxuICAgIGhhc0NoaWxkTm9kZXM6ICgpID0+IGJvb2xlYW47XHJcbiAgICBub0Ryb3A6IGJvb2xlYW47XHJcbiAgICAkQ2hpbGRyZW4/OiBUcmVlTm9kZU9ialtdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvbHVtblJlc2l6ZWRBcmdzIHtcclxuICAgIG5hbWU6IHN0cmluZztcclxuICAgIHdpZHRoOiBudW1iZXI7XHJcbn1cclxuZXhwb3J0IHR5cGUgY29sdW1uc1Jlc2l6ZWRFdmVudEFyZ3MgPSB7IGNvbHVtbnM6IEFycmF5PFJlcG9ydFZpZXdDb2x1bW4+OyByZXNpemVkOiBBcnJheTxDb2x1bW5SZXNpemVkQXJncz4gfTtcclxuZXhwb3J0IHR5cGUgUmVsYXRpb25JdGVtVHlwZSA9IHtcclxuICAgIElkOiBzdHJpbmc7XHJcbiAgICBTb3VyY2VUeXBlRGVmSWQ6IHN0cmluZztcclxuICAgIE9iamVjdEluUmVsYXRpb25OYW1lOiBzdHJpbmc7XHJcbiAgICBHcm91cENhcHRpb246IHN0cmluZztcclxufTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRWpyYXlPbGdvIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XHJcbiAgICBNb2R1bGU6IHN0cmluZztcclxuICAgIE1vZHVsZUZpbGVOYW1lOiBzdHJpbmc7XHJcbiAgICBOYW1lOiBzdHJpbmc7XHJcbiAgICBTZWxlY3Rvcjogc3RyaW5nO1xyXG4gICAgUGFyYW1ldGVycz86IE1ldGFvYmplY3REYXRhTW9kZWw7XHJcbiAgICBTZXR0aW5ncz86IE1ldGFvYmplY3REYXRhTW9kZWw7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVVwbG9hZGluZ1N0YXRlIHtcclxuICAgIGtleTogc3RyaW5nO1xyXG4gICAgdXBsb2FkaW5nOiBib29sZWFuO1xyXG4gICAgc3RhdGU6ICdVcGxvYWRpbmcnIHwgJ0Vycm9yJyB8ICdDb21wbGV0ZScgfCAnU3RhcnQnO1xyXG4gICAgcHJvZ3Jlc3M6IGFueTtcclxufVxyXG5leHBvcnQgdHlwZSBHcm91cEJ5SXRlbSA9IHsgW2tleTogc3RyaW5nXTogYW55OyBpZDogc3RyaW5nOyBrZXk6IHN0cmluZzsgdmFsdWU6IGFueVtdIH07XHJcbmV4cG9ydCB0eXBlIE5vdGlmeU9wdGlvbnMgPSB7XHJcbiAgICBTb3VuZDogYm9vbGVhbjsgLy8gU291bmQgb2Ygbm90aWZpY2F0aW9uLiBTZXQgdGhpcyBmYWxzZSB0byBkaXNhYmxlIHNvdW5kLlxyXG4gICAgSW1hZ2U6IHN0cmluZyB8IG51bGw7IC8vIEltYWdlIHNvdXJjZSBzdHJpbmdcclxuICAgIFRpdGxlOiBzdHJpbmcgfCBudWxsOyAvLyBUaXRsZSBvZiBub3RpZmljYXRpb24uIElmIHlvdSBkbyBub3QgaW5jbHVkZSB0aGUgdGl0bGUgaW4gb3B0aW9ucyBpdCB3aWxsIGF1dG9tYXRpY2FsbHkgdGFrZXMgaXRzIHZhbHVlXHJcbiAgICBJY29uOiBib29sZWFuOyAvLyBJY29uIG9mIG5vdGlmaWNhdGlvbi4gTGVhdmUgYXMgaXMgZm9yIGRlZmF1bHQgaWNvbiBvciBzZXQgY3VzdG9tIHN0cmluZ1xyXG4gICAgRGVsYXk6IG51bWJlcjsgLy8gSGlkZSBub3RpZmljYXRpb24gYWZ0ZXIgdGhpcyB0aW1lIChpbiBtaWxpc2Vjb25kcylcclxuICAgIENsb3NhYmxlOiBib29sZWFuOyAvLyBNYWtlIG5vdGlmaWNhdGlvbnMgY2xvc2FibGVcclxuICAgIERlbGF5SW5kaWNhdG9yOiBib29sZWFuOyAvLyBTaG93IHRpbWVyIGluZGljYXRvclxyXG4gICAgQ2xvc2VPbkNsaWNrOiBib29sZWFuOyAvLyBDbG9zZSBub3RpZmljYXRpb25zIGJ5IGNsaWNraW5nIG9uIHRoZW1cclxuICAgIElzUnRsOiBib29sZWFuO1xyXG4gICAgUG9zaXRpb246IHN0cmluZyB8IG9iamVjdDsgLy8gQXZhaWxhYmxlIG9wdGlvbnM6IFwidG9wIGxlZnRcIiwgXCJ0b3AgcmlnaHRcIiwgXCJib3R0b20gbGVmdFwiLCBcImJvdHRvbSByaWdodFwiLCBcImNlbnRlciB0b3BcIiwgXCJjZW50ZXIgYm90dG9tXCJcclxuICAgIFNvdW5kUGF0aDogc3RyaW5nOyAvLyBUaGUgZm9sZGVyIHBhdGggd2hlcmUgc291bmRzIGFyZSBsb2NhdGVkXHJcbiAgICBTaXplOiBzdHJpbmc7IC8vIG5vcm1hbCwgbWluaSwgbGFyZ2VcclxuICAgIENvbnRpbnVlRGVsYXlPbkluYWN0aXZlVGFiOiBib29sZWFuOyAvLyBDb250aW51ZSBkZWxheSB3aGVuIGJyb3dzZXIgdGFiIGlzIGluYWN0aXZlXHJcbiAgICBXaWR0aDogbnVtYmVyOyAvLyBXaWR0aCBvZiBub3RpZmljYXRpb24gYm94XHJcbiAgICBNZXNzYWdlSGVpZ2h0OiBudW1iZXI7IC8vIE5vdGlmaWNhdGlvbiBtZXNzYWdlIG1heGltdW0gaGVpZ2h0LlxyXG4gICAgTm90aWZpY2F0aW9uSXRlbT86IE5vdGlmaWNhdGlvbkl0ZW07XHJcbn07XHJcbmV4cG9ydCB0eXBlIFNoYXJlQnV0dG9uc0Nob2ljZURlZiA9IHtcclxuICAgIGZvcm1QYW5lbEN0cmxyOiBhbnk7XHJcbiAgICBtbzogTWV0YW9iamVjdERhdGFNb2RlbDtcclxuICAgIGNob2ljZUxpc3Q6IENob2ljZURlZltdO1xyXG4gICAgYWRkOiBib29sZWFuO1xyXG59O1xyXG5leHBvcnQgdHlwZSBDaG9pY2VEZWYgPSB7XHJcbiAgICBBY3Rpdml0eURlZklkOiBzdHJpbmc7XHJcbiAgICBBY3Rpdml0eVJ1bklkOiBzdHJpbmc7XHJcbiAgICBDaG9pY2VEZWZJZDogc3RyaW5nO1xyXG4gICAgQ2hvaWNlTmFtZT86IHN0cmluZztcclxuICAgIFRpdGxlOiBzdHJpbmc7XHJcbiAgICBJY29uPzogc3RyaW5nO1xyXG4gICAgSGFzQmFyPzogYm9vbGVhbjtcclxufTtcclxuZXhwb3J0IHR5cGUgV29ya2Zsb3dFeGVjdXRlQ2hvaWNlU3RhdHVzID0ge1xyXG4gICAgbG9hZGluZzogYm9vbGVhbjtcclxuICAgIHJlc3VsdDogYW55O1xyXG4gICAgZXJyb3I6IGFueTtcclxuICAgIGNob2ljZT86IENob2ljZURlZjtcclxufTtcclxuZXhwb3J0IHR5cGUgTm90aWZpY2F0aW9uUGF5bG9hZCA9IHtcclxuICAgIG1zZzogc3RyaW5nO1xyXG4gICAgdGl0bGU6IHN0cmluZztcclxuICAgIHR5cGU6IHN0cmluZztcclxuICAgIGltYWdlOiBzdHJpbmc7XHJcbiAgICBtbztcclxuICAgIHVpT3B0aW9uczogTm90aWZ5T3B0aW9ucztcclxuICAgIG90aGVyT3B0aW9uczogUmVjb3JkPHN0cmluZywgYW55PjtcclxufTtcclxuZXhwb3J0IHR5cGUgTm90aWZpY2F0aW9uQWN0aW9uID0ge1xyXG4gICAgVGl0bGU6IHN0cmluZztcclxuICAgIElkOiBzdHJpbmc7XHJcbiAgICBJY29uOiBzdHJpbmc7XHJcbiAgICBTdGF0dXM6IHN0cmluZyB8IGFueTtcclxufTtcclxuZXhwb3J0IHR5cGUgTm90aWZpY2F0aW9uSXRlbSA9IE1ldGFvYmplY3REYXRhTW9kZWwgJiB7XHJcbiAgICBUaXRsZTogc3RyaW5nO1xyXG4gICAgVW5yZWFkOiBib29sZWFuO1xyXG4gICAgQ29udGVudDogc3RyaW5nO1xyXG4gICAgJFNhZmVDb250ZW50PzogU2FmZUh0bWw7XHJcbiAgICBQcmlvcml0eTogbnVtYmVyO1xyXG4gICAgU3ViamVjdDogc3RyaW5nO1xyXG4gICAgVGFnOiBzdHJpbmc7XHJcbiAgICBJY29uOiBzdHJpbmc7XHJcbiAgICBJbWFnZTogc3RyaW5nO1xyXG4gICAgQ3JlYXRpb25EYXRlOiBEYXRlO1xyXG4gICAgQ3JlYXRpb25EYXRlJENhcHRpb246IHN0cmluZztcclxuICAgIFVpQWN0aW9ucz86IE5vdGlmaWNhdGlvbkFjdGlvbltdO1xyXG4gICAgJENob2ljZURlZlN0YXR1cz86IFdvcmtmbG93RXhlY3V0ZUNob2ljZVN0YXR1cztcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEV4Tm90aWZpY2F0aW9uUGF5bG9hZCA9IHtcclxuICAgIGxhbmc6IHN0cmluZztcclxuICAgIGlzUnRsOiBib29sZWFuO1xyXG4gICAgbm90aWZpY2F0aW9uSXRlbTogTm90aWZpY2F0aW9uSXRlbTtcclxufTtcclxuZXhwb3J0IHR5cGUgRm9ybVZpc2liaWxpdHlTdGF0dXMgPSAnUGVuZGluZycgfCAnVmlzaWJsZSc7XHJcbmV4cG9ydCB0eXBlIENhcnRhYmxlVGVtcGxhdGVLZXkgPSB7IFR5cGVEZWZJZDogc3RyaW5nOyBTZXR0aW5nc0lkOiBzdHJpbmcgfTtcclxuZXhwb3J0IGVudW0gU29ydERpcmVjdGlvbiB7XHJcbiAgICBOT05FID0gJ25vbmUnLFxyXG4gICAgQVNDID0gJ2FzYycsXHJcbiAgICBERVNDID0gJ2Rlc2MnXHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBDb2xsZWN0aW9uU29ydCB7XHJcbiAgICBmaWVsZDogc3RyaW5nIHwgbnVsbDtcclxuICAgIGRpcmVjdGlvbjogU29ydERpcmVjdGlvbjtcclxuICAgIGlzTnVtYmVyPzogYm9vbGVhbjtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaElucHV0IHtcclxuICAgIHRleHQ6IHN0cmluZztcclxuICAgIGNhdGVnb3J5OiBzdHJpbmcgfCBudWxsO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29sbGVjdGlvbkdyb3VwIHtcclxuICAgIGZpZWxkOiBzdHJpbmc7XHJcbiAgICBkaXJlY3Rpb246IFNvcnREaXJlY3Rpb247XHJcbiAgICBzaG93QXNDb2x1bW46IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29sbGVjdGlvblBhZ2Uge1xyXG4gICAgcGFnZVNpemU6IG51bWJlcjtcclxuICAgIGN1cnJlbnRQYWdlOiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29sbGVjdGlvblN0YXRlIHtcclxuICAgIHNvcnRCeTogQ29sbGVjdGlvblNvcnRbXTtcclxuICAgIGdyb3VwQnk6IENvbGxlY3Rpb25Hcm91cFtdO1xyXG4gICAgcGFnZTogQ29sbGVjdGlvblBhZ2U7XHJcbiAgICBzZWFyY2hJbnB1dDogU2VhcmNoSW5wdXQ7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVTdGF0ZSBleHRlbmRzIENvbGxlY3Rpb25TdGF0ZSB7XHJcbiAgICBjb2x1bW5zOiBzdHJpbmdbXTtcclxuICAgIGNvbHVtbktleXM6IHN0cmluZ1tdO1xyXG4gICAgZnJlZXplVG9Db2x1bW46IHN0cmluZyB8IG51bGw7XHJcbn1cclxuZXhwb3J0IGVudW0gU2VsZWN0aW9uTW9kZSB7XHJcbiAgICBTSU5HTEUgPSAnc2luZ2xlJyxcclxuICAgIE1VTFRJUExFID0gJ211bHRpcGxlJyxcclxuICAgIE5PTkUgPSAnbm9uZSdcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVVbHZNYWluQ3RybHIge1xyXG4gICAgQWRhcHRlcjogYW55O1xyXG4gICAgU2V0dGluZzogYW55O1xyXG4gICAgU3lzdGVtOiBhbnk7XHJcbiAgICBVbHZQYXJhbXM6IGFueTtcclxuICAgIEZlYXR1cmVzOiBhbnk7XHJcbiAgICBVaU92ZXJyaWRlOiBhbnk7XHJcbiAgICBTZWFyY2hQYW5lbEN0cmxyOiBhbnk7XHJcbiAgICBTZWxlY3Rpb25BZGFwdGVyOiBhbnk7XHJcbiAgICBEYXRhQ3RybHI6IFR5cGVVbHZEYXRhQ3RybHI7XHJcbiAgICBDb21tYW5kQmFyQ3RybHI6IGFueTtcclxuICAgIFZpZXdlckFkYXB0ZXI6IGFueTtcclxuICAgIFBhcmVudE1vOiBhbnk7XHJcbiAgICBGaWVsZEN0cmxyOiBhbnk7XHJcbiAgICBpc01hbmRhdG9yeTogYm9vbGVhbjsgLy8gcG9ydGFsIHVzZSBpdC4gY29tcG9uZW50IG1hZGFyZWtcclxuICAgIC8vLyBSZWxhdGVkIGZpZWxkIG9mIFVsdlxyXG4gICAgLy8gUGFyZW50RmllbGRJbmZvQ3RybHI6IG51bGwsXHJcbiAgICBJc1ByZXZpZXdTb3VyY2VGaWVsZDogYm9vbGVhbjtcclxuICAgIC8vLyBJbmRpY2F0ZSB3aGV0aGVyIHRoaXMgVWx2IGlzIHVzZWQgYXMgcmVsYXRpb24gZmllbGQgdGhhdCBpcyBQcmV2aWV3U291cmNlIGZvciBhIHN1YmZvcm1cclxuICAgIFNob3dPa0NhbmNlbEJ1dHRvbnM6IGJvb2xlYW47XHJcbiAgICBfaXNFbmFibGU6IGJvb2xlYW47XHJcbiAgICBfaXNSZWFkT25seTogYm9vbGVhbjtcclxuICAgIF9pc1Zpc2libGU6IGJvb2xlYW47XHJcbiAgICBGb290dGVyQnV0dG9uczogYm9vbGVhbjtcclxuICAgIFJlZnJlc2hSb3dzQnlNb3NOb1NlbGVjdGlvbkNoYW5nZShcclxuICAgICAgICBlZGlkZWRNb3M6IE1ldGFvYmplY3REYXRhTW9kZWxbXSxcclxuICAgICAgICBhZGRlZE1vczogTWV0YW9iamVjdERhdGFNb2RlbFtdLFxyXG4gICAgICAgIGRlbGV0ZWRNb3M6IE1ldGFvYmplY3REYXRhTW9kZWxbXVxyXG4gICAgKTogdm9pZDtcclxuICAgIFJlZnJlc2hSb3dzQnlNb3MoXHJcbiAgICAgICAgZWRpZGVkTW9zOiBNZXRhb2JqZWN0RGF0YU1vZGVsW10sXHJcbiAgICAgICAgYWRkZWRNb3M6IE1ldGFvYmplY3REYXRhTW9kZWxbXSxcclxuICAgICAgICBkZWxldGVkTW9zOiBNZXRhb2JqZWN0RGF0YU1vZGVsW11cclxuICAgICk6IHZvaWQ7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVHlwZVVsdkRhdGFDdHJsciB7XHJcbiAgICBHZXRFZGl0Rm9ybVBhcmFtcyhtbywgaXNSZWFkT25seSwgaXNOZXcsIGluaGVyaXRhbmNlQ2hpbGRUeXBlRGVmLCBkb1JldHVybik6IFJlY29yZDxzdHJpbmcsIGFueT47XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBGb3JtQ29tcG9uZW50UGFyYW1zIHtcclxuICAgIGZvcm1TZXR0aW5nPzogRm9ybVNldHRpbmc7XHJcbiAgICBtb0lkOiBzdHJpbmc7XHJcbiAgICB0eXBlRGVmSWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICAgIHJlcG9ydElkPzogc3RyaW5nO1xyXG4gICAgdmlld0lkPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gICAgVmlld05hbWU/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbiAgICBpbkRpYWxvZz86IGJvb2xlYW47XHJcbiAgICBpc1NpbXBsZT86IGJvb2xlYW47XHJcbiAgICBsb2FkQWN0aXZpdHlWaWV3PzogYm9vbGVhbjtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEJydWxlQWN0aW9uTWVzc2FnZSB7XHJcbiAgICBNZXNzYWdlVHlwZTogbnVtYmVyO1xyXG4gICAgRXNjYXBlQ2hhcmFjdGVyczogYm9vbGVhbjtcclxuICAgIE1lc3NhZ2VFeHByZXNzaW9uOiBzdHJpbmc7XHJcbiAgICBNZXNzYWdlRXhwcmVzc2lvbkh0bWw6IFNhZmVIdG1sO1xyXG59XHJcbiJdfQ==
|
|
@@ -173,4 +173,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
173
173
|
changeDetection: ChangeDetectionStrategy.OnPush
|
|
174
174
|
}]
|
|
175
175
|
}] });
|
|
176
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL2Fic3RyYWN0LWNsYXNzZXMvbnVtYmVyLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFdEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2xELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBTXZDLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxrQkFBa0I7SUFJdkQsSUFBSSxnQkFBZ0I7UUFDaEIsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQy9ELElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLEVBQUU7WUFDekIsT0FBTyxDQUFDLENBQUM7U0FDWjtRQUNELE9BQU8sZ0JBQWdCLENBQUM7SUFDNUIsQ0FBQztJQUNELFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFakIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdEIsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFDRCxTQUFTLENBQUMsQ0FBQztRQUNQLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNkLE9BQU87U0FDVjtRQUNELE1BQU0sT0FBTyxHQUFHLElBQUksTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLEtBQUss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QUM7UUFDeEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUNTLHNCQUFzQixDQUFDLEtBQWEsRUFBRSxDQUFrQjtRQUM5RCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNELElBQUksS0FBSyxLQUFLLENBQUMsT0FBTyxFQUFFO1lBQ3BCLE9BQU87U0FDVjtRQUNELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDO0lBQzlCLENBQUM7O2dIQXRLUSxtQkFBbUI7b0dBQW5CLG1CQUFtQiwrRUFIbEIsRUFBRTsyRkFHSCxtQkFBbUI7a0JBTC9CLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRmllbGRCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9maWVsZC1iYXNlJztcbmltcG9ydCB7IEJhcnNhQXBpIH0gZnJvbSAnLi9iYXJzYS1hcGknO1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdibnJjLW51bWJlci1iYXNlJyxcbiAgICB0ZW1wbGF0ZTogJycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTnVtYmVyQmFzZUNvbXBvbmVudCBleHRlbmRzIEZpZWxkQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBoYXNNYXNrOiBib29sZWFuO1xuICAgIHRpY2tSZWY6IGFueTtcbiAgICBwcm90ZWN0ZWQgaW5wdXRFbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgICBnZXQgZGVjaW1hbFByZWNpc2lvbigpOiBudW1iZXIge1xuICAgICAgICBjb25zdCBkZWNpbWFsUHJlY2lzaW9uID0gTnVtYmVyKHRoaXMuU2V0dGluZy5EZWNpbWFsUHJlY2lzaW9uKTtcbiAgICAgICAgaWYgKGlzTmFOKGRlY2ltYWxQcmVjaXNpb24pKSB7XG4gICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZGVjaW1hbFByZWNpc2lvbjtcbiAgICB9XG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG5cbiAgICAgICAgdGhpcy5fdXBkYXRlQnlTZXR0aW5nKCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2NsZWFySW50ZXJ2YWwoKTtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB9XG4gICAgb25LZXlEb3duKGUpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaXNDaGFyYWN0ZXIgPSB0aGlzLl9pc0NoYXJhY3RlcihlKTtcbiAgICAgICAgaWYgKCFpc0NoYXJhY3Rlcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGlzVmFsaWQgPSBuZXcgUmVnRXhwKCdeWzAtOSwuXSokJykudGVzdChlLmN1cnJlbnRUYXJnZXQudmFsdWUgKyBlLmtleSk7XG4gICAgICAgIGlmICghaXNWYWxpZCB8fCBlLmtleSA9PT0gJy4nKSB7XG4gICAgICAgICAgICBpZiAoZS5rZXkgPT09ICcuJyAmJiB0aGlzLmlucHV0RWxlbWVudCAmJiB0aGlzLmRlY2ltYWxQcmVjaXNpb24gPiAwKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY3Vyc29yUG9zaXRpb24gPSB0aGlzLmlucHV0RWxlbWVudC52YWx1ZS5pbmRleE9mKCcuJyk7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2V0Q3Vyc29yUG9zaXRpb24oY3Vyc29yUG9zaXRpb24gKyAxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgb25WYWx1ZUNoYW5nZShlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRleHQ6IHN0cmluZyA9IGUuY3VycmVudFRhcmdldD8udmFsdWUgfHwgJyc7XG4gICAgICAgIHRoaXMucmVGb3JtYXRWYWx1ZSh0ZXh0LCBlKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX3VwZGF0ZUJ5U2V0dGluZygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaW5wdXRFbGVtZW50KSB7XG4gICAgICAgICAgICBjb25zdCBmb3JtYXRlZCA9IHRoaXMuX2dldEZvcm1hdGVkKHRoaXMudmFsdWUpLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICB0aGlzLmlucHV0RWxlbWVudC52YWx1ZSA9IGZvcm1hdGVkO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaGFzTWFzayA9XG4gICAgICAgICAgICBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZSh0aGlzLmNvbnRleHQsICdTZXR0aW5nLlNob3dUaG91c2FuZFNlcGVyYXRvcicsIGZhbHNlKSB8fFxuICAgICAgICAgICAgQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUodGhpcy5jb250ZXh0LCAnU2V0dGluZy5EZWNpbWFsUHJlY2lzaW9uJywgMCkgPiAwO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgX2NvbmZpZ0NoYW5lZChvcHRpb25zKTogdm9pZCB7XG4gICAgICAgIC8vIGltcGxlbWVudGVkIGJ5IGNoaWxkIGNvbXBvbmVudHNcbiAgICAgICAgdGhpcy5fdXBkYXRlQnlTZXR0aW5nKCk7XG4gICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfc2V0VmFsdWUodmFsdWUpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIuX3NldFZhbHVlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5yZUZvcm1hdFZhbHVlKHRoaXMudmFsdWUsIHsgdGFyZ2V0OiB0aGlzLmlucHV0RWxlbWVudCB9KTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9jbGVhckludGVydmFsKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy50aWNrUmVmKSB7XG4gICAgICAgICAgICBjbGVhckludGVydmFsKHRoaXMudGlja1JlZik7XG4gICAgICAgICAgICB0aGlzLnRpY2tSZWYgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuICAgIHByb3RlY3RlZCBfaXNDaGFyYWN0ZXIoZXZ0KTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0eXBlb2YgZXZ0LndoaWNoID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGV2dC53aGljaCA9PT0gJ251bWJlcicgJiYgZXZ0LndoaWNoID4gMCkge1xuICAgICAgICAgICAgcmV0dXJuICFldnQuY3RybEtleSAmJiAhZXZ0Lm1ldGFLZXkgJiYgIWV2dC5hbHRLZXkgJiYgZXZ0LndoaWNoICE9PSA4ICYmIGV2dC5rZXkubGVuZ3RoID09PSAxO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX2dldEZvcm1hdGVkKHZhbCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9udW1lcmFsUGlwZS50cmFuc2Zvcm0odmFsLCB0aGlzLmRlY2ltYWxQcmVjaXNpb24sIHRoaXMuU2V0dGluZy5TaG93VGhvdXNhbmRTZXBlcmF0b3IpLnRvU3RyaW5nKCk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfc2V0Q3Vyc29yUG9zaXRpb24oY3Vyc29yUG9zaXRpb24pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaW5wdXRFbGVtZW50KSB7XG4gICAgICAgICAgICBpZiAoY3Vyc29yUG9zaXRpb24gPiB0aGlzLmlucHV0RWxlbWVudC52YWx1ZS5sZW5ndGggJiYgdGhpcy5kZWNpbWFsUHJlY2lzaW9uKSB7XG4gICAgICAgICAgICAgICAgY3Vyc29yUG9zaXRpb24gPSB0aGlzLmlucHV0RWxlbWVudC52YWx1ZS5sZW5ndGg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuaW5wdXRFbGVtZW50LnNldFNlbGVjdGlvblJhbmdlKGN1cnNvclBvc2l0aW9uLCBjdXJzb3JQb3NpdGlvbik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcHJpdmF0ZSByZUZvcm1hdFZhbHVlKHRleHQ6IHN0cmluZyB8IG51bWJlciwgZTogYW55KTogdm9pZCB7XG4gICAgICAgIGxldCBuZXdWYWw6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgICAgaWYgKHR5cGVvZiB0ZXh0ID09PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgaWYgKHRleHQgPT09IHRoaXMudmFsdWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9zeW5jSW5wdXRFbGVtZW50VmFsdWUodGhpcy52YWx1ZSwgZSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGV4dCA9IHRleHQudG9TdHJpbmcoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZW9mIHRleHQgPT09ICd1bmRlZmluZWQnICYmIHR5cGVvZiB0aGlzLnZhbHVlID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRleHQpIHtcbiAgICAgICAgICAgIGxldCBpbmRleG9mRG90ID0gdGV4dC5pbmRleE9mKCcuJyk7XG4gICAgICAgICAgICBjb25zdCBzZWxlY3Rpb25TdGFydCA9IHRoaXMuaW5wdXRFbGVtZW50Py5zZWxlY3Rpb25TdGFydDtcblxuICAgICAgICAgICAgY29uc3QgZGVjaW1hbFBlcnNpY2lvbiA9IHRoaXMuZGVjaW1hbFByZWNpc2lvbjtcbiAgICAgICAgICAgIGlmIChkZWNpbWFsUGVyc2ljaW9uKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdCA9IHRleHQubGVuZ3RoIC0gKGluZGV4b2ZEb3QgKyAxKTtcbiAgICAgICAgICAgICAgICBpZiAodCA+IGRlY2ltYWxQZXJzaWNpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGlmZiA9IHQgLSBkZWNpbWFsUGVyc2ljaW9uO1xuICAgICAgICAgICAgICAgICAgICBpZiAoc2VsZWN0aW9uU3RhcnQgJiYgc2VsZWN0aW9uU3RhcnQgPCB0ZXh0Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGV4dCA9IHRleHQuc3Vic3RyaW5nKDAsIHRleHQubGVuZ3RoIC0gZGlmZik7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0ID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LnN1YnN0cmluZygwLCBzZWxlY3Rpb25TdGFydCkgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQuc3Vic3RyaW5nKHNlbGVjdGlvblN0YXJ0ICsgMSwgc2VsZWN0aW9uU3RhcnQgKyAxICsgdGV4dC5sZW5ndGggLSBkaWZmKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQgPSB0ZXh0LnN1YnN0cmluZygwLCB0ZXh0Lmxlbmd0aCAtIDEpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGV0IGZvcm1hdGVkOiBzdHJpbmcgPSB0aGlzLl9nZXRGb3JtYXRlZCh0ZXh0KS50b1N0cmluZygpO1xuICAgICAgICAgICAgbmV3VmFsID0gdGhpcy5fbnVtZXJhbFBpcGUuZ2V0VmFsdWUoZm9ybWF0ZWQpO1xuXG4gICAgICAgICAgICBsZXQgaW5kZXhPZkRvdEZvcm1hdGVkID0gZm9ybWF0ZWQuaW5kZXhPZignLicpO1xuXG4gICAgICAgICAgICBpZiAoZGVjaW1hbFBlcnNpY2lvbiA9PT0gMCkge1xuICAgICAgICAgICAgICAgIGluZGV4b2ZEb3QgPSB0ZXh0Lmxlbmd0aDtcbiAgICAgICAgICAgICAgICBpbmRleE9mRG90Rm9ybWF0ZWQgPSBmb3JtYXRlZC5sZW5ndGg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5oYXNNYXNrKSB7XG4gICAgICAgICAgICAgICAgbGV0IGN1cnNvclBvc2l0aW9uID0gdGhpcy5pbnB1dEVsZW1lbnQ/LnNlbGVjdGlvblN0YXJ0O1xuICAgICAgICAgICAgICAgIGxldCBkaWZmID0gMDtcbiAgICAgICAgICAgICAgICBpZiAoaW5kZXhvZkRvdCA8IDAgJiYgZGVjaW1hbFBlcnNpY2lvbiA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgZm9ybWF0ZWQgPSB0aGlzLl9nZXRGb3JtYXRlZCh0ZXh0KTtcbiAgICAgICAgICAgICAgICAgICAgbmV3VmFsID0gdGhpcy5fbnVtZXJhbFBpcGUuZ2V0VmFsdWUoZm9ybWF0ZWQpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoY3Vyc29yUG9zaXRpb24gIT0gbnVsbCAmJiBjdXJzb3JQb3NpdGlvbiA8PSBpbmRleG9mRG90KSB7XG4gICAgICAgICAgICAgICAgICAgIGRpZmYgPSBpbmRleE9mRG90Rm9ybWF0ZWQgLSBpbmRleG9mRG90O1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3JQb3NpdGlvbiArPSBkaWZmO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pbnB1dEVsZW1lbnQgJiYgdGhpcy5pbnB1dEVsZW1lbnQudmFsdWUgIT09IGZvcm1hdGVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5wdXRFbGVtZW50LnZhbHVlID0gZm9ybWF0ZWQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChlLnRhcmdldC52YWx1ZSAhPT0gZm9ybWF0ZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgZS50YXJnZXQudmFsdWUgPSBmb3JtYXRlZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5fc2V0Q3Vyc29yUG9zaXRpb24oY3Vyc29yUG9zaXRpb24pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pbnB1dEVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnQudmFsdWUgPSBuZXdWYWw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaW5wdXRFbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLmlucHV0RWxlbWVudC52YWx1ZSA9ICcnO1xuICAgICAgICB9XG4gICAgICAgIGlmIChuZXdWYWwgJiYgK25ld1ZhbCA9PT0gdGhpcy52YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudmFsdWUgPSB0eXBlb2YgbmV3VmFsID09ICd1bmRlZmluZWQnID8gJycgOiBuZXdWYWw7XG4gICAgICAgIHRoaXMuZm9ybW1hdGVkVmFsdWUuZW1pdCh0aGlzLmlucHV0RWxlbWVudD8udmFsdWUpO1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfc3luY0lucHV0RWxlbWVudFZhbHVlKHZhbHVlOiBudW1iZXIsIGU6IHsgdGFyZ2V0OiBhbnkgfSk6IHZvaWQge1xuICAgICAgICBjb25zdCBlbFZhbHVlID0gdGhpcy5fbnVtZXJhbFBpcGUuZ2V0VmFsdWUoZS50YXJnZXQudmFsdWUpO1xuICAgICAgICBpZiAodmFsdWUgPT09ICtlbFZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZm9ybWF0ZWQgPSB0aGlzLl9nZXRGb3JtYXRlZCh2YWx1ZSk7XG4gICAgICAgIGUudGFyZ2V0LnZhbHVlID0gZm9ybWF0ZWQ7XG4gICAgfVxufVxuIl19
|
|
176
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL2Fic3RyYWN0LWNsYXNzZXMvbnVtYmVyLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFdEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2xELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBTXZDLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxrQkFBa0I7SUFJdkQsSUFBSSxnQkFBZ0I7UUFDaEIsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQy9ELElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLEVBQUU7WUFDekIsT0FBTyxDQUFDLENBQUM7U0FDWjtRQUNELE9BQU8sZ0JBQWdCLENBQUM7SUFDNUIsQ0FBQztJQUNELFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFakIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdEIsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFDRCxTQUFTLENBQUMsQ0FBQztRQUNQLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNkLE9BQU87U0FDVjtRQUNELE1BQU0sT0FBTyxHQUFHLElBQUksTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLEtBQUss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QUM7UUFDeEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUNTLHNCQUFzQixDQUFDLEtBQWEsRUFBRSxDQUFrQjtRQUM5RCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNELElBQUksS0FBSyxLQUFLLENBQUMsT0FBTyxFQUFFO1lBQ3BCLE9BQU87U0FDVjtRQUNELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDO0lBQzlCLENBQUM7O2dIQXRLUSxtQkFBbUI7b0dBQW5CLG1CQUFtQiwrRUFIbEIsRUFBRTsyRkFHSCxtQkFBbUI7a0JBTC9CLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEZpZWxkQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vZmllbGQtYmFzZSc7XHJcbmltcG9ydCB7IEJhcnNhQXBpIH0gZnJvbSAnLi9iYXJzYS1hcGknO1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYm5yYy1udW1iZXItYmFzZScsXHJcbiAgICB0ZW1wbGF0ZTogJycsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTnVtYmVyQmFzZUNvbXBvbmVudCBleHRlbmRzIEZpZWxkQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAgIGhhc01hc2s6IGJvb2xlYW47XHJcbiAgICB0aWNrUmVmOiBhbnk7XHJcbiAgICBwcm90ZWN0ZWQgaW5wdXRFbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCB8IHVuZGVmaW5lZDtcclxuICAgIGdldCBkZWNpbWFsUHJlY2lzaW9uKCk6IG51bWJlciB7XHJcbiAgICAgICAgY29uc3QgZGVjaW1hbFByZWNpc2lvbiA9IE51bWJlcih0aGlzLlNldHRpbmcuRGVjaW1hbFByZWNpc2lvbik7XHJcbiAgICAgICAgaWYgKGlzTmFOKGRlY2ltYWxQcmVjaXNpb24pKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZGVjaW1hbFByZWNpc2lvbjtcclxuICAgIH1cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcblxyXG4gICAgICAgIHRoaXMuX3VwZGF0ZUJ5U2V0dGluZygpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2NsZWFySW50ZXJ2YWwoKTtcclxuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xyXG4gICAgfVxyXG4gICAgb25LZXlEb3duKGUpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBpc0NoYXJhY3RlciA9IHRoaXMuX2lzQ2hhcmFjdGVyKGUpO1xyXG4gICAgICAgIGlmICghaXNDaGFyYWN0ZXIpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBpc1ZhbGlkID0gbmV3IFJlZ0V4cCgnXlswLTksLl0qJCcpLnRlc3QoZS5jdXJyZW50VGFyZ2V0LnZhbHVlICsgZS5rZXkpO1xyXG4gICAgICAgIGlmICghaXNWYWxpZCB8fCBlLmtleSA9PT0gJy4nKSB7XHJcbiAgICAgICAgICAgIGlmIChlLmtleSA9PT0gJy4nICYmIHRoaXMuaW5wdXRFbGVtZW50ICYmIHRoaXMuZGVjaW1hbFByZWNpc2lvbiA+IDApIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGN1cnNvclBvc2l0aW9uID0gdGhpcy5pbnB1dEVsZW1lbnQudmFsdWUuaW5kZXhPZignLicpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2V0Q3Vyc29yUG9zaXRpb24oY3Vyc29yUG9zaXRpb24gKyAxKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgb25WYWx1ZUNoYW5nZShlKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgdGV4dDogc3RyaW5nID0gZS5jdXJyZW50VGFyZ2V0Py52YWx1ZSB8fCAnJztcclxuICAgICAgICB0aGlzLnJlRm9ybWF0VmFsdWUodGV4dCwgZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIF91cGRhdGVCeVNldHRpbmcoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuaW5wdXRFbGVtZW50KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZvcm1hdGVkID0gdGhpcy5fZ2V0Rm9ybWF0ZWQodGhpcy52YWx1ZSkudG9TdHJpbmcoKTtcclxuICAgICAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnQudmFsdWUgPSBmb3JtYXRlZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5oYXNNYXNrID1cclxuICAgICAgICAgICAgQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUodGhpcy5jb250ZXh0LCAnU2V0dGluZy5TaG93VGhvdXNhbmRTZXBlcmF0b3InLCBmYWxzZSkgfHxcclxuICAgICAgICAgICAgQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUodGhpcy5jb250ZXh0LCAnU2V0dGluZy5EZWNpbWFsUHJlY2lzaW9uJywgMCkgPiAwO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF9jb25maWdDaGFuZWQob3B0aW9ucyk6IHZvaWQge1xyXG4gICAgICAgIC8vIGltcGxlbWVudGVkIGJ5IGNoaWxkIGNvbXBvbmVudHNcclxuICAgICAgICB0aGlzLl91cGRhdGVCeVNldHRpbmcoKTtcclxuICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF9zZXRWYWx1ZSh2YWx1ZSk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLl9zZXRWYWx1ZSh2YWx1ZSk7XHJcbiAgICAgICAgdGhpcy5yZUZvcm1hdFZhbHVlKHRoaXMudmFsdWUsIHsgdGFyZ2V0OiB0aGlzLmlucHV0RWxlbWVudCB9KTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBfY2xlYXJJbnRlcnZhbCgpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy50aWNrUmVmKSB7XHJcbiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy50aWNrUmVmKTtcclxuICAgICAgICAgICAgdGhpcy50aWNrUmVmID0gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX2lzQ2hhcmFjdGVyKGV2dCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmICh0eXBlb2YgZXZ0LndoaWNoID09PSAndW5kZWZpbmVkJykge1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBldnQud2hpY2ggPT09ICdudW1iZXInICYmIGV2dC53aGljaCA+IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuICFldnQuY3RybEtleSAmJiAhZXZ0Lm1ldGFLZXkgJiYgIWV2dC5hbHRLZXkgJiYgZXZ0LndoaWNoICE9PSA4ICYmIGV2dC5rZXkubGVuZ3RoID09PSAxO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIF9nZXRGb3JtYXRlZCh2YWwpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9udW1lcmFsUGlwZS50cmFuc2Zvcm0odmFsLCB0aGlzLmRlY2ltYWxQcmVjaXNpb24sIHRoaXMuU2V0dGluZy5TaG93VGhvdXNhbmRTZXBlcmF0b3IpLnRvU3RyaW5nKCk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX3NldEN1cnNvclBvc2l0aW9uKGN1cnNvclBvc2l0aW9uKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuaW5wdXRFbGVtZW50KSB7XHJcbiAgICAgICAgICAgIGlmIChjdXJzb3JQb3NpdGlvbiA+IHRoaXMuaW5wdXRFbGVtZW50LnZhbHVlLmxlbmd0aCAmJiB0aGlzLmRlY2ltYWxQcmVjaXNpb24pIHtcclxuICAgICAgICAgICAgICAgIGN1cnNvclBvc2l0aW9uID0gdGhpcy5pbnB1dEVsZW1lbnQudmFsdWUubGVuZ3RoO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5zZXRTZWxlY3Rpb25SYW5nZShjdXJzb3JQb3NpdGlvbiwgY3Vyc29yUG9zaXRpb24pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHByaXZhdGUgcmVGb3JtYXRWYWx1ZSh0ZXh0OiBzdHJpbmcgfCBudW1iZXIsIGU6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIGxldCBuZXdWYWw6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICAgICAgICBpZiAodHlwZW9mIHRleHQgPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIGlmICh0ZXh0ID09PSB0aGlzLnZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zeW5jSW5wdXRFbGVtZW50VmFsdWUodGhpcy52YWx1ZSwgZSk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGV4dCA9IHRleHQudG9TdHJpbmcoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHR5cGVvZiB0ZXh0ID09PSAndW5kZWZpbmVkJyAmJiB0eXBlb2YgdGhpcy52YWx1ZSA9PT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRleHQpIHtcclxuICAgICAgICAgICAgbGV0IGluZGV4b2ZEb3QgPSB0ZXh0LmluZGV4T2YoJy4nKTtcclxuICAgICAgICAgICAgY29uc3Qgc2VsZWN0aW9uU3RhcnQgPSB0aGlzLmlucHV0RWxlbWVudD8uc2VsZWN0aW9uU3RhcnQ7XHJcblxyXG4gICAgICAgICAgICBjb25zdCBkZWNpbWFsUGVyc2ljaW9uID0gdGhpcy5kZWNpbWFsUHJlY2lzaW9uO1xyXG4gICAgICAgICAgICBpZiAoZGVjaW1hbFBlcnNpY2lvbikge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgdCA9IHRleHQubGVuZ3RoIC0gKGluZGV4b2ZEb3QgKyAxKTtcclxuICAgICAgICAgICAgICAgIGlmICh0ID4gZGVjaW1hbFBlcnNpY2lvbikge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRpZmYgPSB0IC0gZGVjaW1hbFBlcnNpY2lvbjtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoc2VsZWN0aW9uU3RhcnQgJiYgc2VsZWN0aW9uU3RhcnQgPCB0ZXh0Lmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB0ZXh0ID0gdGV4dC5zdWJzdHJpbmcoMCwgdGV4dC5sZW5ndGggLSBkaWZmKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dCA9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LnN1YnN0cmluZygwLCBzZWxlY3Rpb25TdGFydCkgK1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC5zdWJzdHJpbmcoc2VsZWN0aW9uU3RhcnQgKyAxLCBzZWxlY3Rpb25TdGFydCArIDEgKyB0ZXh0Lmxlbmd0aCAtIGRpZmYpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQgPSB0ZXh0LnN1YnN0cmluZygwLCB0ZXh0Lmxlbmd0aCAtIDEpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsZXQgZm9ybWF0ZWQ6IHN0cmluZyA9IHRoaXMuX2dldEZvcm1hdGVkKHRleHQpLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgICAgIG5ld1ZhbCA9IHRoaXMuX251bWVyYWxQaXBlLmdldFZhbHVlKGZvcm1hdGVkKTtcclxuXHJcbiAgICAgICAgICAgIGxldCBpbmRleE9mRG90Rm9ybWF0ZWQgPSBmb3JtYXRlZC5pbmRleE9mKCcuJyk7XHJcblxyXG4gICAgICAgICAgICBpZiAoZGVjaW1hbFBlcnNpY2lvbiA9PT0gMCkge1xyXG4gICAgICAgICAgICAgICAgaW5kZXhvZkRvdCA9IHRleHQubGVuZ3RoO1xyXG4gICAgICAgICAgICAgICAgaW5kZXhPZkRvdEZvcm1hdGVkID0gZm9ybWF0ZWQubGVuZ3RoO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmhhc01hc2spIHtcclxuICAgICAgICAgICAgICAgIGxldCBjdXJzb3JQb3NpdGlvbiA9IHRoaXMuaW5wdXRFbGVtZW50Py5zZWxlY3Rpb25TdGFydDtcclxuICAgICAgICAgICAgICAgIGxldCBkaWZmID0gMDtcclxuICAgICAgICAgICAgICAgIGlmIChpbmRleG9mRG90IDwgMCAmJiBkZWNpbWFsUGVyc2ljaW9uID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvcm1hdGVkID0gdGhpcy5fZ2V0Rm9ybWF0ZWQodGV4dCk7XHJcbiAgICAgICAgICAgICAgICAgICAgbmV3VmFsID0gdGhpcy5fbnVtZXJhbFBpcGUuZ2V0VmFsdWUoZm9ybWF0ZWQpO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChjdXJzb3JQb3NpdGlvbiAhPSBudWxsICYmIGN1cnNvclBvc2l0aW9uIDw9IGluZGV4b2ZEb3QpIHtcclxuICAgICAgICAgICAgICAgICAgICBkaWZmID0gaW5kZXhPZkRvdEZvcm1hdGVkIC0gaW5kZXhvZkRvdDtcclxuICAgICAgICAgICAgICAgICAgICBjdXJzb3JQb3NpdGlvbiArPSBkaWZmO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaW5wdXRFbGVtZW50ICYmIHRoaXMuaW5wdXRFbGVtZW50LnZhbHVlICE9PSBmb3JtYXRlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5wdXRFbGVtZW50LnZhbHVlID0gZm9ybWF0ZWQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZiAoZS50YXJnZXQudmFsdWUgIT09IGZvcm1hdGVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZS50YXJnZXQudmFsdWUgPSBmb3JtYXRlZDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMuX3NldEN1cnNvclBvc2l0aW9uKGN1cnNvclBvc2l0aW9uKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmlucHV0RWxlbWVudCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5wdXRFbGVtZW50LnZhbHVlID0gbmV3VmFsO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmlucHV0RWxlbWVudCkge1xyXG4gICAgICAgICAgICB0aGlzLmlucHV0RWxlbWVudC52YWx1ZSA9ICcnO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAobmV3VmFsICYmICtuZXdWYWwgPT09IHRoaXMudmFsdWUpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnZhbHVlID0gdHlwZW9mIG5ld1ZhbCA9PSAndW5kZWZpbmVkJyA/ICcnIDogbmV3VmFsO1xyXG4gICAgICAgIHRoaXMuZm9ybW1hdGVkVmFsdWUuZW1pdCh0aGlzLmlucHV0RWxlbWVudD8udmFsdWUpO1xyXG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBfc3luY0lucHV0RWxlbWVudFZhbHVlKHZhbHVlOiBudW1iZXIsIGU6IHsgdGFyZ2V0OiBhbnkgfSk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGVsVmFsdWUgPSB0aGlzLl9udW1lcmFsUGlwZS5nZXRWYWx1ZShlLnRhcmdldC52YWx1ZSk7XHJcbiAgICAgICAgaWYgKHZhbHVlID09PSArZWxWYWx1ZSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGZvcm1hdGVkID0gdGhpcy5fZ2V0Rm9ybWF0ZWQodmFsdWUpO1xyXG4gICAgICAgIGUudGFyZ2V0LnZhbHVlID0gZm9ybWF0ZWQ7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -236,4 +236,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
236
236
|
}], pageSizeChange: [{
|
|
237
237
|
type: Output
|
|
238
238
|
}] } });
|
|
239
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL2Fic3RyYWN0LWNsYXNzZXMvcmVwb3J0LWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILEtBQUssRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFJTix1QkFBdUIsRUFDMUIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBR2hFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7QUF3QnZDLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxhQUFhO0lBd0RsRCxZQUFzQixjQUE2QixFQUFZLGVBQStCO1FBQzFGLEtBQUssRUFBRSxDQUFDO1FBRFUsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFBWSxvQkFBZSxHQUFmLGVBQWUsQ0FBZ0I7UUFqRHBGLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ3hDLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUV0RCx1QkFBa0IsR0FBRztZQUNqQixjQUFjLEVBQUUsRUFBRTtZQUNsQixlQUFlLEVBQUUsS0FBSztZQUN0QixlQUFlLEVBQUUsRUFBRTtZQUNuQixNQUFNLEVBQUUsSUFBSTtTQUNmLENBQUM7UUFLRixpQkFBWSxHQUF5RSxJQUFJLENBQUM7UUE4QmhGLDBCQUFxQixHQUFHLElBQUksZUFB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QztTQUNmO1FBQ0QsVUFBVSxDQUFDLElBQUksR0FBRyxVQUFVLENBQUM7UUFDN0IsT0FBTyxVQUFVLENBQUM7SUFDdEIsQ0FBQztJQUNTLHdCQUF3QixDQUFDLFVBQVU7UUFDekMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsMEJBQTBCLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDbkUsQ0FBQzs7Z0hBalJRLG1CQUFtQjtvR0FBbkIsbUJBQW1CLG9OQUhsQixFQUFFOzJGQUdILG1CQUFtQjtrQkFML0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixRQUFRLEVBQUUsRUFBRTtvQkFDWixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDbEQ7aUlBRVksT0FBTztzQkFBZixLQUFLO2dCQUlHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBJbnB1dCxcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIE91dHB1dCxcbiAgICBPbkluaXQsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3lcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBtYXAsIHBsdWNrLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgR2V0QWxsQ29sdW1uc1NvcnRlZCwgZ2V0VW5pcXVlSWQgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgUG9ydGFsU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3BvcnRhbC5zZXJ2aWNlJztcbmltcG9ydCB7IFVsdk1haW5TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdWx2bWFpbi5zZXJ2aWNlJztcbmltcG9ydCB7IEJhcnNhQXBpIH0gZnJvbSAnLi9iYXJzYS1hcGknO1xuaW1wb3J0IHtcbiAgICBNZXRhb2JqZWN0RGF0YU1vZGVsLFxuICAgIEdyaWRTZXR0aW5nLFxuICAgIENvbFNldHRpbmcsXG4gICAgUmVwb3J0Vmlld0NvbHVtbixcbiAgICBTb3J0U2V0dGluZyxcbiAgICBNZW51SXRlbSxcbiAgICBQYWdpbmdTZXR0aW5nLFxuICAgIEFiYnJldmF0aW9uRGV2aWNlU2l6ZSxcbiAgICBjb2x1bW5zUmVzaXplZEV2ZW50QXJncyxcbiAgICBGb3JtU2V0dGluZ1xufSBmcm9tICcuL21vZGVscyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVwb3J0U2V0dGluZyB7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgIElkOiBzdHJpbmc7XG4gICAgRXh0cmE6IGFueTtcbn1cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYm5yYy1yZXBvcnQtYmFzZScsXG4gICAgdGVtcGxhdGU6ICcnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFJlcG9ydEJhc2VDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpIGNvbnRleHQ6IHtcbiAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICBTZXR0aW5nOiBSZXBvcnRTZXR0aW5nO1xuICAgIH07XG4gICAgQElucHV0KCkgY3VycmVudFBhZ2U6IG51bWJlcjtcblxuICAgIEBPdXRwdXQoKSBwYWdlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG4gICAgQE91dHB1dCgpIHBhZ2VTaXplQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgICBkZWZhdWx0R3JpZFNldHRpbmcgPSB7XG4gICAgICAgIENvbFNldHRpbmdMaXN0OiBbXSxcbiAgICAgICAgQXV0b1NpemVDb2x1bW5zOiBmYWxzZSxcbiAgICAgICAgU29ydFNldHRpbmdMaXN0OiBbXSxcbiAgICAgICAgSGlkZGVuOiB0cnVlXG4gICAgfTtcbiAgICBpdGVtU2VsZWN0b3I6IHN0cmluZztcbiAgICBhbGxDb2x1bW5zOiBSZXBvcnRWaWV3Q29sdW1uW107XG4gICAgaWQ6IHN0cmluZztcblxuICAgIHNvcnRTZXR0aW5nczogeyBJc0dyb3VwZWQ6IGJvb2xlYW47IE5hbWU6IHN0cmluZzsgU29ydERpcmVjdGlvbjogc3RyaW5nIH1bXSB8IG51bGwgPSBudWxsO1xuICAgIHBhcmFtZXRlcnM6IGFueTtcbiAgICBmaWVsZHM6IGFueTtcblxuICAgIHZpc2libGVDb2x1bW5zJDogT2JzZXJ2YWJsZTxSZXBvcnRWaWV3Q29sdW1uW10+O1xuICAgIHNlYXJjaFRlcm0kOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gICAgbW9EYXRhTGlzdCQ6IE9ic2VydmFibGU8TWV0YW9iamVjdERhdGFNb2RlbFtdPjtcbiAgICBncmlkU2V0dGluZyQ6IE9ic2VydmFibGU8R3JpZFNldHRpbmc+O1xuICAgIGdyb3VwYnkkOiBPYnNlcnZhYmxlPFNvcnRTZXR0aW5nW10+O1xuICAgIGFsbENoZWNrZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIHBhZ2luZ1NldHRpbmckOiBPYnNlcnZhYmxlPFBhZ2luZ1NldHRpbmcgfCBudWxsPjtcbiAgICBkZXZpY2VTaXplJDogT2JzZXJ2YWJsZTxBYmJyZXZhdGlvbkRldmljZVNpemU+O1xuICAgIG1hc2skOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIHRpdGxlJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICAgIGluRGlhbG9nJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBpc011bHRpU2VsZWN0JDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBmdWxsc2NyZWVuJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBtZW51SXRlbXMkOiBPYnNlcnZhYmxlPE1lbnVJdGVtW10+O1xuICAgIHRvb2xiYXJCdXR0b25zJDogT2JzZXJ2YWJsZTxhbnlbXT47XG4gICAgdG9vbGJhckVuYWJsZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgaGlkZVRvb2xiYXIkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIGhpZGVTZWFyY2hwYW5lbCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgc2VsZWN0ZWRNbyQ6IE9ic2VydmFibGU8TWV0YW9iamVjdERhdGFNb2RlbCB8IHVuZGVmaW5lZD47XG4gICAgY29uZGl0aW9uYWxGb3JtYXRzJDogT2JzZXJ2YWJsZTxhbnlbXT47XG4gICAgbmV3SW5saW5lRWRpdE1vJDogT2JzZXJ2YWJsZTxNZXRhb2JqZWN0RGF0YU1vZGVsIHwgbnVsbD47XG4gICAgY2FydGFibGVUZW1wbGF0ZXMkOiBPYnNlcnZhYmxlPHsgW2tleTogc3RyaW5nXTogRm9ybVNldHRpbmcgfSB8IG51bGw+O1xuICAgIGNhcnRhYmxlQ2hpbGRzTW8kOiBPYnNlcnZhYmxlPHsgW2tleTogc3RyaW5nXTogTWV0YW9iamVjdERhdGFNb2RlbCB9IHwgbnVsbD47XG4gICAgc2VsZWN0ZWRDb3VudCQ6IE9ic2VydmFibGU8bnVtYmVyPjtcbiAgICBncmlkRnJlZUNvbHVtblNpemluZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgICBwcm90ZWN0ZWQgX3Zpc2libGVDb2x1bW5zU291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxSZXBvcnRWaWV3Q29sdW1uW10+KFtdKTtcbiAgICBwcm90ZWN0ZWQgc2VhcmNoVGVybVNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gICAgcHJvdGVjdGVkIGdyaWRTZXR0aW5nU291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxHcmlkU2V0dGluZz4odGhpcy5kZWZhdWx0R3JpZFNldHRpbmcpO1xuICAgIHByb3RlY3RlZCBncm91cGJ5U291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTb3J0U2V0dGluZ1tdPihbXSk7XG4gICAgcHJpdmF0ZSBfYWxsQ2hlY2tlZFNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9wb3J0YWxTZXJ2aWNlOiBQb3J0YWxTZXJ2aWNlLCBwcm90ZWN0ZWQgX3Vsdk1haW5TZXJ2aWNlOiBVbHZNYWluU2VydmljZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLnZpc2libGVDb2x1bW5zJCA9IHRoaXMuX3Zpc2libGVDb2x1bW5zU291cmNlLmFzT2JzZXJ2YWJsZSgpO1xuICAgICAgICB0aGlzLnNlYXJjaFRlcm0kID0gdGhpcy5zZWFyY2hUZXJtU291cmNlLmFzT2JzZXJ2YWJsZSgpO1xuICAgICAgICB0aGlzLmdyaWRTZXR0aW5nJCA9IHRoaXMuZ3JpZFNldHRpbmdTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XG4gICAgICAgIHRoaXMuZ3JvdXBieSQgPSB0aGlzLmdyb3VwYnlTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XG4gICAgICAgIHRoaXMuYWxsQ2hlY2tlZCQgPSB0aGlzLl9hbGxDaGVja2VkU291cmNlLmFzT2JzZXJ2YWJsZSgpO1xuICAgICAgICB0aGlzLmZpZWxkcyA9IHt9O1xuICAgICAgICB0aGlzLnRvb2xiYXJCdXR0b25zJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnRvb2xiYXJCdXR0b25zJDtcbiAgICB9XG4gICAgZ2V0IG1vRGF0YUxpc3QoKTogTWV0YW9iamVjdERhdGFNb2RlbFtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLm1vRGF0YUxpc3RTb3VyY2UuZ2V0VmFsdWUoKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuY29udGV4dC5yZW5kZXJlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuaW5EaWFsb2ckID0gdGhpcy5fdWx2TWFpblNlcnZpY2UuaW5EaWFsb2ckO1xuICAgICAgICB0aGlzLmlzTXVsdGlTZWxlY3QkID0gdGhpcy5fdWx2TWFpblNlcnZpY2UuaXNNdWx0aVNlbGVjdCQ7XG4gICAgICAgIHRoaXMuZnVsbHNjcmVlbiQgPSB0aGlzLl91bHZNYWluU2VydmljZS5mdWxsc2NyZWVuJDtcbiAgICAgICAgdGhpcy5oaWRlU2VhcmNocGFuZWwkID0gdGhpcy5fdWx2TWFpblNlcnZpY2UuaGlkZVNlYXJjaHBhbmVsJDtcbiAgICAgICAgdGhpcy5kZXZpY2VTaXplJCA9IHRoaXMuX3BvcnRhbFNlcnZpY2UuZGV2aWNlU2l6ZSQ7XG4gICAgICAgIHRoaXMuaGlkZVRvb2xiYXIkID0gdGhpcy5fdWx2TWFpblNlcnZpY2UuaGlkZVRvb2xiYXIkO1xuICAgICAgICB0aGlzLm5ld0lubGluZUVkaXRNbyQgPSB0aGlzLl91bHZNYWluU2VydmljZS5uZXdJbmxpbmVFZGl0TW8kO1xuICAgICAgICB0aGlzLmNvbmRpdGlvbmFsRm9ybWF0cyQgPSB0aGlzLl91bHZNYWluU2VydmljZS5jb25kaXRpb25hbEZvcm1hdHMkO1xuICAgICAgICB0aGlzLmNhcnRhYmxlVGVtcGxhdGVzJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLmNhcnRhYmxlVGVtcGxhdGVzJDtcbiAgICAgICAgdGhpcy5jYXJ0YWJsZUNoaWxkc01vJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLmNhcnRhYmxlQ2hpbGRzTW8kO1xuICAgICAgICB0aGlzLnRpdGxlJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnRpdGxlJC5waXBlKHBsdWNrKCd0ZXh0JykpO1xuICAgICAgICB0aGlzLm1lbnVJdGVtcyQgPSB0aGlzLl91bHZNYWluU2VydmljZS5tZW51SXRlbXMkO1xuICAgICAgICB0aGlzLnBhZ2luZ1NldHRpbmckID0gdGhpcy5fdWx2TWFpblNlcnZpY2UucGFnaW5nU2V0dGluZyQ7XG4gICAgICAgIHRoaXMudG9vbGJhckVuYWJsZSQgPSB0aGlzLl91bHZNYWluU2VydmljZS5lbmFibGUkO1xuICAgICAgICB0aGlzLmdyaWRGcmVlQ29sdW1uU2l6aW5nJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLmdyaWRGcmVlQ29sdW1uU2l6aW5nJDtcbiAgICAgICAgdGhpcy5tYXNrJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnZpd2VyTWFzayQucGlwZShkZWJvdW5jZVRpbWUoMjAwKSk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRNbyQgPSB0aGlzLl91bHZNYWluU2VydmljZS5tb0RhdGFMaXN0JC5waXBlKG1hcCgoaXRlbXMpID0+IGl0ZW1zLmZpbmQoKGMpID0+IGMuJElzQ2hlY2tlZCkpKTtcbiAgICAgICAgdGhpcy5tb0RhdGFMaXN0JCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLm1vRGF0YUxpc3QkLnBpcGUodGFwKChpdGVtcykgPT4gdGhpcy5fc2V0QWxsQ2hlY2tlZChpdGVtcykpKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENvdW50JCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnNlbGVjdGVkQ291bnQkO1xuXG4gICAgICAgIHRoaXMuY29udGV4dC5vbih7XG4gICAgICAgICAgICBzY29wZTogdGhpcyxcbiAgICAgICAgICAgIE1vRGF0YUxpc3RDaGFuZ2VkOiB0aGlzLl9tb0RhdGFMaXN0Q2hhbmdlZCxcbiAgICAgICAgICAgIEdyaWRTZXR0aW5nQ2hhbmdlZDogdGhpcy5fZ3JpZFNldHRpbmdDaGFuZ2VkXG4gICAgICAgIH0pO1xuICAgICAgICAvLyBpbiBnaGVpcmUgZmFhbCBib29kIGNob24gbW9zaGtlbCBlaWphZCBtaWthcmRcbiAgICAgICAgLy8gdmEgZGFyIHVsdiBldmVudCBiYWlhZCByYWlzZSBzaGF2YWRcbiAgICAgICAgLy8ga2UgZGF0YSBhbWFkZSBzaG9kZSB2YSB1bHZtYWluc2VydmljZSBhbiByYSBiZWdpcmFkLmdvemFyZXNoIG1vcnRhYmV0XG4gICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnJlU2V0TW9EYXRhTGlzdCh0aGlzLmNvbnRleHQubW9EYXRhTGlzdCk7XG5cbiAgICAgICAgbGV0IGdyaWRTZXR0aW5nID0gdGhpcy5kZWZhdWx0R3JpZFNldHRpbmc7XG4gICAgICAgIGlmICh0aGlzLmNvbnRleHQuR2V0R3JpZFNldHRpbmcpIHtcbiAgICAgICAgICAgIGdyaWRTZXR0aW5nID0gdGhpcy5jb250ZXh0LkdldEdyaWRTZXR0aW5nKCkgfHwgdGhpcy5kZWZhdWx0R3JpZFNldHRpbmc7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9zZXRWaXNpYmxlQ29sdW1ucygpO1xuXG4gICAgICAgIGdyaWRTZXR0aW5nLlNvcnRTZXR0aW5nTGlzdCB8fD0gW107XG4gICAgICAgIHRoaXMuYWxsQ29sdW1ucyA9IHRoaXMuY29udGV4dC5hbGxDb2x1bW5zIHx8IFtdO1xuICAgICAgICB0aGlzLnVwZGF0ZUdyaWRTZXR0aW5nKGdyaWRTZXR0aW5nLCBmYWxzZSwgZmFsc2UpO1xuICAgICAgICB0aGlzLnBhcmFtZXRlcnMgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZShcbiAgICAgICAgICAgIHRoaXMuY29udGV4dCxcbiAgICAgICAgICAgICdTZXR0aW5nLkNsYXNzTmFtZXMuQ3VzdG9tVWkuUGFyYW1ldGVycycsXG4gICAgICAgICAgICBudWxsXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuaWQgPSBnZXRVbmlxdWVJZCg0KTtcblxuICAgICAgICB0aGlzLml0ZW1TZWxlY3RvciA9IEJhcnNhQXBpLkNvbW1vbi5VdGlsLlRyeUdldFZhbHVlKHRoaXMuY29udGV4dCwgJ1NldHRpbmcuQ2xhc3NOYW1lcy5DdXN0b21VaVJvdy5TZWxlY3RvcicpO1xuXG4gICAgICAgIHRoaXMucGFyYW1ldGVycyA9IEJhcnNhQXBpLkNvbW1vbi5VdGlsLlRyeUdldFZhbHVlKHRoaXMuY29udGV4dCwgJ1NldHRpbmcuQ2xhc3NOYW1lcy5DdXN0b21VaS5QYXJhbWV0ZXJzJyk7XG4gICAgICAgIGNvbnN0IGZpZWxkU2V0dGluZ3MgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZSh0aGlzLnBhcmFtZXRlcnMsICdGaWVsZFNldHRpbmdzLk1vRGF0YUxpc3QnLCBbXSk7XG5cbiAgICAgICAgZmllbGRTZXR0aW5ncy5mb3JFYWNoKChjKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmZpZWxkc1tjLkNvbXBvbmVudFBhcmFtZXRlci4kQ2FwdGlvbl0gPSBjLiRDYXB0aW9uO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuXG4gICAgICAgIHRoaXMuZGV2aWNlU2l6ZSRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSxcbiAgICAgICAgICAgICAgICB0YXAoKGRldmljZVNpemUpID0+IHRoaXMuX2RldmljZVNpemVDaGFuZ2VkKGRldmljZVNpemUpKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLl9wb3J0YWxTZXJ2aWNlLndpbmRvd1Jlc2l6ZSQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLl93aW5kb3dSZXNpemVkKCkpO1xuICAgICAgICB0aGlzLmNvbnRleHQ/LmZpcmVFdmVudCgnYWZ0ZXJyZW5kZXInLCB0aGlzKTtcbiAgICB9XG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgICAgIHRoaXMuY29udGV4dC51bignTW9EYXRhTGlzdENoYW5nZWQnLCB0aGlzLl9tb0RhdGFMaXN0Q2hhbmdlZCk7XG4gICAgICAgIHRoaXMuY29udGV4dC51bignR3JpZFNldHRpbmdDaGFuZ2VkJywgdGhpcy5fZ3JpZFNldHRpbmdDaGFuZ2VkKTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9ncmlkU2V0dGluZ0NoYW5nZWQoc2V0dGluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmdyaWRTZXR0aW5nU291cmNlLm5leHQoc2V0dGluZyk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfbW9EYXRhTGlzdENoYW5nZWQobW9EYXRhTGlzdCk6IHZvaWQge1xuICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5yZVNldE1vRGF0YUxpc3QobW9EYXRhTGlzdCk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfc2V0QWxsQ2hlY2tlZChpdGVtczogTWV0YW9iamVjdERhdGFNb2RlbFtdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2FsbENoZWNrZWRTb3VyY2UubmV4dChpdGVtcy5sZW5ndGggPiAwICYmICFpdGVtcy5zb21lKChjKSA9PiAhYy4kSXNDaGVja2VkKSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9oYW5kbGVDb2x1bW5zUmVzaXplZChlOiBjb2x1bW5zUmVzaXplZEV2ZW50QXJncyk6IHZvaWQge1xuICAgICAgICBjb25zdCBncmlkU2V0dGluZzogR3JpZFNldHRpbmcgPSB0aGlzLmdyaWRTZXR0aW5nU291cmNlLmdldFZhbHVlKCk7XG4gICAgICAgIGNvbnN0IHsgY29sdW1ucywgcmVzaXplZCB9ID0gZTtcbiAgICAgICAgY29uc3QgY29sTGlzdDogQ29sU2V0dGluZ1tdID0gZ3JpZFNldHRpbmcuQ29sU2V0dGluZ0xpc3Q7XG4gICAgICAgIHJlc2l6ZWQuZm9yRWFjaCgoY29sdW1uMSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmVzaXplZENvbHVtbiA9IGNvbHVtbnMuZmluZCgoYykgPT4gYy5OYW1lID09PSBjb2x1bW4xLm5hbWUpO1xuICAgICAgICAgICAgaWYgKCFjb2xMaXN0KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgY29sdW1uID0gY29sTGlzdC5maW5kKChjKSA9PiBjLk5hbWUgPT09IHJlc2l6ZWRDb2x1bW4/Lk5hbWUpO1xuICAgICAgICAgICAgaWYgKGNvbHVtbikge1xuICAgICAgICAgICAgICAgIGNvbHVtbi5XaWR0aCA9IGNvbHVtbjEud2lkdGg7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHJlc2l6ZWRDb2x1bW4pIHtcbiAgICAgICAgICAgICAgICBjb2xMaXN0LnB1c2goeyBJc0hpZGRlbjogcmVzaXplZENvbHVtbi5IaWRkZW4sIE5hbWU6IHJlc2l6ZWRDb2x1bW4uTmFtZSwgV2lkdGg6IGNvbHVtbjEud2lkdGggfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLl9yYWlzZUV2ZW50VXNlclNldHRpbmdDaGFuZ2VkKGdyaWRTZXR0aW5nKTtcbiAgICAgICAgdGhpcy5fZGV2aWNlU2l6ZUNoYW5nZWQodGhpcy5fcG9ydGFsU2VydmljZS5kZXZpY2VTaXplKTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9zZXRWaXNpYmxlQ29sdW1ucygpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY29sdW1ucyA9IEdldEFsbENvbHVtbnNTb3J0ZWQodGhpcy5jb250ZXh0KTtcbiAgICAgICAgdGhpcy5fdmlzaWJsZUNvbHVtbnNTb3VyY2UubmV4dChjb2x1bW5zLmZpbHRlcigoYykgPT4gIWMuSGlkZGVuKSk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBhcHBseUdyb3VwYnkoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHNvcnRMaXN0OiBTb3J0U2V0dGluZ1tdID0gQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUoXG4gICAgICAgICAgICB0aGlzLmNvbnRleHQsXG4gICAgICAgICAgICAnU2V0dGluZy5WaWV3LkdyaWRTZXR0aW5nLlNvcnRTZXR0aW5nTGlzdCcsXG4gICAgICAgICAgICBbXVxuICAgICAgICApO1xuICAgICAgICB0aGlzLmdyb3VwYnlTb3VyY2UubmV4dChzb3J0TGlzdC5maWx0ZXIoKGMpID0+IGMuSXNHcm91cGVkKSk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfcmFpc2VSb3dDbGljayhpbmRleCwgbW8pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb250ZXh0Py5maXJlRXZlbnQoJ3Jvd2RibGNsaWNrJywgdGhpcy5jb250ZXh0LCBpbmRleCwgbW8pO1xuICAgIH1cbiAgICAvKiBlc2xpbnQtZGlzYWJsZSAqL1xuICAgIHByb3RlY3RlZCBfZGV2aWNlU2l6ZUNoYW5nZWQoXzogc3RyaW5nKTogdm9pZCB7fVxuICAgIHByb3RlY3RlZCBfd2luZG93UmVzaXplZCgpOiB2b2lkIHt9XG5cbiAgICBwcm90ZWN0ZWQgX29wZW5NbyhtbywgaSk6IHZvaWQge1xuICAgICAgICB0aGlzLl9yYWlzZVJvd0NsaWNrKGksIG1vKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdXBkYXRlR3JpZFNldHRpbmcoc2V0dGluZywgaXNTb3J0ID0gZmFsc2UsIHJhaXNlRXZlbnQgPSB0cnVlKTogdm9pZCB7XG4gICAgICAgIGlmICghc2V0dGluZykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY29udGV4dC5TZXR0aW5nLlZpZXcuR3JpZFNldHRpbmcgPSBzZXR0aW5nO1xuICAgICAgICB0aGlzLmdyaWRTZXR0aW5nU291cmNlLm5leHQoc2V0dGluZyk7XG4gICAgICAgIHRoaXMuYXBwbHlHcm91cGJ5KCk7XG4gICAgICAgIGlmIChpc1NvcnQpIHtcbiAgICAgICAgICAgIHNldHRpbmcuRXZlbnQgPSAnU29ydENoYW5nZSc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzZXR0aW5nLkV2ZW50ID0gJyc7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fZGV2aWNlU2l6ZUNoYW5nZWQodGhpcy5fcG9ydGFsU2VydmljZS5kZXZpY2VTaXplKTtcbiAgICAgICAgaWYgKHJhaXNlRXZlbnQpIHtcbiAgICAgICAgICAgIHRoaXMuX3JhaXNlRXZlbnRVc2VyU2V0dGluZ0NoYW5nZWQoc2V0dGluZyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcHJvdGVjdGVkIF9yYWlzZUV2ZW50VXNlclNldHRpbmdDaGFuZ2VkKGdyaWRTZXR0aW5nOiBHcmlkU2V0dGluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbnRleHQuZmlyZUV2ZW50KCdVc2VyU2V0dGluZ0NoYW5nZScsIHRoaXMuY29udGV4dCwgZ3JpZFNldHRpbmcpO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgX3VsdkNvbW1hbmRDbGlja2VkKG1vLCBpbmRleCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9yZW1vdmVDaGVja2VkQWxsKCk7XG4gICAgICAgIHRoaXMuX3NlbGVjdChtbywgaW5kZXgpO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgX2NoZWNrZWRBbGwoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG1vRGF0YUxpc3QgPSB0aGlzLm1vRGF0YUxpc3Q7XG4gICAgICAgIG1vRGF0YUxpc3QuZm9yRWFjaCgobW8pID0+IChtby4kSXNDaGVja2VkID0gdHJ1ZSkpO1xuICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5yZVNldE1vRGF0YUxpc3QoKTtcbiAgICAgICAgdGhpcy5jb250ZXh0LmZpcmVFdmVudCgncm93U2VsZWN0QWxsJywgdGhpcy5jb250ZXh0KTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9yZW1vdmVDaGVja2VkQWxsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9kZXNlbGN0QWxsKCk7XG4gICAgICAgIC8vIHRoaXMuY29udGV4dC5maXJlRXZlbnQoJ3Jvd0Rlc2VsZWN0QWxsJywgdGhpcy5jb250ZXh0KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX2Rlc2VsY3RBbGwoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG1vRGF0YUxpc3QgPSB0aGlzLm1vRGF0YUxpc3Q7XG4gICAgICAgIG1vRGF0YUxpc3QuZm9yRWFjaCgobW8pID0+IChtby4kSXNDaGVja2VkID0gZmFsc2UpKTtcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2UucmVTZXRNb0RhdGFMaXN0KCk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfZGVzZWxlY3QobW8sIGluZGV4KTogTWV0YW9iamVjdERhdGFNb2RlbCB7XG4gICAgICAgIG1vLiRJc0NoZWNrZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2UucmVTZXRNb0RhdGFMaXN0KCk7XG4gICAgICAgIHRoaXMuY29udGV4dC5maXJlRXZlbnQoJ3Jvd2Rlc2VsZWN0JywgdGhpcy5jb250ZXh0LCBpbmRleCwgbW8pO1xuICAgICAgICByZXR1cm4gbW87XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9zZWxlY3QobW8sIGluZGV4KTogTWV0YW9iamVjdERhdGFNb2RlbCB7XG4gICAgICAgIC8vICAgIHRoaXMuX2Rlc2VsY3RBbGwoKTtcbiAgICAgICAgbW8uJElzQ2hlY2tlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnJlU2V0TW9EYXRhTGlzdCgpO1xuICAgICAgICB0aGlzLmNvbnRleHQuZmlyZUV2ZW50KCdyb3dzZWxlY3QnLCB0aGlzLmNvbnRleHQsIGluZGV4LCBtbyk7XG4gICAgICAgIHJldHVybiBtbztcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX2RvQ2hlY2tlZEFsbChjaGVja2VkKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGVja2VkKSB7XG4gICAgICAgICAgICB0aGlzLl9jaGVja2VkQWxsKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9yZW1vdmVDaGVja2VkQWxsKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX2dldFNlbGVjdGVkKCk6IE1ldGFvYmplY3REYXRhTW9kZWwgfCBudWxsIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRNbyA9IHRoaXMubW9EYXRhTGlzdC5maW5kKChtbykgPT4gbW8uJElzQ2hlY2tlZCk7XG4gICAgICAgIGlmICghc2VsZWN0ZWRNbykge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgc2VsZWN0ZWRNby5qc29uID0gc2VsZWN0ZWRNbztcbiAgICAgICAgcmV0dXJuIHNlbGVjdGVkTW87XG4gICAgfVxuICAgIHByb3RlY3RlZCByZWZyZXNoQ29udGV4dE1vRGF0YUxpc3QobW9EYXRhTGlzdCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbnRleHQuZmlyZUV2ZW50KCdSZWZyZXNoQ29udGV4dE1vRGF0YUxpc3QnLCBtb0RhdGFMaXN0KTtcbiAgICB9XG59XG4iXX0=
|
|
239
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL2Fic3RyYWN0LWNsYXNzZXMvcmVwb3J0LWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILEtBQUssRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFJTix1QkFBdUIsRUFDMUIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBR2hFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7QUF3QnZDLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxhQUFhO0lBd0RsRCxZQUFzQixjQUE2QixFQUFZLGVBQStCO1FBQzFGLEtBQUssRUFBRSxDQUFDO1FBRFUsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFBWSxvQkFBZSxHQUFmLGVBQWUsQ0FBZ0I7UUFqRHBGLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ3hDLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUV0RCx1QkFBa0IsR0FBRztZQUNqQixjQUFjLEVBQUUsRUFBRTtZQUNsQixlQUFlLEVBQUUsS0FBSztZQUN0QixlQUFlLEVBQUUsRUFBRTtZQUNuQixNQUFNLEVBQUUsSUFBSTtTQUNmLENBQUM7UUFLRixpQkFBWSxHQUF5RSxJQUFJLENBQUM7UUE4QmhGLDBCQUFxQixHQUFHLElBQUksZUFB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QztTQUNmO1FBQ0QsVUFBVSxDQUFDLElBQUksR0FBRyxVQUFVLENBQUM7UUFDN0IsT0FBTyxVQUFVLENBQUM7SUFDdEIsQ0FBQztJQUNTLHdCQUF3QixDQUFDLFVBQVU7UUFDekMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsMEJBQTBCLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDbkUsQ0FBQzs7Z0hBalJRLG1CQUFtQjtvR0FBbkIsbUJBQW1CLG9OQUhsQixFQUFFOzJGQUdILG1CQUFtQjtrQkFML0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixRQUFRLEVBQUUsRUFBRTtvQkFDWixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDbEQ7aUlBRVksT0FBTztzQkFBZixLQUFLO2dCQUlHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIElucHV0LFxyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgRXZlbnRFbWl0dGVyLFxyXG4gICAgT3V0cHV0LFxyXG4gICAgT25Jbml0LFxyXG4gICAgQWZ0ZXJWaWV3SW5pdCxcclxuICAgIE9uRGVzdHJveSxcclxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBtYXAsIHBsdWNrLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICcuL2Jhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgR2V0QWxsQ29sdW1uc1NvcnRlZCwgZ2V0VW5pcXVlSWQgfSBmcm9tICcuLi9jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBQb3J0YWxTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvcG9ydGFsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVbHZNYWluU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3Vsdm1haW4uc2VydmljZSc7XHJcbmltcG9ydCB7IEJhcnNhQXBpIH0gZnJvbSAnLi9iYXJzYS1hcGknO1xyXG5pbXBvcnQge1xyXG4gICAgTWV0YW9iamVjdERhdGFNb2RlbCxcclxuICAgIEdyaWRTZXR0aW5nLFxyXG4gICAgQ29sU2V0dGluZyxcclxuICAgIFJlcG9ydFZpZXdDb2x1bW4sXHJcbiAgICBTb3J0U2V0dGluZyxcclxuICAgIE1lbnVJdGVtLFxyXG4gICAgUGFnaW5nU2V0dGluZyxcclxuICAgIEFiYnJldmF0aW9uRGV2aWNlU2l6ZSxcclxuICAgIGNvbHVtbnNSZXNpemVkRXZlbnRBcmdzLFxyXG4gICAgRm9ybVNldHRpbmdcclxufSBmcm9tICcuL21vZGVscyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFJlcG9ydFNldHRpbmcge1xyXG4gICAgW2tleTogc3RyaW5nXTogYW55O1xyXG4gICAgSWQ6IHN0cmluZztcclxuICAgIEV4dHJhOiBhbnk7XHJcbn1cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JucmMtcmVwb3J0LWJhc2UnLFxyXG4gICAgdGVtcGxhdGU6ICcnLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFJlcG9ydEJhc2VDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xyXG4gICAgQElucHV0KCkgY29udGV4dDoge1xyXG4gICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcclxuICAgICAgICBTZXR0aW5nOiBSZXBvcnRTZXR0aW5nO1xyXG4gICAgfTtcclxuICAgIEBJbnB1dCgpIGN1cnJlbnRQYWdlOiBudW1iZXI7XHJcblxyXG4gICAgQE91dHB1dCgpIHBhZ2VDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuICAgIEBPdXRwdXQoKSBwYWdlU2l6ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG5cclxuICAgIGRlZmF1bHRHcmlkU2V0dGluZyA9IHtcclxuICAgICAgICBDb2xTZXR0aW5nTGlzdDogW10sXHJcbiAgICAgICAgQXV0b1NpemVDb2x1bW5zOiBmYWxzZSxcclxuICAgICAgICBTb3J0U2V0dGluZ0xpc3Q6IFtdLFxyXG4gICAgICAgIEhpZGRlbjogdHJ1ZVxyXG4gICAgfTtcclxuICAgIGl0ZW1TZWxlY3Rvcjogc3RyaW5nO1xyXG4gICAgYWxsQ29sdW1uczogUmVwb3J0Vmlld0NvbHVtbltdO1xyXG4gICAgaWQ6IHN0cmluZztcclxuXHJcbiAgICBzb3J0U2V0dGluZ3M6IHsgSXNHcm91cGVkOiBib29sZWFuOyBOYW1lOiBzdHJpbmc7IFNvcnREaXJlY3Rpb246IHN0cmluZyB9W10gfCBudWxsID0gbnVsbDtcclxuICAgIHBhcmFtZXRlcnM6IGFueTtcclxuICAgIGZpZWxkczogYW55O1xyXG5cclxuICAgIHZpc2libGVDb2x1bW5zJDogT2JzZXJ2YWJsZTxSZXBvcnRWaWV3Q29sdW1uW10+O1xyXG4gICAgc2VhcmNoVGVybSQ6IE9ic2VydmFibGU8c3RyaW5nPjtcclxuICAgIG1vRGF0YUxpc3QkOiBPYnNlcnZhYmxlPE1ldGFvYmplY3REYXRhTW9kZWxbXT47XHJcbiAgICBncmlkU2V0dGluZyQ6IE9ic2VydmFibGU8R3JpZFNldHRpbmc+O1xyXG4gICAgZ3JvdXBieSQ6IE9ic2VydmFibGU8U29ydFNldHRpbmdbXT47XHJcbiAgICBhbGxDaGVja2VkJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuICAgIHBhZ2luZ1NldHRpbmckOiBPYnNlcnZhYmxlPFBhZ2luZ1NldHRpbmcgfCBudWxsPjtcclxuICAgIGRldmljZVNpemUkOiBPYnNlcnZhYmxlPEFiYnJldmF0aW9uRGV2aWNlU2l6ZT47XHJcbiAgICBtYXNrJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuICAgIHRpdGxlJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xyXG4gICAgaW5EaWFsb2ckOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gICAgaXNNdWx0aVNlbGVjdCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICBmdWxsc2NyZWVuJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuICAgIG1lbnVJdGVtcyQ6IE9ic2VydmFibGU8TWVudUl0ZW1bXT47XHJcbiAgICB0b29sYmFyQnV0dG9ucyQ6IE9ic2VydmFibGU8YW55W10+O1xyXG4gICAgdG9vbGJhckVuYWJsZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICBoaWRlVG9vbGJhciQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICBoaWRlU2VhcmNocGFuZWwkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gICAgc2VsZWN0ZWRNbyQ6IE9ic2VydmFibGU8TWV0YW9iamVjdERhdGFNb2RlbCB8IHVuZGVmaW5lZD47XHJcbiAgICBjb25kaXRpb25hbEZvcm1hdHMkOiBPYnNlcnZhYmxlPGFueVtdPjtcclxuICAgIG5ld0lubGluZUVkaXRNbyQ6IE9ic2VydmFibGU8TWV0YW9iamVjdERhdGFNb2RlbCB8IG51bGw+O1xyXG4gICAgY2FydGFibGVUZW1wbGF0ZXMkOiBPYnNlcnZhYmxlPHsgW2tleTogc3RyaW5nXTogRm9ybVNldHRpbmcgfSB8IG51bGw+O1xyXG4gICAgY2FydGFibGVDaGlsZHNNbyQ6IE9ic2VydmFibGU8eyBba2V5OiBzdHJpbmddOiBNZXRhb2JqZWN0RGF0YU1vZGVsIH0gfCBudWxsPjtcclxuICAgIHNlbGVjdGVkQ291bnQkOiBPYnNlcnZhYmxlPG51bWJlcj47XHJcbiAgICBncmlkRnJlZUNvbHVtblNpemluZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcblxyXG4gICAgcHJvdGVjdGVkIF92aXNpYmxlQ29sdW1uc1NvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UmVwb3J0Vmlld0NvbHVtbltdPihbXSk7XHJcbiAgICBwcm90ZWN0ZWQgc2VhcmNoVGVybVNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XHJcbiAgICBwcm90ZWN0ZWQgZ3JpZFNldHRpbmdTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEdyaWRTZXR0aW5nPih0aGlzLmRlZmF1bHRHcmlkU2V0dGluZyk7XHJcbiAgICBwcm90ZWN0ZWQgZ3JvdXBieVNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U29ydFNldHRpbmdbXT4oW10pO1xyXG4gICAgcHJpdmF0ZSBfYWxsQ2hlY2tlZFNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfcG9ydGFsU2VydmljZTogUG9ydGFsU2VydmljZSwgcHJvdGVjdGVkIF91bHZNYWluU2VydmljZTogVWx2TWFpblNlcnZpY2UpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIHRoaXMudmlzaWJsZUNvbHVtbnMkID0gdGhpcy5fdmlzaWJsZUNvbHVtbnNTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICAgICAgdGhpcy5zZWFyY2hUZXJtJCA9IHRoaXMuc2VhcmNoVGVybVNvdXJjZS5hc09ic2VydmFibGUoKTtcclxuICAgICAgICB0aGlzLmdyaWRTZXR0aW5nJCA9IHRoaXMuZ3JpZFNldHRpbmdTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICAgICAgdGhpcy5ncm91cGJ5JCA9IHRoaXMuZ3JvdXBieVNvdXJjZS5hc09ic2VydmFibGUoKTtcclxuICAgICAgICB0aGlzLmFsbENoZWNrZWQkID0gdGhpcy5fYWxsQ2hlY2tlZFNvdXJjZS5hc09ic2VydmFibGUoKTtcclxuICAgICAgICB0aGlzLmZpZWxkcyA9IHt9O1xyXG4gICAgICAgIHRoaXMudG9vbGJhckJ1dHRvbnMkID0gdGhpcy5fdWx2TWFpblNlcnZpY2UudG9vbGJhckJ1dHRvbnMkO1xyXG4gICAgfVxyXG4gICAgZ2V0IG1vRGF0YUxpc3QoKTogTWV0YW9iamVjdERhdGFNb2RlbFtdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fdWx2TWFpblNlcnZpY2UubW9EYXRhTGlzdFNvdXJjZS5nZXRWYWx1ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlZCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5jb250ZXh0LnJlbmRlcmVkID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmluRGlhbG9nJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLmluRGlhbG9nJDtcclxuICAgICAgICB0aGlzLmlzTXVsdGlTZWxlY3QkID0gdGhpcy5fdWx2TWFpblNlcnZpY2UuaXNNdWx0aVNlbGVjdCQ7XHJcbiAgICAgICAgdGhpcy5mdWxsc2NyZWVuJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLmZ1bGxzY3JlZW4kO1xyXG4gICAgICAgIHRoaXMuaGlkZVNlYXJjaHBhbmVsJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLmhpZGVTZWFyY2hwYW5lbCQ7XHJcbiAgICAgICAgdGhpcy5kZXZpY2VTaXplJCA9IHRoaXMuX3BvcnRhbFNlcnZpY2UuZGV2aWNlU2l6ZSQ7XHJcbiAgICAgICAgdGhpcy5oaWRlVG9vbGJhciQgPSB0aGlzLl91bHZNYWluU2VydmljZS5oaWRlVG9vbGJhciQ7XHJcbiAgICAgICAgdGhpcy5uZXdJbmxpbmVFZGl0TW8kID0gdGhpcy5fdWx2TWFpblNlcnZpY2UubmV3SW5saW5lRWRpdE1vJDtcclxuICAgICAgICB0aGlzLmNvbmRpdGlvbmFsRm9ybWF0cyQgPSB0aGlzLl91bHZNYWluU2VydmljZS5jb25kaXRpb25hbEZvcm1hdHMkO1xyXG4gICAgICAgIHRoaXMuY2FydGFibGVUZW1wbGF0ZXMkID0gdGhpcy5fdWx2TWFpblNlcnZpY2UuY2FydGFibGVUZW1wbGF0ZXMkO1xyXG4gICAgICAgIHRoaXMuY2FydGFibGVDaGlsZHNNbyQgPSB0aGlzLl91bHZNYWluU2VydmljZS5jYXJ0YWJsZUNoaWxkc01vJDtcclxuICAgICAgICB0aGlzLnRpdGxlJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnRpdGxlJC5waXBlKHBsdWNrKCd0ZXh0JykpO1xyXG4gICAgICAgIHRoaXMubWVudUl0ZW1zJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLm1lbnVJdGVtcyQ7XHJcbiAgICAgICAgdGhpcy5wYWdpbmdTZXR0aW5nJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnBhZ2luZ1NldHRpbmckO1xyXG4gICAgICAgIHRoaXMudG9vbGJhckVuYWJsZSQgPSB0aGlzLl91bHZNYWluU2VydmljZS5lbmFibGUkO1xyXG4gICAgICAgIHRoaXMuZ3JpZEZyZWVDb2x1bW5TaXppbmckID0gdGhpcy5fdWx2TWFpblNlcnZpY2UuZ3JpZEZyZWVDb2x1bW5TaXppbmckO1xyXG4gICAgICAgIHRoaXMubWFzayQgPSB0aGlzLl91bHZNYWluU2VydmljZS52aXdlck1hc2skLnBpcGUoZGVib3VuY2VUaW1lKDIwMCkpO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRNbyQgPSB0aGlzLl91bHZNYWluU2VydmljZS5tb0RhdGFMaXN0JC5waXBlKG1hcCgoaXRlbXMpID0+IGl0ZW1zLmZpbmQoKGMpID0+IGMuJElzQ2hlY2tlZCkpKTtcclxuICAgICAgICB0aGlzLm1vRGF0YUxpc3QkID0gdGhpcy5fdWx2TWFpblNlcnZpY2UubW9EYXRhTGlzdCQucGlwZSh0YXAoKGl0ZW1zKSA9PiB0aGlzLl9zZXRBbGxDaGVja2VkKGl0ZW1zKSkpO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDb3VudCQgPSB0aGlzLl91bHZNYWluU2VydmljZS5zZWxlY3RlZENvdW50JDtcclxuXHJcbiAgICAgICAgdGhpcy5jb250ZXh0Lm9uKHtcclxuICAgICAgICAgICAgc2NvcGU6IHRoaXMsXHJcbiAgICAgICAgICAgIE1vRGF0YUxpc3RDaGFuZ2VkOiB0aGlzLl9tb0RhdGFMaXN0Q2hhbmdlZCxcclxuICAgICAgICAgICAgR3JpZFNldHRpbmdDaGFuZ2VkOiB0aGlzLl9ncmlkU2V0dGluZ0NoYW5nZWRcclxuICAgICAgICB9KTtcclxuICAgICAgICAvLyBpbiBnaGVpcmUgZmFhbCBib29kIGNob24gbW9zaGtlbCBlaWphZCBtaWthcmRcclxuICAgICAgICAvLyB2YSBkYXIgdWx2IGV2ZW50IGJhaWFkIHJhaXNlIHNoYXZhZFxyXG4gICAgICAgIC8vIGtlIGRhdGEgYW1hZGUgc2hvZGUgdmEgdWx2bWFpbnNlcnZpY2UgYW4gcmEgYmVnaXJhZC5nb3phcmVzaCBtb3J0YWJldFxyXG4gICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnJlU2V0TW9EYXRhTGlzdCh0aGlzLmNvbnRleHQubW9EYXRhTGlzdCk7XHJcblxyXG4gICAgICAgIGxldCBncmlkU2V0dGluZyA9IHRoaXMuZGVmYXVsdEdyaWRTZXR0aW5nO1xyXG4gICAgICAgIGlmICh0aGlzLmNvbnRleHQuR2V0R3JpZFNldHRpbmcpIHtcclxuICAgICAgICAgICAgZ3JpZFNldHRpbmcgPSB0aGlzLmNvbnRleHQuR2V0R3JpZFNldHRpbmcoKSB8fCB0aGlzLmRlZmF1bHRHcmlkU2V0dGluZztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuX3NldFZpc2libGVDb2x1bW5zKCk7XHJcblxyXG4gICAgICAgIGdyaWRTZXR0aW5nLlNvcnRTZXR0aW5nTGlzdCB8fD0gW107XHJcbiAgICAgICAgdGhpcy5hbGxDb2x1bW5zID0gdGhpcy5jb250ZXh0LmFsbENvbHVtbnMgfHwgW107XHJcbiAgICAgICAgdGhpcy51cGRhdGVHcmlkU2V0dGluZyhncmlkU2V0dGluZywgZmFsc2UsIGZhbHNlKTtcclxuICAgICAgICB0aGlzLnBhcmFtZXRlcnMgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZShcclxuICAgICAgICAgICAgdGhpcy5jb250ZXh0LFxyXG4gICAgICAgICAgICAnU2V0dGluZy5DbGFzc05hbWVzLkN1c3RvbVVpLlBhcmFtZXRlcnMnLFxyXG4gICAgICAgICAgICBudWxsXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLmlkID0gZ2V0VW5pcXVlSWQoNCk7XHJcblxyXG4gICAgICAgIHRoaXMuaXRlbVNlbGVjdG9yID0gQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUodGhpcy5jb250ZXh0LCAnU2V0dGluZy5DbGFzc05hbWVzLkN1c3RvbVVpUm93LlNlbGVjdG9yJyk7XHJcblxyXG4gICAgICAgIHRoaXMucGFyYW1ldGVycyA9IEJhcnNhQXBpLkNvbW1vbi5VdGlsLlRyeUdldFZhbHVlKHRoaXMuY29udGV4dCwgJ1NldHRpbmcuQ2xhc3NOYW1lcy5DdXN0b21VaS5QYXJhbWV0ZXJzJyk7XHJcbiAgICAgICAgY29uc3QgZmllbGRTZXR0aW5ncyA9IEJhcnNhQXBpLkNvbW1vbi5VdGlsLlRyeUdldFZhbHVlKHRoaXMucGFyYW1ldGVycywgJ0ZpZWxkU2V0dGluZ3MuTW9EYXRhTGlzdCcsIFtdKTtcclxuXHJcbiAgICAgICAgZmllbGRTZXR0aW5ncy5mb3JFYWNoKChjKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZmllbGRzW2MuQ29tcG9uZW50UGFyYW1ldGVyLiRDYXB0aW9uXSA9IGMuJENhcHRpb247XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xyXG5cclxuICAgICAgICB0aGlzLmRldmljZVNpemUkXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpLFxyXG4gICAgICAgICAgICAgICAgdGFwKChkZXZpY2VTaXplKSA9PiB0aGlzLl9kZXZpY2VTaXplQ2hhbmdlZChkZXZpY2VTaXplKSlcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgdGhpcy5fcG9ydGFsU2VydmljZS53aW5kb3dSZXNpemUkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fd2luZG93UmVzaXplZCgpKTtcclxuICAgICAgICB0aGlzLmNvbnRleHQ/LmZpcmVFdmVudCgnYWZ0ZXJyZW5kZXInLCB0aGlzKTtcclxuICAgIH1cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XHJcbiAgICAgICAgdGhpcy5jb250ZXh0LnVuKCdNb0RhdGFMaXN0Q2hhbmdlZCcsIHRoaXMuX21vRGF0YUxpc3RDaGFuZ2VkKTtcclxuICAgICAgICB0aGlzLmNvbnRleHQudW4oJ0dyaWRTZXR0aW5nQ2hhbmdlZCcsIHRoaXMuX2dyaWRTZXR0aW5nQ2hhbmdlZCk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX2dyaWRTZXR0aW5nQ2hhbmdlZChzZXR0aW5nKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5ncmlkU2V0dGluZ1NvdXJjZS5uZXh0KHNldHRpbmcpO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF9tb0RhdGFMaXN0Q2hhbmdlZChtb0RhdGFMaXN0KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2UucmVTZXRNb0RhdGFMaXN0KG1vRGF0YUxpc3QpO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF9zZXRBbGxDaGVja2VkKGl0ZW1zOiBNZXRhb2JqZWN0RGF0YU1vZGVsW10pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9hbGxDaGVja2VkU291cmNlLm5leHQoaXRlbXMubGVuZ3RoID4gMCAmJiAhaXRlbXMuc29tZSgoYykgPT4gIWMuJElzQ2hlY2tlZCkpO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBfaGFuZGxlQ29sdW1uc1Jlc2l6ZWQoZTogY29sdW1uc1Jlc2l6ZWRFdmVudEFyZ3MpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBncmlkU2V0dGluZzogR3JpZFNldHRpbmcgPSB0aGlzLmdyaWRTZXR0aW5nU291cmNlLmdldFZhbHVlKCk7XHJcbiAgICAgICAgY29uc3QgeyBjb2x1bW5zLCByZXNpemVkIH0gPSBlO1xyXG4gICAgICAgIGNvbnN0IGNvbExpc3Q6IENvbFNldHRpbmdbXSA9IGdyaWRTZXR0aW5nLkNvbFNldHRpbmdMaXN0O1xyXG4gICAgICAgIHJlc2l6ZWQuZm9yRWFjaCgoY29sdW1uMSkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCByZXNpemVkQ29sdW1uID0gY29sdW1ucy5maW5kKChjKSA9PiBjLk5hbWUgPT09IGNvbHVtbjEubmFtZSk7XHJcbiAgICAgICAgICAgIGlmICghY29sTGlzdCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNvbnN0IGNvbHVtbiA9IGNvbExpc3QuZmluZCgoYykgPT4gYy5OYW1lID09PSByZXNpemVkQ29sdW1uPy5OYW1lKTtcclxuICAgICAgICAgICAgaWYgKGNvbHVtbikge1xyXG4gICAgICAgICAgICAgICAgY29sdW1uLldpZHRoID0gY29sdW1uMS53aWR0aDtcclxuICAgICAgICAgICAgfSBlbHNlIGlmIChyZXNpemVkQ29sdW1uKSB7XHJcbiAgICAgICAgICAgICAgICBjb2xMaXN0LnB1c2goeyBJc0hpZGRlbjogcmVzaXplZENvbHVtbi5IaWRkZW4sIE5hbWU6IHJlc2l6ZWRDb2x1bW4uTmFtZSwgV2lkdGg6IGNvbHVtbjEud2lkdGggfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLl9yYWlzZUV2ZW50VXNlclNldHRpbmdDaGFuZ2VkKGdyaWRTZXR0aW5nKTtcclxuICAgICAgICB0aGlzLl9kZXZpY2VTaXplQ2hhbmdlZCh0aGlzLl9wb3J0YWxTZXJ2aWNlLmRldmljZVNpemUpO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF9zZXRWaXNpYmxlQ29sdW1ucygpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBjb2x1bW5zID0gR2V0QWxsQ29sdW1uc1NvcnRlZCh0aGlzLmNvbnRleHQpO1xyXG4gICAgICAgIHRoaXMuX3Zpc2libGVDb2x1bW5zU291cmNlLm5leHQoY29sdW1ucy5maWx0ZXIoKGMpID0+ICFjLkhpZGRlbikpO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIGFwcGx5R3JvdXBieSgpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBzb3J0TGlzdDogU29ydFNldHRpbmdbXSA9IEJhcnNhQXBpLkNvbW1vbi5VdGlsLlRyeUdldFZhbHVlKFxyXG4gICAgICAgICAgICB0aGlzLmNvbnRleHQsXHJcbiAgICAgICAgICAgICdTZXR0aW5nLlZpZXcuR3JpZFNldHRpbmcuU29ydFNldHRpbmdMaXN0JyxcclxuICAgICAgICAgICAgW11cclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMuZ3JvdXBieVNvdXJjZS5uZXh0KHNvcnRMaXN0LmZpbHRlcigoYykgPT4gYy5Jc0dyb3VwZWQpKTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBfcmFpc2VSb3dDbGljayhpbmRleCwgbW8pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNvbnRleHQ/LmZpcmVFdmVudCgncm93ZGJsY2xpY2snLCB0aGlzLmNvbnRleHQsIGluZGV4LCBtbyk7XHJcbiAgICB9XHJcbiAgICAvKiBlc2xpbnQtZGlzYWJsZSAqL1xyXG4gICAgcHJvdGVjdGVkIF9kZXZpY2VTaXplQ2hhbmdlZChfOiBzdHJpbmcpOiB2b2lkIHt9XHJcbiAgICBwcm90ZWN0ZWQgX3dpbmRvd1Jlc2l6ZWQoKTogdm9pZCB7fVxyXG5cclxuICAgIHByb3RlY3RlZCBfb3Blbk1vKG1vLCBpKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fcmFpc2VSb3dDbGljayhpLCBtbyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIHVwZGF0ZUdyaWRTZXR0aW5nKHNldHRpbmcsIGlzU29ydCA9IGZhbHNlLCByYWlzZUV2ZW50ID0gdHJ1ZSk6IHZvaWQge1xyXG4gICAgICAgIGlmICghc2V0dGluZykge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuY29udGV4dC5TZXR0aW5nLlZpZXcuR3JpZFNldHRpbmcgPSBzZXR0aW5nO1xyXG4gICAgICAgIHRoaXMuZ3JpZFNldHRpbmdTb3VyY2UubmV4dChzZXR0aW5nKTtcclxuICAgICAgICB0aGlzLmFwcGx5R3JvdXBieSgpO1xyXG4gICAgICAgIGlmIChpc1NvcnQpIHtcclxuICAgICAgICAgICAgc2V0dGluZy5FdmVudCA9ICdTb3J0Q2hhbmdlJztcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBzZXR0aW5nLkV2ZW50ID0gJyc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX2RldmljZVNpemVDaGFuZ2VkKHRoaXMuX3BvcnRhbFNlcnZpY2UuZGV2aWNlU2l6ZSk7XHJcbiAgICAgICAgaWYgKHJhaXNlRXZlbnQpIHtcclxuICAgICAgICAgICAgdGhpcy5fcmFpc2VFdmVudFVzZXJTZXR0aW5nQ2hhbmdlZChzZXR0aW5nKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX3JhaXNlRXZlbnRVc2VyU2V0dGluZ0NoYW5nZWQoZ3JpZFNldHRpbmc6IEdyaWRTZXR0aW5nKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jb250ZXh0LmZpcmVFdmVudCgnVXNlclNldHRpbmdDaGFuZ2UnLCB0aGlzLmNvbnRleHQsIGdyaWRTZXR0aW5nKTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBfdWx2Q29tbWFuZENsaWNrZWQobW8sIGluZGV4KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fcmVtb3ZlQ2hlY2tlZEFsbCgpO1xyXG4gICAgICAgIHRoaXMuX3NlbGVjdChtbywgaW5kZXgpO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF9jaGVja2VkQWxsKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IG1vRGF0YUxpc3QgPSB0aGlzLm1vRGF0YUxpc3Q7XHJcbiAgICAgICAgbW9EYXRhTGlzdC5mb3JFYWNoKChtbykgPT4gKG1vLiRJc0NoZWNrZWQgPSB0cnVlKSk7XHJcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2UucmVTZXRNb0RhdGFMaXN0KCk7XHJcbiAgICAgICAgdGhpcy5jb250ZXh0LmZpcmVFdmVudCgncm93U2VsZWN0QWxsJywgdGhpcy5jb250ZXh0KTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBfcmVtb3ZlQ2hlY2tlZEFsbCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9kZXNlbGN0QWxsKCk7XHJcbiAgICAgICAgLy8gdGhpcy5jb250ZXh0LmZpcmVFdmVudCgncm93RGVzZWxlY3RBbGwnLCB0aGlzLmNvbnRleHQpO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBfZGVzZWxjdEFsbCgpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBtb0RhdGFMaXN0ID0gdGhpcy5tb0RhdGFMaXN0O1xyXG4gICAgICAgIG1vRGF0YUxpc3QuZm9yRWFjaCgobW8pID0+IChtby4kSXNDaGVja2VkID0gZmFsc2UpKTtcclxuICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5yZVNldE1vRGF0YUxpc3QoKTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBfZGVzZWxlY3QobW8sIGluZGV4KTogTWV0YW9iamVjdERhdGFNb2RlbCB7XHJcbiAgICAgICAgbW8uJElzQ2hlY2tlZCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnJlU2V0TW9EYXRhTGlzdCgpO1xyXG4gICAgICAgIHRoaXMuY29udGV4dC5maXJlRXZlbnQoJ3Jvd2Rlc2VsZWN0JywgdGhpcy5jb250ZXh0LCBpbmRleCwgbW8pO1xyXG4gICAgICAgIHJldHVybiBtbztcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgX3NlbGVjdChtbywgaW5kZXgpOiBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcclxuICAgICAgICAvLyAgICB0aGlzLl9kZXNlbGN0QWxsKCk7XHJcbiAgICAgICAgbW8uJElzQ2hlY2tlZCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2UucmVTZXRNb0RhdGFMaXN0KCk7XHJcbiAgICAgICAgdGhpcy5jb250ZXh0LmZpcmVFdmVudCgncm93c2VsZWN0JywgdGhpcy5jb250ZXh0LCBpbmRleCwgbW8pO1xyXG4gICAgICAgIHJldHVybiBtbztcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgX2RvQ2hlY2tlZEFsbChjaGVja2VkKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKGNoZWNrZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5fY2hlY2tlZEFsbCgpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3JlbW92ZUNoZWNrZWRBbGwoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIF9nZXRTZWxlY3RlZCgpOiBNZXRhb2JqZWN0RGF0YU1vZGVsIHwgbnVsbCB7XHJcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRNbyA9IHRoaXMubW9EYXRhTGlzdC5maW5kKChtbykgPT4gbW8uJElzQ2hlY2tlZCk7XHJcbiAgICAgICAgaWYgKCFzZWxlY3RlZE1vKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzZWxlY3RlZE1vLmpzb24gPSBzZWxlY3RlZE1vO1xyXG4gICAgICAgIHJldHVybiBzZWxlY3RlZE1vO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIHJlZnJlc2hDb250ZXh0TW9EYXRhTGlzdChtb0RhdGFMaXN0KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jb250ZXh0LmZpcmVFdmVudCgnUmVmcmVzaENvbnRleHRNb0RhdGFMaXN0JywgbW9EYXRhTGlzdCk7XHJcbiAgICB9XHJcbn1cclxuIl19
|