@smartbit4all/ng-client 3.3.239 → 3.3.240

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.
@@ -128,7 +128,7 @@ export class SmartFilterEditorContentComponent {
128
128
  'key',
129
129
  'label',
130
130
  'type',
131
- 'value',
131
+ // 'value', <- value will be set by componentModel.data!
132
132
  'showLabel',
133
133
  'valueList',
134
134
  'toolbarId',
@@ -268,4 +268,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
268
268
  type: ViewChild,
269
269
  args: ['simpleFilterFromChild', { read: ViewContainerRef }]
270
270
  }] } });
271
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZmlsdGVyLWVkaXRvci1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LWZpbHRlci1lZGl0b3Ivc21hcnQtZmlsdGVyLWVkaXRvci1jb250ZW50L3NtYXJ0LWZpbHRlci1lZGl0b3ItY29udGVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1maWx0ZXItZWRpdG9yL3NtYXJ0LWZpbHRlci1lZGl0b3ItY29udGVudC9zbWFydC1maWx0ZXItZWRpdG9yLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxLQUFLLEVBR0wsU0FBUyxFQUVULGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFnQixTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFeEQsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDL0YsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFLMUUsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFFckcsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFHekYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saURBQWlELENBQUM7Ozs7Ozs7O0FBT3JGLE1BQU0sT0FBTyxpQ0FBaUM7SUFrQjVDLFlBQ1UsYUFBK0MsRUFDL0MsU0FBa0M7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QUksTUFBTSxHQUF5QjtZQUNqQyxLQUFLLEVBQUUsU0FBUztZQUNoQixHQUFHO1lBQ0gsS0FBSztZQUNMLElBQUk7WUFDSixLQUFLO1lBQ0wsU0FBUyxFQUFFLElBQUk7WUFDZixTQUFTLEVBQUUsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQVksRUFBRSxFQUFFO2dCQUM3QyxPQUFPO29CQUNMLEdBQUcsRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSztvQkFDcEQsS0FBSyxFQUFFLEtBQUssQ0FBQyxZQUFZO29CQUN6QixJQUFJLEVBQUUsbUJBQW1CLENBQUMsSUFBSTtvQkFDOUIsS0FBSyxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJO2lCQUN0RCxDQUFDO1lBQ0osQ0FBQyxDQUFDO1lBQ0YsU0FBUztTQUNWLENBQUM7UUFFRixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOzs4SEFqWFUsaUNBQWlDO2tIQUFqQyxpQ0FBaUMsZ0xBT2pCLGdCQUFnQixxSEFLQyxnQkFBZ0IsNkJDL0M5RCxvbEVBaURBOzJGRGRhLGlDQUFpQztrQkFMN0MsU0FBUzsrQkFDRSxnQ0FBZ0M7NkpBTWpDLE9BQU87c0JBQWYsS0FBSztnQkFNTixLQUFLO3NCQURKLFNBQVM7dUJBQUMsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFO2dCQU03QyxpQkFBaUI7c0JBRGhCLFNBQVM7dUJBQUMsdUJBQXVCLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ29tcG9uZW50LFxyXG4gIENvbXBvbmVudFJlZixcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3Q2hpbGRyZW4sXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENvbXBvbmVudEZhY3RvcnlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50LWZhY3Rvcnktc2VydmljZS9jb21wb25lbnQtZmFjdG9yeS1zZXJ2aWNlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGaWx0ZXJFeHByZXNzaW9uRmllbGRXaWRnZXRUeXBlIH0gZnJvbSAnLi4vLi4vc21hcnQtZmlsdGVyL3Byb2plY3RzJztcclxuaW1wb3J0IHsgU21hcnRGb3JtV2lkZ2V0RGlyZWN0aW9uIH0gZnJvbSAnLi4vLi4vc21hcnQtZm9ybS9hcGkvbW9kZWwvc21hcnRGb3JtV2lkZ2V0RGlyZWN0aW9uJztcclxuaW1wb3J0IHsgU21hcnRGb3JtV2lkZ2V0VHlwZSB9IGZyb20gJy4uLy4uL3NtYXJ0LWZvcm0vcHJvamVjdHMnO1xyXG5pbXBvcnQgeyBTbWFydGZvcm1MYXlvdXREZWZpbml0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NtYXJ0LWZvcm0vc2VydmljZXMvc21hcnRmb3JtLmxheW91dC1kZWZpbml0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTbWFydGZvcm1Db21wb25lbnQgfSBmcm9tICcuLi8uLi9zbWFydC1mb3JtL3NtYXJ0Zm9ybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTbWFydEZvcm1XaWRnZXQgfSBmcm9tICcuLi8uLi9zbWFydC1mb3JtL3NtYXJ0Zm9ybS5mb3JtLW1vZGVsJztcclxuaW1wb3J0IHsgU21hcnRGb3JtLCBTb3BoaXN0aWNhdGVkVmFsdWVDaGFuZ2UsIFZhbHVlIH0gZnJvbSAnLi4vLi4vc21hcnQtZm9ybS9zbWFydGZvcm0ubW9kZWwnO1xyXG5pbXBvcnQgeyBVaUFjdGlvbiB9IGZyb20gJy4uLy4uL3ZpZXctY29udGV4dC9hcGkvbW9kZWwvdWlBY3Rpb24nO1xyXG5pbXBvcnQgeyBVaUFjdGlvbk1vZGVsIH0gZnJvbSAnLi4vLi4vdmlldy1jb250ZXh0L3NtYXJ0LXVpLWFjdGlvbi91aS1hY3Rpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBGaWx0ZXJFeHByZXNzaW9uQnVpbGRlclVpTW9kZWxUeXBlRW51bSB9IGZyb20gJy4uL2FwaS9tb2RlbC9maWx0ZXJFeHByZXNzaW9uQnVpbGRlclVpTW9kZWwnO1xyXG5pbXBvcnQgeyBGaWx0ZXJFeHByZXNzaW9uRmllbGQgfSBmcm9tICcuLi9hcGkvbW9kZWwvZmlsdGVyRXhwcmVzc2lvbkZpZWxkJztcclxuaW1wb3J0IHsgRmlsdGVyRXhwcmVzc2lvbkJ1aWxkZXJBcGlBY3Rpb25zIH0gZnJvbSAnLi4vZmlsdGVyRXhwcmVzc2lvbkJ1aWxkZXJBcGlBY3Rpb25zJztcclxuaW1wb3J0IHsgSVNtYXJ0RmlsdGVyRWRpdG9yU2VydmljZSB9IGZyb20gJy4uL3NtYXJ0LWZpbHRlci1lZGl0b3Iuc2VydmljZSc7XHJcbmltcG9ydCB7IGRlZXBFcXVhbCB9IGZyb20gJ2Zhc3QtZXF1YWxzJztcclxuaW1wb3J0IHsgU21hcnRPYmplY3RVdGlsaXR5IH0gZnJvbSAnLi4vLi4vdmlldy1jb250ZXh0L3V0aWxpdHkvc21hcnQtb2JqZWN0LXV0aWxpdHknO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzbWFydC1maWx0ZXItZXhwcmVzc2lvbi1lZGl0b3InLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zbWFydC1maWx0ZXItZWRpdG9yLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NtYXJ0LWZpbHRlci1lZGl0b3ItY29udGVudC5jb21wb25lbnQuY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTbWFydEZpbHRlckVkaXRvckNvbnRlbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSBfZGVzdHJveSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xyXG4gIEBJbnB1dCgpIHNlcnZpY2UhOiBJU21hcnRGaWx0ZXJFZGl0b3JTZXJ2aWNlO1xyXG5cclxuICB1aUFjdGlvbk1vZGVsczogVWlBY3Rpb25Nb2RlbFtdID0gW107XHJcbiAgZXhwcmVzc2lvblVpQWN0aW9uTW9kZWxzOiBVaUFjdGlvbk1vZGVsW10gPSBbXTtcclxuXHJcbiAgQFZpZXdDaGlsZCgnZm9ybScsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiB9KVxyXG4gIHZjUmVmPzogVmlld0NvbnRhaW5lclJlZjtcclxuICBmb3JtQ29tcFJlZj86IENvbXBvbmVudFJlZjxTbWFydGZvcm1Db21wb25lbnQ+O1xyXG4gIHNtYXJ0Rm9ybT86IFNtYXJ0Rm9ybTtcclxuXHJcbiAgQFZpZXdDaGlsZCgnc2ltcGxlRmlsdGVyRnJvbUNoaWxkJywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pXHJcbiAgc2ltcGxlRmlsdGVyVmNSZWY/OiBWaWV3Q29udGFpbmVyUmVmO1xyXG4gIHNpbXBsZUZpbHRlclJlZj86IENvbXBvbmVudFJlZjxTbWFydGZvcm1Db21wb25lbnQ+O1xyXG5cclxuICB0eXBlID0gRmlsdGVyRXhwcmVzc2lvbkJ1aWxkZXJVaU1vZGVsVHlwZUVudW07XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBsYXlvdXRTZXJ2aWNlOiBTbWFydGZvcm1MYXlvdXREZWZpbml0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgY2ZTZXJ2aWNlOiBDb21wb25lbnRGYWN0b3J5U2VydmljZVxyXG4gICkge31cclxuXHJcbiAgcHJpdmF0ZSBzdWJzcmNpYmVTaW1wbGVGb3JtQ2hpbGRyZW5FdmVudHMoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNpbXBsZUZpbHRlclJlZiEuaW5zdGFuY2Uub25CbHVyU3ViamVjdCEucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLnNhdmVGaWx0ZXIoKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zaW1wbGVGaWx0ZXJSZWYhLmluc3RhbmNlLnNvcGhpc3RpY2F0ZWRWYWx1ZUNoYW5nZT8ucGlwZShcclxuICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKVxyXG4gICAgKS5zdWJzY3JpYmUoKGNoYW5nZSkgPT4ge1xyXG4gICAgICBpZiAoY2hhbmdlLmtpbmQgPT09ICdzZWxlY3Rpb24nICYmICFjaGFuZ2Uua2V5LmluY2x1ZGVzKCdzZWxlY3RlZFZhbHVlcycpKSB7XHJcbiAgICAgICAgdGhpcy5zYXZlRmlsdGVyKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdWJzY3JpYmVFZGl0b3JGb3JtQ2hpbGRyZW5FdmVudHMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm1Db21wUmVmPy5pbnN0YW5jZSEub25CbHVyU3ViamVjdCEucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLnNhdmUoKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuZm9ybUNvbXBSZWYhLmluc3RhbmNlIS5zb3BoaXN0aWNhdGVkVmFsdWVDaGFuZ2U/LnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSkuc3Vic2NyaWJlKFxyXG4gICAgICAoY2hhbmdlOiBTb3BoaXN0aWNhdGVkVmFsdWVDaGFuZ2UpID0+IHtcclxuICAgICAgICBpZiAoY2hhbmdlLmtleSA9PT0gJ2V4cHJlc3Npb25EYXRhLmN1cnJlbnRPcGVyYXRpb24nKSB7XHJcbiAgICAgICAgICB0aGlzLnNhdmUoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXJ2aWNlLm1vZGVsQ2hhbmdlZC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnNldFVwKCkpO1xyXG4gICAgdGhpcy5zZXJ2aWNlLmxvYWQoKTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgc2V0dXBTaW1wbGVGaWx0ZXIoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuc2ltcGxlRmlsdGVyVmNSZWYpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCB3aWRnZXRzOiBTbWFydEZvcm1XaWRnZXQ8YW55PltdID0gW107XHJcblxyXG4gICAgbGV0IGtleTogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG5cclxuICAgIGxldCBtb2RlbDogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IHt9O1xyXG5cclxuICAgIHRoaXMuc2VydmljZS5tb2RlbD8ubW9kZWw/LndvcmtwbGFjZUxpc3Q/LmZpbHRlcnMuZm9yRWFjaChcclxuICAgICAgKGZpbHRlckV4cHJlc3Npb25GaWVsZDogRmlsdGVyRXhwcmVzc2lvbkZpZWxkLCBpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgbW9kZWxbaW5kZXhdID0gZmlsdGVyRXhwcmVzc2lvbkZpZWxkO1xyXG5cclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICBmaWx0ZXJFeHByZXNzaW9uRmllbGQud2lkZ2V0VHlwZSA9PT0gRmlsdGVyRXhwcmVzc2lvbkZpZWxkV2lkZ2V0VHlwZS5URVhUX0ZJRUxEX0xPT0tVUFxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAga2V5ID0gaW5kZXggKyAnLmV4cHJlc3Npb25EYXRhLm9wZXJhbmQyLnNlbGVjdGVkT2JqZWN0cyc7XHJcbiAgICAgICAgICB3aWRnZXRzLnB1c2goXHJcbiAgICAgICAgICAgIHRoaXMuY29uc3RydWN0Rm9ybVdpZGdldChcclxuICAgICAgICAgICAgICBrZXksXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLmxhYmVsMiEsXHJcbiAgICAgICAgICAgICAgRmlsdGVyRXhwcmVzc2lvbkZpZWxkV2lkZ2V0VHlwZS5URVhUX0ZJRUxEX0xPT0tVUCxcclxuICAgICAgICAgICAgICBbXSxcclxuICAgICAgICAgICAgICBmaWx0ZXJFeHByZXNzaW9uRmllbGQuZXhwcmVzc2lvbkRhdGE/Lm9wZXJhbmQyPy5zZWxlY3RlZE9iamVjdHMgPz8gW10sXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLnRvb2xiYXJJZFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGZpbHRlckV4cHJlc3Npb25GaWVsZC53aWRnZXRUeXBlID09PSAnU0VMRUNUX01VTFRJUExFJykge1xyXG4gICAgICAgICAga2V5ID0gaW5kZXggKyAnLmV4cHJlc3Npb25EYXRhLm9wZXJhbmQyLnNlbGVjdGVkVmFsdWVzJztcclxuICAgICAgICAgIHdpZGdldHMucHVzaChcclxuICAgICAgICAgICAgdGhpcy5jb25zdHJ1Y3RGb3JtV2lkZ2V0KFxyXG4gICAgICAgICAgICAgIGtleSxcclxuICAgICAgICAgICAgICBmaWx0ZXJFeHByZXNzaW9uRmllbGQubGFiZWwyISxcclxuICAgICAgICAgICAgICBmaWx0ZXJFeHByZXNzaW9uRmllbGQud2lkZ2V0VHlwZSA/PyBGaWx0ZXJFeHByZXNzaW9uRmllbGRXaWRnZXRUeXBlLlRFWFRfRklFTEQsXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLnBvc3NpYmxlVmFsdWVzIGFzIFZhbHVlW10sXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLmV4cHJlc3Npb25EYXRhPy5vcGVyYW5kMj8uc2VsZWN0ZWRWYWx1ZXMgPz8gW10sXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLnRvb2xiYXJJZFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGZpbHRlckV4cHJlc3Npb25GaWVsZC5leHByZXNzaW9uRGF0YT8uY3VycmVudE9wZXJhdGlvbiA9PT0gJ0JFVFdFRU4nKSB7XHJcbiAgICAgICAgICBrZXkgPSBpbmRleCArICcuZXhwcmVzc2lvbkRhdGEub3BlcmFuZDIudmFsdWVBc1N0cmluZyc7XHJcbiAgICAgICAgICB3aWRnZXRzLnB1c2goXHJcbiAgICAgICAgICAgIHRoaXMuY29uc3RydWN0Rm9ybVdpZGdldChcclxuICAgICAgICAgICAgICBrZXksXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLmxhYmVsMiEsXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLndpZGdldFR5cGUgPz8gRmlsdGVyRXhwcmVzc2lvbkZpZWxkV2lkZ2V0VHlwZS5URVhUX0ZJRUxELFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC5wb3NzaWJsZVZhbHVlcyBhcyBWYWx1ZVtdLFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC5leHByZXNzaW9uRGF0YT8ub3BlcmFuZDI/LnZhbHVlQXNTdHJpbmcgPz8gJycsXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLnRvb2xiYXJJZFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICApO1xyXG5cclxuICAgICAgICAgIGtleSA9IGluZGV4ICsgJy5leHByZXNzaW9uRGF0YS5vcGVyYW5kMy52YWx1ZUFzU3RyaW5nJztcclxuICAgICAgICAgIHdpZGdldHMucHVzaChcclxuICAgICAgICAgICAgdGhpcy5jb25zdHJ1Y3RGb3JtV2lkZ2V0KFxyXG4gICAgICAgICAgICAgIGtleSxcclxuICAgICAgICAgICAgICBmaWx0ZXJFeHByZXNzaW9uRmllbGQubGFiZWwzISxcclxuICAgICAgICAgICAgICBmaWx0ZXJFeHByZXNzaW9uRmllbGQud2lkZ2V0VHlwZSA/PyBGaWx0ZXJFeHByZXNzaW9uRmllbGRXaWRnZXRUeXBlLlRFWFRfRklFTEQsXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLnBvc3NpYmxlVmFsdWVzIGFzIFZhbHVlW10sXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLmV4cHJlc3Npb25EYXRhPy5vcGVyYW5kMz8udmFsdWVBc1N0cmluZyA/PyAnJyxcclxuICAgICAgICAgICAgICBmaWx0ZXJFeHByZXNzaW9uRmllbGQudG9vbGJhcklkXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoZmlsdGVyRXhwcmVzc2lvbkZpZWxkLmV4cHJlc3Npb25EYXRhPy5vcGVyYW5kMikge1xyXG4gICAgICAgICAga2V5ID0gaW5kZXggKyAnLmV4cHJlc3Npb25EYXRhLm9wZXJhbmQyLnZhbHVlQXNTdHJpbmcnO1xyXG4gICAgICAgICAgd2lkZ2V0cy5wdXNoKFxyXG4gICAgICAgICAgICB0aGlzLmNvbnN0cnVjdEZvcm1XaWRnZXQoXHJcbiAgICAgICAgICAgICAga2V5LFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC5sYWJlbDIhLFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC53aWRnZXRUeXBlID8/IEZpbHRlckV4cHJlc3Npb25GaWVsZFdpZGdldFR5cGUuVEVYVF9GSUVMRCxcclxuICAgICAgICAgICAgICBmaWx0ZXJFeHByZXNzaW9uRmllbGQucG9zc2libGVWYWx1ZXMgYXMgVmFsdWVbXSxcclxuICAgICAgICAgICAgICBmaWx0ZXJFeHByZXNzaW9uRmllbGQuZXhwcmVzc2lvbkRhdGE/Lm9wZXJhbmQyPy52YWx1ZUFzU3RyaW5nID8/ICcnLFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC50b29sYmFySWRcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGZpbHRlckV4cHJlc3Npb25GaWVsZD8uZXhwcmVzc2lvbkRhdGE/Lm9wZXJhbmQzKSB7XHJcbiAgICAgICAgICBrZXkgPSBpbmRleCArICcuZXhwcmVzc2lvbkRhdGEub3BlcmFuZDMudmFsdWVBc1N0cmluZyc7XHJcbiAgICAgICAgICB3aWRnZXRzLnB1c2goXHJcbiAgICAgICAgICAgIHRoaXMuY29uc3RydWN0Rm9ybVdpZGdldChcclxuICAgICAgICAgICAgICBrZXksXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLmxhYmVsMyEsXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLndpZGdldFR5cGUgPz8gRmlsdGVyRXhwcmVzc2lvbkZpZWxkV2lkZ2V0VHlwZS5URVhUX0ZJRUxELFxyXG5cclxuICAgICAgICAgICAgICBmaWx0ZXJFeHByZXNzaW9uRmllbGQucG9zc2libGVWYWx1ZXMgYXMgVmFsdWVbXSxcclxuICAgICAgICAgICAgICBmaWx0ZXJFeHByZXNzaW9uRmllbGQuZXhwcmVzc2lvbkRhdGE/Lm9wZXJhbmQzPy52YWx1ZUFzU3RyaW5nID8/ICcnLFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC50b29sYmFySWRcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICk7XHJcblxyXG4gICAgbGV0IHNtYXJ0Rm9ybSA9IHtcclxuICAgICAgZGlyZWN0aW9uOiBTbWFydEZvcm1XaWRnZXREaXJlY3Rpb24uUk9XLFxyXG4gICAgICBjb21wb25lbnRNb2RlbDogeyBkYXRhOiBtb2RlbCB9LFxyXG4gICAgICB1c2VPblZhbHVlQ2hhbmdlRXZlbnQ6IHRydWUsXHJcbiAgICAgIHVzZU9uQmx1ckV2ZW50OiB0cnVlLFxyXG4gICAgICB3aWRnZXRzLFxyXG4gICAgfTtcclxuXHJcbiAgICBpZiAodGhpcy5zaW1wbGVGaWx0ZXJSZWY/Lmluc3RhbmNlKSB7XHJcbiAgICAgIC8vIHdlIGFscmVhZHkgaGF2ZSBhIFNtYXJ0Rm9ybUNvbXBvbmVudCwgdXNlIHRoYXRcclxuICAgICAgbGV0IGNvbXAgPSB0aGlzLnNpbXBsZUZpbHRlclJlZj8uaW5zdGFuY2U7XHJcblxyXG4gICAgICBpZiAoY29tcC5zbWFydEZvcm0gJiYgdGhpcy5jb21wYXJlV2lkZ2V0cyhjb21wLnNtYXJ0Rm9ybS53aWRnZXRzLCBzbWFydEZvcm0ud2lkZ2V0cykpIHtcclxuICAgICAgICAvLyB0aGVyZSdzIG5vIHN0cnVjdHVyYWwgY2hhbmdlLCBkb24ndCByZWNyZWF0ZSBTbWFydEZvcm1Db21wb25lbnRcclxuICAgICAgICBjb21wLnNtYXJ0Rm9ybS5jb21wb25lbnRNb2RlbCA9IHNtYXJ0Rm9ybS5jb21wb25lbnRNb2RlbDtcclxuICAgICAgICBjb21wLmNvbnN0cnVjdEZvcm0oKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnNpbXBsZUZpbHRlclZjUmVmPy5jbGVhcigpO1xyXG4gICAgdGhpcy5zaW1wbGVGaWx0ZXJSZWY/LmRlc3Ryb3koKTtcclxuXHJcbiAgICB0aGlzLnNpbXBsZUZpbHRlclJlZiA9IHRoaXMuY2ZTZXJ2aWNlLmNyZWF0ZUNvbXBvbmVudChcclxuICAgICAgdGhpcy5zaW1wbGVGaWx0ZXJWY1JlZiEsXHJcbiAgICAgIFNtYXJ0Zm9ybUNvbXBvbmVudCxcclxuICAgICAgbmV3IE1hcDxzdHJpbmcsIGFueT4oW1snc21hcnRGb3JtJywgc21hcnRGb3JtXV0pXHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMuc3Vic3JjaWJlU2ltcGxlRm9ybUNoaWxkcmVuRXZlbnRzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNvbXBhcmVXaWRnZXRzKHdzMTogU21hcnRGb3JtV2lkZ2V0PGFueT5bXSwgd3MyOiBTbWFydEZvcm1XaWRnZXQ8YW55PltdKTogYm9vbGVhbiB7XHJcbiAgICBpZiAod3MxLmxlbmd0aCAhPT0gd3MyLmxlbmd0aCkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHdzMS5sZW5ndGg7IGkrKykge1xyXG4gICAgICBpZiAoIXRoaXMuY29tcGFyZVdpZGdldCh3czFbaV0sIHdzMltpXSkpIHtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjb21wYXJlV2lkZ2V0KHcxOiBTbWFydEZvcm1XaWRnZXQ8YW55PiwgdzI6IFNtYXJ0Rm9ybVdpZGdldDxhbnk+KTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gU21hcnRPYmplY3RVdGlsaXR5LmNvbXBhcmVCeVByb3BzKHcxLCB3MiwgW1xyXG4gICAgICAnZXJyb3InLFxyXG4gICAgICAna2V5JyxcclxuICAgICAgJ2xhYmVsJyxcclxuICAgICAgJ3R5cGUnLFxyXG4gICAgICAndmFsdWUnLFxyXG4gICAgICAnc2hvd0xhYmVsJyxcclxuICAgICAgJ3ZhbHVlTGlzdCcsXHJcbiAgICAgICd0b29sYmFySWQnLFxyXG4gICAgXSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGV4dHJhY3RGaWx0ZXJGaWVsZEZyb21Gb3JtTW9kZWwoKTogdm9pZCB7XHJcbiAgICBsZXQgc2ltcGxlRmlsdGVyID0gdGhpcy5zaW1wbGVGaWx0ZXJSZWY/Lmluc3RhbmNlPy5zdWJtaXRGb3JtKGZhbHNlKS5jb21wb25lbnRNb2RlbC5kYXRhO1xyXG4gICAgbGV0IHJlc3VsdDogRmlsdGVyRXhwcmVzc2lvbkZpZWxkW10gPSBbXTtcclxuXHJcbiAgICBPYmplY3Qua2V5cyhzaW1wbGVGaWx0ZXIpLmZvckVhY2goKGtleTogc3RyaW5nKSA9PiB7XHJcbiAgICAgIHJlc3VsdC5wdXNoKHNpbXBsZUZpbHRlcltrZXldKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zZXJ2aWNlLm1vZGVsIS5tb2RlbCEud29ya3BsYWNlTGlzdCEuZmlsdGVycyA9IHJlc3VsdDtcclxuICB9XHJcblxyXG4gIHNldFVwKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc2VydmljZS5tb2RlbD8udHlwZSA9PT0gdGhpcy50eXBlLlNJTVBMRSkge1xyXG4gICAgICB0aGlzLnNldHVwU2ltcGxlRmlsdGVyKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNvbnN0cnVjdFVpQWN0aW9uTW9kZWxzKCk7XHJcblxyXG4gICAgICBpZiAodGhpcy5zZXJ2aWNlPy5tb2RlbD8uc2VsZWN0ZWRGaWVsZEVkaXRvcikge1xyXG4gICAgICAgIHRoaXMuY29uc3RydWN0Rm9ybSgpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuc21hcnRGb3JtID0gdW5kZWZpbmVkO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RVaUFjdGlvbk1vZGVscygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnNlcnZpY2UubW9kZWw/LnBvc3NpYmxlQWN0aW9ucykge1xyXG4gICAgICB0aGlzLnVpQWN0aW9uTW9kZWxzID0gdGhpcy5zZXJ2aWNlLm1vZGVsLnBvc3NpYmxlQWN0aW9ucy5tYXAoKGFjdGlvbjogVWlBY3Rpb24pID0+IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgc2VydmljZVRvVXNlOiB0aGlzLnNlcnZpY2UsXHJcbiAgICAgICAgICB1aUFjdGlvbjogYWN0aW9uLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnNlcnZpY2UubW9kZWw/LnNlbGVjdGVkRmllbGRFZGl0b3I/LnBvc3NpYmxlQWN0aW9ucykge1xyXG4gICAgICB0aGlzLmV4cHJlc3Npb25VaUFjdGlvbk1vZGVscyA9IHRoaXMuc2VydmljZS5tb2RlbD8uc2VsZWN0ZWRGaWVsZEVkaXRvci5wb3NzaWJsZUFjdGlvbnMubWFwKFxyXG4gICAgICAgICh1aUFjdGlvbjogVWlBY3Rpb24pID0+IHtcclxuICAgICAgICAgIGxldCBjb3BpZWRVaUFjdGlvbjogVWlBY3Rpb24gPSB7fTtcclxuICAgICAgICAgIE9iamVjdC5rZXlzKHVpQWN0aW9uKS5tYXAoKGtleTogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgIChjb3BpZWRVaUFjdGlvbiBhcyBhbnkpW2tleV0gPSAodWlBY3Rpb24gYXMgYW55KVtrZXldO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBjb3BpZWRVaUFjdGlvbi5wYXJhbXMgPSB7XHJcbiAgICAgICAgICAgIGZpZWxkOiB0aGlzLnNlcnZpY2UubW9kZWw/LnNlbGVjdGVkRmllbGQsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgc2VydmljZVRvVXNlOiB0aGlzLnNlcnZpY2UsXHJcbiAgICAgICAgICAgIHVpQWN0aW9uOiBjb3BpZWRVaUFjdGlvbixcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0Rm9ybSgpOiB2b2lkIHtcclxuICAgIHRoaXMudmNSZWY/LmNsZWFyKCk7XHJcbiAgICB0aGlzLmZvcm1Db21wUmVmPy5kZXN0cm95KCk7XHJcblxyXG4gICAgaWYgKCF0aGlzLnZjUmVmKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgZ2VuZXJhdGVkV2lkZ2V0czogU21hcnRGb3JtV2lkZ2V0PGFueT5bXSA9IHRoaXMubGF5b3V0U2VydmljZS5yZW5kZXIoe1xyXG4gICAgICBsYXlvdXREZWZpbml0aW9uczogdGhpcy5zZXJ2aWNlLm1vZGVsPy5zZWxlY3RlZEZpZWxkRWRpdG9yPy5sYXlvdXREZWY/LndpZGdldHMsXHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLnNtYXJ0Rm9ybSA9IHtcclxuICAgICAgZGlyZWN0aW9uOiBTbWFydEZvcm1XaWRnZXREaXJlY3Rpb24uUk9XLFxyXG4gICAgICB1c2VPbkJsdXJFdmVudDogdHJ1ZSxcclxuICAgICAgdXNlT25WYWx1ZUNoYW5nZUV2ZW50OiB0cnVlLFxyXG4gICAgICBjb21wb25lbnRNb2RlbDogeyBkYXRhOiB0aGlzLnNlcnZpY2UubW9kZWw/LnNlbGVjdGVkRmllbGQgfSxcclxuICAgICAgd2lkZ2V0czogZ2VuZXJhdGVkV2lkZ2V0cyxcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5mb3JtQ29tcFJlZiA9IHRoaXMuY2ZTZXJ2aWNlLmNyZWF0ZUNvbXBvbmVudChcclxuICAgICAgdGhpcy52Y1JlZiEsXHJcbiAgICAgIFNtYXJ0Zm9ybUNvbXBvbmVudCxcclxuICAgICAgbmV3IE1hcDxzdHJpbmcsIGFueT4oW1snc21hcnRGb3JtJywgdGhpcy5zbWFydEZvcm1dXSlcclxuICAgICk7XHJcblxyXG4gICAgdGhpcy5zdWJzY3JpYmVFZGl0b3JGb3JtQ2hpbGRyZW5FdmVudHMoKTtcclxuICB9XHJcblxyXG4gIHNhdmUoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm1Db21wUmVmPy5pbnN0YW5jZT8uc3VibWl0Rm9ybShmYWxzZSk7XHJcbiAgICB0aGlzLnNlcnZpY2UucGVmb3JtV2lkZ2V0QWN0aW9uKHtcclxuICAgICAgY29kZTogJ1VQREFURV9GSUxURVJfRVhQUkVTU0lPTicsXHJcbiAgICAgIHBhcmFtczoge1xyXG4gICAgICAgIG1vZGVsOiB0aGlzLnNlcnZpY2UubW9kZWw/LnNlbGVjdGVkRmllbGQsXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHJlbW92ZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VydmljZS5wZWZvcm1XaWRnZXRBY3Rpb24oe1xyXG4gICAgICBjb2RlOiAnUkVNT1ZFX0ZJTFRFUl9FWFBSRVNTSU9OJyxcclxuICAgICAgcGFyYW1zOiB7XHJcbiAgICAgICAgbW9kZWw6IHRoaXMuc2VydmljZS5tb2RlbD8uc2VsZWN0ZWRGaWVsZCxcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgc2F2ZUZpbHRlcigpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuZXh0cmFjdEZpbHRlckZpZWxkRnJvbUZvcm1Nb2RlbCgpO1xyXG4gICAgdGhpcy5zZXJ2aWNlLnBlcmZvcm1VaUFjdGlvblJlcXVlc3Qoe1xyXG4gICAgICBjb2RlOiBGaWx0ZXJFeHByZXNzaW9uQnVpbGRlckFwaUFjdGlvbnMuU0FWRV9FWFBSRVNTSU9OX0ZJRUxEX0xJU1QsXHJcbiAgICAgIHBhcmFtczoge1xyXG4gICAgICAgIG1vZGVsOiB0aGlzLnNlcnZpY2UubW9kZWwhLFxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNvbnN0cnVjdEZvcm1XaWRnZXQoXHJcbiAgICBrZXk6IHN0cmluZyxcclxuICAgIGxhYmVsOiBzdHJpbmcsXHJcbiAgICB3aWRnZXRUeXBlOiBGaWx0ZXJFeHByZXNzaW9uRmllbGRXaWRnZXRUeXBlLFxyXG4gICAgcG9zc2libGVWYWx1ZXM6IFZhbHVlW10sXHJcbiAgICB2YWx1ZTogYW55LFxyXG4gICAgdG9vbGJhcklkPzogc3RyaW5nXHJcbiAgKTogU21hcnRGb3JtV2lkZ2V0PGFueT4ge1xyXG4gICAgbGV0IHR5cGU6IGFueSA9IHdpZGdldFR5cGU7XHJcblxyXG4gICAgaWYgKHR5cGUgPT09IEZpbHRlckV4cHJlc3Npb25GaWVsZFdpZGdldFR5cGUuREFURSkge1xyXG4gICAgICB0eXBlID0gU21hcnRGb3JtV2lkZ2V0VHlwZS5EQVRFX1BJQ0tFUjtcclxuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gRmlsdGVyRXhwcmVzc2lvbkZpZWxkV2lkZ2V0VHlwZS5EQVRFX1RJTUUpIHtcclxuICAgICAgdHlwZSA9IFNtYXJ0Rm9ybVdpZGdldFR5cGUuREFURV9USU1FX1BJQ0tFUjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgd2lkZ2V0OiBTbWFydEZvcm1XaWRnZXQ8YW55PiA9IHtcclxuICAgICAgZXJyb3I6IHVuZGVmaW5lZCxcclxuICAgICAga2V5LFxyXG4gICAgICBsYWJlbCxcclxuICAgICAgdHlwZSxcclxuICAgICAgdmFsdWUsXHJcbiAgICAgIHNob3dMYWJlbDogdHJ1ZSxcclxuICAgICAgdmFsdWVMaXN0OiBwb3NzaWJsZVZhbHVlcy5tYXAoKHZhbHVlOiBWYWx1ZSkgPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICBrZXk6IHZhbHVlLm9iamVjdFVyaSA/IHZhbHVlLm9iamVjdFVyaSA6IHZhbHVlLmNvZGUhLFxyXG4gICAgICAgICAgbGFiZWw6IHZhbHVlLmRpc3BsYXlWYWx1ZSxcclxuICAgICAgICAgIHR5cGU6IFNtYXJ0Rm9ybVdpZGdldFR5cGUuSVRFTSxcclxuICAgICAgICAgIHZhbHVlOiB2YWx1ZS5vYmplY3RVcmkgPyB2YWx1ZS5vYmplY3RVcmkgOiB2YWx1ZS5jb2RlLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH0pLFxyXG4gICAgICB0b29sYmFySWQsXHJcbiAgICB9O1xyXG5cclxuICAgIHJldHVybiB3aWRnZXQ7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJzbWFydC1maWx0ZXItZWRpdG9yLWNvbnRhaW5lclwiICpuZ0lmPVwic2VydmljZS5tb2RlbFwiPlxyXG4gIDxoMyBjbGFzcz1cInNtYXJ0LWZpbHRlci1lZGl0b3ItdGl0bGVcIj57eyBzZXJ2aWNlLm1vZGVsPy5tb2RlbD8ubGFiZWwgfX08L2gzPlxyXG5cclxuICA8ZGl2ICpuZ0lmPVwic2VydmljZS5tb2RlbD8udHlwZSA9PT0gdHlwZS5TSU1QTEU7IHRoZW4gc2ltcGxlRmlsdGVyOyBlbHNlIGNvbXBsZXhGaWx0ZXJcIj48L2Rpdj5cclxuXHJcbiAgPG5nLXRlbXBsYXRlICNzaW1wbGVGaWx0ZXI+XHJcbiAgICA8ZGl2IGNsYXNzPVwic21hcnQtZmlsdGVyLWVkaXRvci1leHByZXNzaW9uc0NvbnRhaW5lclwiPlxyXG4gICAgICA8bmctdGVtcGxhdGUgI3NpbXBsZUZpbHRlckZyb21DaGlsZD48L25nLXRlbXBsYXRlPlxyXG4gICAgICA8IS0tICNzaW1wbGVGaWx0ZXJGcm9tQ2hpbGQgW3NtYXJ0Rm9ybV09XCJzaW1wbGVGaWx0ZXJGb3JtXCI+PC9zbWFydGZvcm0+IC0tPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuICA8bmctdGVtcGxhdGUgI2NvbXBsZXhGaWx0ZXI+XHJcbiAgICA8ZGl2IGNsYXNzPVwic21hcnQtZmlsdGVyLWVkaXRvci11aUFjdGlvbnNCYXJcIiAqbmdJZj1cIiFzZXJ2aWNlLm1vZGVsPy5yZWFkT25seVwiPlxyXG4gICAgICA8c21hcnQtdWktYWN0aW9uLXRvb2xiYXIgW3VpQWN0aW9uTW9kZWxzXT1cInVpQWN0aW9uTW9kZWxzXCI+PC9zbWFydC11aS1hY3Rpb24tdG9vbGJhcj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdlxyXG4gICAgICAqbmdJZj1cIlxyXG4gICAgICAgIHNlcnZpY2U/Lm1vZGVsPy5tb2RlbD8ud29ya3BsYWNlTGlzdD8uZmlsdGVycz8ubGVuZ3RoO1xyXG4gICAgICAgIHRoZW4gd2l0aFBhcmFtZXRlcnM7XHJcbiAgICAgICAgZWxzZSB3aXRob3V0UGFyYW1ldGVyc1xyXG4gICAgICBcIlxyXG4gICAgPjwvZGl2PlxyXG4gICAgPG5nLXRlbXBsYXRlICN3aXRob3V0UGFyYW1ldGVycz5cclxuICAgICAgPGRpdiBjbGFzcz1cInNtYXJ0LWZpbHRlci1lZGl0b3Itd2l0aG91dFBhcmFtZXRlcnNDb250YWluZXJcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdC1ib2R5XCI+IE3DqWcgbmluY3MgbWVnYWR2YSBwYXJhbcOpdGVyIDwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPG5nLXRlbXBsYXRlICN3aXRoUGFyYW1ldGVycz5cclxuICAgICAgPGRpdiBjbGFzcz1cInNtYXJ0LWZpbHRlci1lZGl0b3Itd2l0aFBhcmFtZXRlcnNDb250YWluZXJcIj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cInNtYXJ0LWZpbHRlci1lZGl0b3ItZXhwcmVzc2lvbnNDb250YWluZXJcIlxyXG4gICAgICAgICAgKm5nSWY9XCJzZXJ2aWNlPy5tb2RlbD8ubW9kZWw/LndvcmtwbGFjZUxpc3Q/LmZpbHRlcnM/Lmxlbmd0aFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGFwcC1leHByZXNzaW9uLWl0ZW1zXHJcbiAgICAgICAgICAgIFtpdGVtc109XCIoc2VydmljZS5tb2RlbD8ubW9kZWw/LndvcmtwbGFjZUxpc3QpIS5maWx0ZXJzXCJcclxuICAgICAgICAgICAgW3NlcnZpY2VdPVwic2VydmljZVwiXHJcbiAgICAgICAgICA+PC9hcHAtZXhwcmVzc2lvbi1pdGVtcz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic21hcnQtZmlsdGVyLWVkaXRvci1leHByZXNzaW9uRWRpdG9yQ29udGFpbmVyXCI+XHJcbiAgICAgICAgICA8IS0tIDxzbWFydGZvcm0gI2Zvcm0gW3NtYXJ0Rm9ybV09XCJzbWFydEZvcm1cIj48L3NtYXJ0Zm9ybT4gLS0+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2Zvcm0+PC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJzbWFydEZvcm1cIj5cclxuICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwicmVtb3ZlKClcIiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIj5Uw7ZybMOpczwvYnV0dG9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L2Rpdj5cclxuIl19
271
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZmlsdGVyLWVkaXRvci1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LWZpbHRlci1lZGl0b3Ivc21hcnQtZmlsdGVyLWVkaXRvci1jb250ZW50L3NtYXJ0LWZpbHRlci1lZGl0b3ItY29udGVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1maWx0ZXItZWRpdG9yL3NtYXJ0LWZpbHRlci1lZGl0b3ItY29udGVudC9zbWFydC1maWx0ZXItZWRpdG9yLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxLQUFLLEVBR0wsU0FBUyxFQUVULGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFnQixTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFeEQsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDL0YsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFLMUUsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFFckcsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFHekYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saURBQWlELENBQUM7Ozs7Ozs7O0FBT3JGLE1BQU0sT0FBTyxpQ0FBaUM7SUFrQjVDLFlBQ1UsYUFBK0MsRUFDL0MsU0FBa0M7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LElBQUksTUFBTSxHQUF5QjtZQUNqQyxLQUFLLEVBQUUsU0FBUztZQUNoQixHQUFHO1lBQ0gsS0FBSztZQUNMLElBQUk7WUFDSixLQUFLO1lBQ0wsU0FBUyxFQUFFLElBQUk7WUFDZixTQUFTLEVBQUUsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQVksRUFBRSxFQUFFO2dCQUM3QyxPQUFPO29CQUNMLEdBQUcsRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSztvQkFDcEQsS0FBSyxFQUFFLEtBQUssQ0FBQyxZQUFZO29CQUN6QixJQUFJLEVBQUUsbUJBQW1CLENBQUMsSUFBSTtvQkFDOUIsS0FBSyxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJO2lCQUN0RCxDQUFDO1lBQ0osQ0FBQyxDQUFDO1lBQ0YsU0FBUztTQUNWLENBQUM7UUFFRixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOzs4SEFqWFUsaUNBQWlDO2tIQUFqQyxpQ0FBaUMsZ0xBT2pCLGdCQUFnQixxSEFLQyxnQkFBZ0IsNkJDL0M5RCxvbEVBaURBOzJGRGRhLGlDQUFpQztrQkFMN0MsU0FBUzsrQkFDRSxnQ0FBZ0M7NkpBTWpDLE9BQU87c0JBQWYsS0FBSztnQkFNTixLQUFLO3NCQURKLFNBQVM7dUJBQUMsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFO2dCQU03QyxpQkFBaUI7c0JBRGhCLFNBQVM7dUJBQUMsdUJBQXVCLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ29tcG9uZW50LFxyXG4gIENvbXBvbmVudFJlZixcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3Q2hpbGRyZW4sXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENvbXBvbmVudEZhY3RvcnlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50LWZhY3Rvcnktc2VydmljZS9jb21wb25lbnQtZmFjdG9yeS1zZXJ2aWNlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGaWx0ZXJFeHByZXNzaW9uRmllbGRXaWRnZXRUeXBlIH0gZnJvbSAnLi4vLi4vc21hcnQtZmlsdGVyL3Byb2plY3RzJztcclxuaW1wb3J0IHsgU21hcnRGb3JtV2lkZ2V0RGlyZWN0aW9uIH0gZnJvbSAnLi4vLi4vc21hcnQtZm9ybS9hcGkvbW9kZWwvc21hcnRGb3JtV2lkZ2V0RGlyZWN0aW9uJztcclxuaW1wb3J0IHsgU21hcnRGb3JtV2lkZ2V0VHlwZSB9IGZyb20gJy4uLy4uL3NtYXJ0LWZvcm0vcHJvamVjdHMnO1xyXG5pbXBvcnQgeyBTbWFydGZvcm1MYXlvdXREZWZpbml0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NtYXJ0LWZvcm0vc2VydmljZXMvc21hcnRmb3JtLmxheW91dC1kZWZpbml0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTbWFydGZvcm1Db21wb25lbnQgfSBmcm9tICcuLi8uLi9zbWFydC1mb3JtL3NtYXJ0Zm9ybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTbWFydEZvcm1XaWRnZXQgfSBmcm9tICcuLi8uLi9zbWFydC1mb3JtL3NtYXJ0Zm9ybS5mb3JtLW1vZGVsJztcclxuaW1wb3J0IHsgU21hcnRGb3JtLCBTb3BoaXN0aWNhdGVkVmFsdWVDaGFuZ2UsIFZhbHVlIH0gZnJvbSAnLi4vLi4vc21hcnQtZm9ybS9zbWFydGZvcm0ubW9kZWwnO1xyXG5pbXBvcnQgeyBVaUFjdGlvbiB9IGZyb20gJy4uLy4uL3ZpZXctY29udGV4dC9hcGkvbW9kZWwvdWlBY3Rpb24nO1xyXG5pbXBvcnQgeyBVaUFjdGlvbk1vZGVsIH0gZnJvbSAnLi4vLi4vdmlldy1jb250ZXh0L3NtYXJ0LXVpLWFjdGlvbi91aS1hY3Rpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBGaWx0ZXJFeHByZXNzaW9uQnVpbGRlclVpTW9kZWxUeXBlRW51bSB9IGZyb20gJy4uL2FwaS9tb2RlbC9maWx0ZXJFeHByZXNzaW9uQnVpbGRlclVpTW9kZWwnO1xyXG5pbXBvcnQgeyBGaWx0ZXJFeHByZXNzaW9uRmllbGQgfSBmcm9tICcuLi9hcGkvbW9kZWwvZmlsdGVyRXhwcmVzc2lvbkZpZWxkJztcclxuaW1wb3J0IHsgRmlsdGVyRXhwcmVzc2lvbkJ1aWxkZXJBcGlBY3Rpb25zIH0gZnJvbSAnLi4vZmlsdGVyRXhwcmVzc2lvbkJ1aWxkZXJBcGlBY3Rpb25zJztcclxuaW1wb3J0IHsgSVNtYXJ0RmlsdGVyRWRpdG9yU2VydmljZSB9IGZyb20gJy4uL3NtYXJ0LWZpbHRlci1lZGl0b3Iuc2VydmljZSc7XHJcbmltcG9ydCB7IGRlZXBFcXVhbCB9IGZyb20gJ2Zhc3QtZXF1YWxzJztcclxuaW1wb3J0IHsgU21hcnRPYmplY3RVdGlsaXR5IH0gZnJvbSAnLi4vLi4vdmlldy1jb250ZXh0L3V0aWxpdHkvc21hcnQtb2JqZWN0LXV0aWxpdHknO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzbWFydC1maWx0ZXItZXhwcmVzc2lvbi1lZGl0b3InLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zbWFydC1maWx0ZXItZWRpdG9yLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NtYXJ0LWZpbHRlci1lZGl0b3ItY29udGVudC5jb21wb25lbnQuY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTbWFydEZpbHRlckVkaXRvckNvbnRlbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSBfZGVzdHJveSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xyXG4gIEBJbnB1dCgpIHNlcnZpY2UhOiBJU21hcnRGaWx0ZXJFZGl0b3JTZXJ2aWNlO1xyXG5cclxuICB1aUFjdGlvbk1vZGVsczogVWlBY3Rpb25Nb2RlbFtdID0gW107XHJcbiAgZXhwcmVzc2lvblVpQWN0aW9uTW9kZWxzOiBVaUFjdGlvbk1vZGVsW10gPSBbXTtcclxuXHJcbiAgQFZpZXdDaGlsZCgnZm9ybScsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiB9KVxyXG4gIHZjUmVmPzogVmlld0NvbnRhaW5lclJlZjtcclxuICBmb3JtQ29tcFJlZj86IENvbXBvbmVudFJlZjxTbWFydGZvcm1Db21wb25lbnQ+O1xyXG4gIHNtYXJ0Rm9ybT86IFNtYXJ0Rm9ybTtcclxuXHJcbiAgQFZpZXdDaGlsZCgnc2ltcGxlRmlsdGVyRnJvbUNoaWxkJywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pXHJcbiAgc2ltcGxlRmlsdGVyVmNSZWY/OiBWaWV3Q29udGFpbmVyUmVmO1xyXG4gIHNpbXBsZUZpbHRlclJlZj86IENvbXBvbmVudFJlZjxTbWFydGZvcm1Db21wb25lbnQ+O1xyXG5cclxuICB0eXBlID0gRmlsdGVyRXhwcmVzc2lvbkJ1aWxkZXJVaU1vZGVsVHlwZUVudW07XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBsYXlvdXRTZXJ2aWNlOiBTbWFydGZvcm1MYXlvdXREZWZpbml0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgY2ZTZXJ2aWNlOiBDb21wb25lbnRGYWN0b3J5U2VydmljZVxyXG4gICkge31cclxuXHJcbiAgcHJpdmF0ZSBzdWJzcmNpYmVTaW1wbGVGb3JtQ2hpbGRyZW5FdmVudHMoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNpbXBsZUZpbHRlclJlZiEuaW5zdGFuY2Uub25CbHVyU3ViamVjdCEucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLnNhdmVGaWx0ZXIoKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zaW1wbGVGaWx0ZXJSZWYhLmluc3RhbmNlLnNvcGhpc3RpY2F0ZWRWYWx1ZUNoYW5nZT8ucGlwZShcclxuICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKVxyXG4gICAgKS5zdWJzY3JpYmUoKGNoYW5nZSkgPT4ge1xyXG4gICAgICBpZiAoY2hhbmdlLmtpbmQgPT09ICdzZWxlY3Rpb24nICYmICFjaGFuZ2Uua2V5LmluY2x1ZGVzKCdzZWxlY3RlZFZhbHVlcycpKSB7XHJcbiAgICAgICAgdGhpcy5zYXZlRmlsdGVyKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdWJzY3JpYmVFZGl0b3JGb3JtQ2hpbGRyZW5FdmVudHMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm1Db21wUmVmPy5pbnN0YW5jZSEub25CbHVyU3ViamVjdCEucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLnNhdmUoKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuZm9ybUNvbXBSZWYhLmluc3RhbmNlIS5zb3BoaXN0aWNhdGVkVmFsdWVDaGFuZ2U/LnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSkuc3Vic2NyaWJlKFxyXG4gICAgICAoY2hhbmdlOiBTb3BoaXN0aWNhdGVkVmFsdWVDaGFuZ2UpID0+IHtcclxuICAgICAgICBpZiAoY2hhbmdlLmtleSA9PT0gJ2V4cHJlc3Npb25EYXRhLmN1cnJlbnRPcGVyYXRpb24nKSB7XHJcbiAgICAgICAgICB0aGlzLnNhdmUoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXJ2aWNlLm1vZGVsQ2hhbmdlZC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnNldFVwKCkpO1xyXG4gICAgdGhpcy5zZXJ2aWNlLmxvYWQoKTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgc2V0dXBTaW1wbGVGaWx0ZXIoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuc2ltcGxlRmlsdGVyVmNSZWYpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCB3aWRnZXRzOiBTbWFydEZvcm1XaWRnZXQ8YW55PltdID0gW107XHJcblxyXG4gICAgbGV0IGtleTogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG5cclxuICAgIGxldCBtb2RlbDogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IHt9O1xyXG5cclxuICAgIHRoaXMuc2VydmljZS5tb2RlbD8ubW9kZWw/LndvcmtwbGFjZUxpc3Q/LmZpbHRlcnMuZm9yRWFjaChcclxuICAgICAgKGZpbHRlckV4cHJlc3Npb25GaWVsZDogRmlsdGVyRXhwcmVzc2lvbkZpZWxkLCBpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgbW9kZWxbaW5kZXhdID0gZmlsdGVyRXhwcmVzc2lvbkZpZWxkO1xyXG5cclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICBmaWx0ZXJFeHByZXNzaW9uRmllbGQud2lkZ2V0VHlwZSA9PT0gRmlsdGVyRXhwcmVzc2lvbkZpZWxkV2lkZ2V0VHlwZS5URVhUX0ZJRUxEX0xPT0tVUFxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAga2V5ID0gaW5kZXggKyAnLmV4cHJlc3Npb25EYXRhLm9wZXJhbmQyLnNlbGVjdGVkT2JqZWN0cyc7XHJcbiAgICAgICAgICB3aWRnZXRzLnB1c2goXHJcbiAgICAgICAgICAgIHRoaXMuY29uc3RydWN0Rm9ybVdpZGdldChcclxuICAgICAgICAgICAgICBrZXksXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLmxhYmVsMiEsXHJcbiAgICAgICAgICAgICAgRmlsdGVyRXhwcmVzc2lvbkZpZWxkV2lkZ2V0VHlwZS5URVhUX0ZJRUxEX0xPT0tVUCxcclxuICAgICAgICAgICAgICBbXSxcclxuICAgICAgICAgICAgICBmaWx0ZXJFeHByZXNzaW9uRmllbGQuZXhwcmVzc2lvbkRhdGE/Lm9wZXJhbmQyPy5zZWxlY3RlZE9iamVjdHMgPz8gW10sXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLnRvb2xiYXJJZFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGZpbHRlckV4cHJlc3Npb25GaWVsZC53aWRnZXRUeXBlID09PSAnU0VMRUNUX01VTFRJUExFJykge1xyXG4gICAgICAgICAga2V5ID0gaW5kZXggKyAnLmV4cHJlc3Npb25EYXRhLm9wZXJhbmQyLnNlbGVjdGVkVmFsdWVzJztcclxuICAgICAgICAgIHdpZGdldHMucHVzaChcclxuICAgICAgICAgICAgdGhpcy5jb25zdHJ1Y3RGb3JtV2lkZ2V0KFxyXG4gICAgICAgICAgICAgIGtleSxcclxuICAgICAgICAgICAgICBmaWx0ZXJFeHByZXNzaW9uRmllbGQubGFiZWwyISxcclxuICAgICAgICAgICAgICBmaWx0ZXJFeHByZXNzaW9uRmllbGQud2lkZ2V0VHlwZSA/PyBGaWx0ZXJFeHByZXNzaW9uRmllbGRXaWRnZXRUeXBlLlRFWFRfRklFTEQsXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLnBvc3NpYmxlVmFsdWVzIGFzIFZhbHVlW10sXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLmV4cHJlc3Npb25EYXRhPy5vcGVyYW5kMj8uc2VsZWN0ZWRWYWx1ZXMgPz8gW10sXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLnRvb2xiYXJJZFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGZpbHRlckV4cHJlc3Npb25GaWVsZC5leHByZXNzaW9uRGF0YT8uY3VycmVudE9wZXJhdGlvbiA9PT0gJ0JFVFdFRU4nKSB7XHJcbiAgICAgICAgICBrZXkgPSBpbmRleCArICcuZXhwcmVzc2lvbkRhdGEub3BlcmFuZDIudmFsdWVBc1N0cmluZyc7XHJcbiAgICAgICAgICB3aWRnZXRzLnB1c2goXHJcbiAgICAgICAgICAgIHRoaXMuY29uc3RydWN0Rm9ybVdpZGdldChcclxuICAgICAgICAgICAgICBrZXksXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLmxhYmVsMiEsXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLndpZGdldFR5cGUgPz8gRmlsdGVyRXhwcmVzc2lvbkZpZWxkV2lkZ2V0VHlwZS5URVhUX0ZJRUxELFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC5wb3NzaWJsZVZhbHVlcyBhcyBWYWx1ZVtdLFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC5leHByZXNzaW9uRGF0YT8ub3BlcmFuZDI/LnZhbHVlQXNTdHJpbmcgPz8gJycsXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLnRvb2xiYXJJZFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICApO1xyXG5cclxuICAgICAgICAgIGtleSA9IGluZGV4ICsgJy5leHByZXNzaW9uRGF0YS5vcGVyYW5kMy52YWx1ZUFzU3RyaW5nJztcclxuICAgICAgICAgIHdpZGdldHMucHVzaChcclxuICAgICAgICAgICAgdGhpcy5jb25zdHJ1Y3RGb3JtV2lkZ2V0KFxyXG4gICAgICAgICAgICAgIGtleSxcclxuICAgICAgICAgICAgICBmaWx0ZXJFeHByZXNzaW9uRmllbGQubGFiZWwzISxcclxuICAgICAgICAgICAgICBmaWx0ZXJFeHByZXNzaW9uRmllbGQud2lkZ2V0VHlwZSA/PyBGaWx0ZXJFeHByZXNzaW9uRmllbGRXaWRnZXRUeXBlLlRFWFRfRklFTEQsXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLnBvc3NpYmxlVmFsdWVzIGFzIFZhbHVlW10sXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLmV4cHJlc3Npb25EYXRhPy5vcGVyYW5kMz8udmFsdWVBc1N0cmluZyA/PyAnJyxcclxuICAgICAgICAgICAgICBmaWx0ZXJFeHByZXNzaW9uRmllbGQudG9vbGJhcklkXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoZmlsdGVyRXhwcmVzc2lvbkZpZWxkLmV4cHJlc3Npb25EYXRhPy5vcGVyYW5kMikge1xyXG4gICAgICAgICAga2V5ID0gaW5kZXggKyAnLmV4cHJlc3Npb25EYXRhLm9wZXJhbmQyLnZhbHVlQXNTdHJpbmcnO1xyXG4gICAgICAgICAgd2lkZ2V0cy5wdXNoKFxyXG4gICAgICAgICAgICB0aGlzLmNvbnN0cnVjdEZvcm1XaWRnZXQoXHJcbiAgICAgICAgICAgICAga2V5LFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC5sYWJlbDIhLFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC53aWRnZXRUeXBlID8/IEZpbHRlckV4cHJlc3Npb25GaWVsZFdpZGdldFR5cGUuVEVYVF9GSUVMRCxcclxuICAgICAgICAgICAgICBmaWx0ZXJFeHByZXNzaW9uRmllbGQucG9zc2libGVWYWx1ZXMgYXMgVmFsdWVbXSxcclxuICAgICAgICAgICAgICBmaWx0ZXJFeHByZXNzaW9uRmllbGQuZXhwcmVzc2lvbkRhdGE/Lm9wZXJhbmQyPy52YWx1ZUFzU3RyaW5nID8/ICcnLFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC50b29sYmFySWRcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGZpbHRlckV4cHJlc3Npb25GaWVsZD8uZXhwcmVzc2lvbkRhdGE/Lm9wZXJhbmQzKSB7XHJcbiAgICAgICAgICBrZXkgPSBpbmRleCArICcuZXhwcmVzc2lvbkRhdGEub3BlcmFuZDMudmFsdWVBc1N0cmluZyc7XHJcbiAgICAgICAgICB3aWRnZXRzLnB1c2goXHJcbiAgICAgICAgICAgIHRoaXMuY29uc3RydWN0Rm9ybVdpZGdldChcclxuICAgICAgICAgICAgICBrZXksXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLmxhYmVsMyEsXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLndpZGdldFR5cGUgPz8gRmlsdGVyRXhwcmVzc2lvbkZpZWxkV2lkZ2V0VHlwZS5URVhUX0ZJRUxELFxyXG5cclxuICAgICAgICAgICAgICBmaWx0ZXJFeHByZXNzaW9uRmllbGQucG9zc2libGVWYWx1ZXMgYXMgVmFsdWVbXSxcclxuICAgICAgICAgICAgICBmaWx0ZXJFeHByZXNzaW9uRmllbGQuZXhwcmVzc2lvbkRhdGE/Lm9wZXJhbmQzPy52YWx1ZUFzU3RyaW5nID8/ICcnLFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC50b29sYmFySWRcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICk7XHJcblxyXG4gICAgbGV0IHNtYXJ0Rm9ybSA9IHtcclxuICAgICAgZGlyZWN0aW9uOiBTbWFydEZvcm1XaWRnZXREaXJlY3Rpb24uUk9XLFxyXG4gICAgICBjb21wb25lbnRNb2RlbDogeyBkYXRhOiBtb2RlbCB9LFxyXG4gICAgICB1c2VPblZhbHVlQ2hhbmdlRXZlbnQ6IHRydWUsXHJcbiAgICAgIHVzZU9uQmx1ckV2ZW50OiB0cnVlLFxyXG4gICAgICB3aWRnZXRzLFxyXG4gICAgfTtcclxuXHJcbiAgICBpZiAodGhpcy5zaW1wbGVGaWx0ZXJSZWY/Lmluc3RhbmNlKSB7XHJcbiAgICAgIC8vIHdlIGFscmVhZHkgaGF2ZSBhIFNtYXJ0Rm9ybUNvbXBvbmVudCwgdXNlIHRoYXRcclxuICAgICAgbGV0IGNvbXAgPSB0aGlzLnNpbXBsZUZpbHRlclJlZj8uaW5zdGFuY2U7XHJcblxyXG4gICAgICBpZiAoY29tcC5zbWFydEZvcm0gJiYgdGhpcy5jb21wYXJlV2lkZ2V0cyhjb21wLnNtYXJ0Rm9ybS53aWRnZXRzLCBzbWFydEZvcm0ud2lkZ2V0cykpIHtcclxuICAgICAgICAvLyB0aGVyZSdzIG5vIHN0cnVjdHVyYWwgY2hhbmdlLCBkb24ndCByZWNyZWF0ZSBTbWFydEZvcm1Db21wb25lbnRcclxuICAgICAgICBjb21wLnNtYXJ0Rm9ybS5jb21wb25lbnRNb2RlbCA9IHNtYXJ0Rm9ybS5jb21wb25lbnRNb2RlbDtcclxuICAgICAgICBjb21wLmNvbnN0cnVjdEZvcm0oKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnNpbXBsZUZpbHRlclZjUmVmPy5jbGVhcigpO1xyXG4gICAgdGhpcy5zaW1wbGVGaWx0ZXJSZWY/LmRlc3Ryb3koKTtcclxuXHJcbiAgICB0aGlzLnNpbXBsZUZpbHRlclJlZiA9IHRoaXMuY2ZTZXJ2aWNlLmNyZWF0ZUNvbXBvbmVudChcclxuICAgICAgdGhpcy5zaW1wbGVGaWx0ZXJWY1JlZiEsXHJcbiAgICAgIFNtYXJ0Zm9ybUNvbXBvbmVudCxcclxuICAgICAgbmV3IE1hcDxzdHJpbmcsIGFueT4oW1snc21hcnRGb3JtJywgc21hcnRGb3JtXV0pXHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMuc3Vic3JjaWJlU2ltcGxlRm9ybUNoaWxkcmVuRXZlbnRzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNvbXBhcmVXaWRnZXRzKHdzMTogU21hcnRGb3JtV2lkZ2V0PGFueT5bXSwgd3MyOiBTbWFydEZvcm1XaWRnZXQ8YW55PltdKTogYm9vbGVhbiB7XHJcbiAgICBpZiAod3MxLmxlbmd0aCAhPT0gd3MyLmxlbmd0aCkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHdzMS5sZW5ndGg7IGkrKykge1xyXG4gICAgICBpZiAoIXRoaXMuY29tcGFyZVdpZGdldCh3czFbaV0sIHdzMltpXSkpIHtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjb21wYXJlV2lkZ2V0KHcxOiBTbWFydEZvcm1XaWRnZXQ8YW55PiwgdzI6IFNtYXJ0Rm9ybVdpZGdldDxhbnk+KTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gU21hcnRPYmplY3RVdGlsaXR5LmNvbXBhcmVCeVByb3BzKHcxLCB3MiwgW1xyXG4gICAgICAnZXJyb3InLFxyXG4gICAgICAna2V5JyxcclxuICAgICAgJ2xhYmVsJyxcclxuICAgICAgJ3R5cGUnLFxyXG4gICAgICAvLyAndmFsdWUnLCA8LSB2YWx1ZSB3aWxsIGJlIHNldCBieSBjb21wb25lbnRNb2RlbC5kYXRhIVxyXG4gICAgICAnc2hvd0xhYmVsJyxcclxuICAgICAgJ3ZhbHVlTGlzdCcsXHJcbiAgICAgICd0b29sYmFySWQnLFxyXG4gICAgXSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGV4dHJhY3RGaWx0ZXJGaWVsZEZyb21Gb3JtTW9kZWwoKTogdm9pZCB7XHJcbiAgICBsZXQgc2ltcGxlRmlsdGVyID0gdGhpcy5zaW1wbGVGaWx0ZXJSZWY/Lmluc3RhbmNlPy5zdWJtaXRGb3JtKGZhbHNlKS5jb21wb25lbnRNb2RlbC5kYXRhO1xyXG4gICAgbGV0IHJlc3VsdDogRmlsdGVyRXhwcmVzc2lvbkZpZWxkW10gPSBbXTtcclxuXHJcbiAgICBPYmplY3Qua2V5cyhzaW1wbGVGaWx0ZXIpLmZvckVhY2goKGtleTogc3RyaW5nKSA9PiB7XHJcbiAgICAgIHJlc3VsdC5wdXNoKHNpbXBsZUZpbHRlcltrZXldKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zZXJ2aWNlLm1vZGVsIS5tb2RlbCEud29ya3BsYWNlTGlzdCEuZmlsdGVycyA9IHJlc3VsdDtcclxuICB9XHJcblxyXG4gIHNldFVwKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc2VydmljZS5tb2RlbD8udHlwZSA9PT0gdGhpcy50eXBlLlNJTVBMRSkge1xyXG4gICAgICB0aGlzLnNldHVwU2ltcGxlRmlsdGVyKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNvbnN0cnVjdFVpQWN0aW9uTW9kZWxzKCk7XHJcblxyXG4gICAgICBpZiAodGhpcy5zZXJ2aWNlPy5tb2RlbD8uc2VsZWN0ZWRGaWVsZEVkaXRvcikge1xyXG4gICAgICAgIHRoaXMuY29uc3RydWN0Rm9ybSgpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuc21hcnRGb3JtID0gdW5kZWZpbmVkO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RVaUFjdGlvbk1vZGVscygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnNlcnZpY2UubW9kZWw/LnBvc3NpYmxlQWN0aW9ucykge1xyXG4gICAgICB0aGlzLnVpQWN0aW9uTW9kZWxzID0gdGhpcy5zZXJ2aWNlLm1vZGVsLnBvc3NpYmxlQWN0aW9ucy5tYXAoKGFjdGlvbjogVWlBY3Rpb24pID0+IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgc2VydmljZVRvVXNlOiB0aGlzLnNlcnZpY2UsXHJcbiAgICAgICAgICB1aUFjdGlvbjogYWN0aW9uLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnNlcnZpY2UubW9kZWw/LnNlbGVjdGVkRmllbGRFZGl0b3I/LnBvc3NpYmxlQWN0aW9ucykge1xyXG4gICAgICB0aGlzLmV4cHJlc3Npb25VaUFjdGlvbk1vZGVscyA9IHRoaXMuc2VydmljZS5tb2RlbD8uc2VsZWN0ZWRGaWVsZEVkaXRvci5wb3NzaWJsZUFjdGlvbnMubWFwKFxyXG4gICAgICAgICh1aUFjdGlvbjogVWlBY3Rpb24pID0+IHtcclxuICAgICAgICAgIGxldCBjb3BpZWRVaUFjdGlvbjogVWlBY3Rpb24gPSB7fTtcclxuICAgICAgICAgIE9iamVjdC5rZXlzKHVpQWN0aW9uKS5tYXAoKGtleTogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgIChjb3BpZWRVaUFjdGlvbiBhcyBhbnkpW2tleV0gPSAodWlBY3Rpb24gYXMgYW55KVtrZXldO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBjb3BpZWRVaUFjdGlvbi5wYXJhbXMgPSB7XHJcbiAgICAgICAgICAgIGZpZWxkOiB0aGlzLnNlcnZpY2UubW9kZWw/LnNlbGVjdGVkRmllbGQsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgc2VydmljZVRvVXNlOiB0aGlzLnNlcnZpY2UsXHJcbiAgICAgICAgICAgIHVpQWN0aW9uOiBjb3BpZWRVaUFjdGlvbixcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0Rm9ybSgpOiB2b2lkIHtcclxuICAgIHRoaXMudmNSZWY/LmNsZWFyKCk7XHJcbiAgICB0aGlzLmZvcm1Db21wUmVmPy5kZXN0cm95KCk7XHJcblxyXG4gICAgaWYgKCF0aGlzLnZjUmVmKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgZ2VuZXJhdGVkV2lkZ2V0czogU21hcnRGb3JtV2lkZ2V0PGFueT5bXSA9IHRoaXMubGF5b3V0U2VydmljZS5yZW5kZXIoe1xyXG4gICAgICBsYXlvdXREZWZpbml0aW9uczogdGhpcy5zZXJ2aWNlLm1vZGVsPy5zZWxlY3RlZEZpZWxkRWRpdG9yPy5sYXlvdXREZWY/LndpZGdldHMsXHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLnNtYXJ0Rm9ybSA9IHtcclxuICAgICAgZGlyZWN0aW9uOiBTbWFydEZvcm1XaWRnZXREaXJlY3Rpb24uUk9XLFxyXG4gICAgICB1c2VPbkJsdXJFdmVudDogdHJ1ZSxcclxuICAgICAgdXNlT25WYWx1ZUNoYW5nZUV2ZW50OiB0cnVlLFxyXG4gICAgICBjb21wb25lbnRNb2RlbDogeyBkYXRhOiB0aGlzLnNlcnZpY2UubW9kZWw/LnNlbGVjdGVkRmllbGQgfSxcclxuICAgICAgd2lkZ2V0czogZ2VuZXJhdGVkV2lkZ2V0cyxcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5mb3JtQ29tcFJlZiA9IHRoaXMuY2ZTZXJ2aWNlLmNyZWF0ZUNvbXBvbmVudChcclxuICAgICAgdGhpcy52Y1JlZiEsXHJcbiAgICAgIFNtYXJ0Zm9ybUNvbXBvbmVudCxcclxuICAgICAgbmV3IE1hcDxzdHJpbmcsIGFueT4oW1snc21hcnRGb3JtJywgdGhpcy5zbWFydEZvcm1dXSlcclxuICAgICk7XHJcblxyXG4gICAgdGhpcy5zdWJzY3JpYmVFZGl0b3JGb3JtQ2hpbGRyZW5FdmVudHMoKTtcclxuICB9XHJcblxyXG4gIHNhdmUoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm1Db21wUmVmPy5pbnN0YW5jZT8uc3VibWl0Rm9ybShmYWxzZSk7XHJcbiAgICB0aGlzLnNlcnZpY2UucGVmb3JtV2lkZ2V0QWN0aW9uKHtcclxuICAgICAgY29kZTogJ1VQREFURV9GSUxURVJfRVhQUkVTU0lPTicsXHJcbiAgICAgIHBhcmFtczoge1xyXG4gICAgICAgIG1vZGVsOiB0aGlzLnNlcnZpY2UubW9kZWw/LnNlbGVjdGVkRmllbGQsXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHJlbW92ZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VydmljZS5wZWZvcm1XaWRnZXRBY3Rpb24oe1xyXG4gICAgICBjb2RlOiAnUkVNT1ZFX0ZJTFRFUl9FWFBSRVNTSU9OJyxcclxuICAgICAgcGFyYW1zOiB7XHJcbiAgICAgICAgbW9kZWw6IHRoaXMuc2VydmljZS5tb2RlbD8uc2VsZWN0ZWRGaWVsZCxcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgc2F2ZUZpbHRlcigpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuZXh0cmFjdEZpbHRlckZpZWxkRnJvbUZvcm1Nb2RlbCgpO1xyXG4gICAgdGhpcy5zZXJ2aWNlLnBlcmZvcm1VaUFjdGlvblJlcXVlc3Qoe1xyXG4gICAgICBjb2RlOiBGaWx0ZXJFeHByZXNzaW9uQnVpbGRlckFwaUFjdGlvbnMuU0FWRV9FWFBSRVNTSU9OX0ZJRUxEX0xJU1QsXHJcbiAgICAgIHBhcmFtczoge1xyXG4gICAgICAgIG1vZGVsOiB0aGlzLnNlcnZpY2UubW9kZWwhLFxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNvbnN0cnVjdEZvcm1XaWRnZXQoXHJcbiAgICBrZXk6IHN0cmluZyxcclxuICAgIGxhYmVsOiBzdHJpbmcsXHJcbiAgICB3aWRnZXRUeXBlOiBGaWx0ZXJFeHByZXNzaW9uRmllbGRXaWRnZXRUeXBlLFxyXG4gICAgcG9zc2libGVWYWx1ZXM6IFZhbHVlW10sXHJcbiAgICB2YWx1ZTogYW55LFxyXG4gICAgdG9vbGJhcklkPzogc3RyaW5nXHJcbiAgKTogU21hcnRGb3JtV2lkZ2V0PGFueT4ge1xyXG4gICAgbGV0IHR5cGU6IGFueSA9IHdpZGdldFR5cGU7XHJcblxyXG4gICAgaWYgKHR5cGUgPT09IEZpbHRlckV4cHJlc3Npb25GaWVsZFdpZGdldFR5cGUuREFURSkge1xyXG4gICAgICB0eXBlID0gU21hcnRGb3JtV2lkZ2V0VHlwZS5EQVRFX1BJQ0tFUjtcclxuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gRmlsdGVyRXhwcmVzc2lvbkZpZWxkV2lkZ2V0VHlwZS5EQVRFX1RJTUUpIHtcclxuICAgICAgdHlwZSA9IFNtYXJ0Rm9ybVdpZGdldFR5cGUuREFURV9USU1FX1BJQ0tFUjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgd2lkZ2V0OiBTbWFydEZvcm1XaWRnZXQ8YW55PiA9IHtcclxuICAgICAgZXJyb3I6IHVuZGVmaW5lZCxcclxuICAgICAga2V5LFxyXG4gICAgICBsYWJlbCxcclxuICAgICAgdHlwZSxcclxuICAgICAgdmFsdWUsXHJcbiAgICAgIHNob3dMYWJlbDogdHJ1ZSxcclxuICAgICAgdmFsdWVMaXN0OiBwb3NzaWJsZVZhbHVlcy5tYXAoKHZhbHVlOiBWYWx1ZSkgPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICBrZXk6IHZhbHVlLm9iamVjdFVyaSA/IHZhbHVlLm9iamVjdFVyaSA6IHZhbHVlLmNvZGUhLFxyXG4gICAgICAgICAgbGFiZWw6IHZhbHVlLmRpc3BsYXlWYWx1ZSxcclxuICAgICAgICAgIHR5cGU6IFNtYXJ0Rm9ybVdpZGdldFR5cGUuSVRFTSxcclxuICAgICAgICAgIHZhbHVlOiB2YWx1ZS5vYmplY3RVcmkgPyB2YWx1ZS5vYmplY3RVcmkgOiB2YWx1ZS5jb2RlLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH0pLFxyXG4gICAgICB0b29sYmFySWQsXHJcbiAgICB9O1xyXG5cclxuICAgIHJldHVybiB3aWRnZXQ7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJzbWFydC1maWx0ZXItZWRpdG9yLWNvbnRhaW5lclwiICpuZ0lmPVwic2VydmljZS5tb2RlbFwiPlxyXG4gIDxoMyBjbGFzcz1cInNtYXJ0LWZpbHRlci1lZGl0b3ItdGl0bGVcIj57eyBzZXJ2aWNlLm1vZGVsPy5tb2RlbD8ubGFiZWwgfX08L2gzPlxyXG5cclxuICA8ZGl2ICpuZ0lmPVwic2VydmljZS5tb2RlbD8udHlwZSA9PT0gdHlwZS5TSU1QTEU7IHRoZW4gc2ltcGxlRmlsdGVyOyBlbHNlIGNvbXBsZXhGaWx0ZXJcIj48L2Rpdj5cclxuXHJcbiAgPG5nLXRlbXBsYXRlICNzaW1wbGVGaWx0ZXI+XHJcbiAgICA8ZGl2IGNsYXNzPVwic21hcnQtZmlsdGVyLWVkaXRvci1leHByZXNzaW9uc0NvbnRhaW5lclwiPlxyXG4gICAgICA8bmctdGVtcGxhdGUgI3NpbXBsZUZpbHRlckZyb21DaGlsZD48L25nLXRlbXBsYXRlPlxyXG4gICAgICA8IS0tICNzaW1wbGVGaWx0ZXJGcm9tQ2hpbGQgW3NtYXJ0Rm9ybV09XCJzaW1wbGVGaWx0ZXJGb3JtXCI+PC9zbWFydGZvcm0+IC0tPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuICA8bmctdGVtcGxhdGUgI2NvbXBsZXhGaWx0ZXI+XHJcbiAgICA8ZGl2IGNsYXNzPVwic21hcnQtZmlsdGVyLWVkaXRvci11aUFjdGlvbnNCYXJcIiAqbmdJZj1cIiFzZXJ2aWNlLm1vZGVsPy5yZWFkT25seVwiPlxyXG4gICAgICA8c21hcnQtdWktYWN0aW9uLXRvb2xiYXIgW3VpQWN0aW9uTW9kZWxzXT1cInVpQWN0aW9uTW9kZWxzXCI+PC9zbWFydC11aS1hY3Rpb24tdG9vbGJhcj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdlxyXG4gICAgICAqbmdJZj1cIlxyXG4gICAgICAgIHNlcnZpY2U/Lm1vZGVsPy5tb2RlbD8ud29ya3BsYWNlTGlzdD8uZmlsdGVycz8ubGVuZ3RoO1xyXG4gICAgICAgIHRoZW4gd2l0aFBhcmFtZXRlcnM7XHJcbiAgICAgICAgZWxzZSB3aXRob3V0UGFyYW1ldGVyc1xyXG4gICAgICBcIlxyXG4gICAgPjwvZGl2PlxyXG4gICAgPG5nLXRlbXBsYXRlICN3aXRob3V0UGFyYW1ldGVycz5cclxuICAgICAgPGRpdiBjbGFzcz1cInNtYXJ0LWZpbHRlci1lZGl0b3Itd2l0aG91dFBhcmFtZXRlcnNDb250YWluZXJcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdC1ib2R5XCI+IE3DqWcgbmluY3MgbWVnYWR2YSBwYXJhbcOpdGVyIDwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPG5nLXRlbXBsYXRlICN3aXRoUGFyYW1ldGVycz5cclxuICAgICAgPGRpdiBjbGFzcz1cInNtYXJ0LWZpbHRlci1lZGl0b3Itd2l0aFBhcmFtZXRlcnNDb250YWluZXJcIj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cInNtYXJ0LWZpbHRlci1lZGl0b3ItZXhwcmVzc2lvbnNDb250YWluZXJcIlxyXG4gICAgICAgICAgKm5nSWY9XCJzZXJ2aWNlPy5tb2RlbD8ubW9kZWw/LndvcmtwbGFjZUxpc3Q/LmZpbHRlcnM/Lmxlbmd0aFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGFwcC1leHByZXNzaW9uLWl0ZW1zXHJcbiAgICAgICAgICAgIFtpdGVtc109XCIoc2VydmljZS5tb2RlbD8ubW9kZWw/LndvcmtwbGFjZUxpc3QpIS5maWx0ZXJzXCJcclxuICAgICAgICAgICAgW3NlcnZpY2VdPVwic2VydmljZVwiXHJcbiAgICAgICAgICA+PC9hcHAtZXhwcmVzc2lvbi1pdGVtcz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic21hcnQtZmlsdGVyLWVkaXRvci1leHByZXNzaW9uRWRpdG9yQ29udGFpbmVyXCI+XHJcbiAgICAgICAgICA8IS0tIDxzbWFydGZvcm0gI2Zvcm0gW3NtYXJ0Rm9ybV09XCJzbWFydEZvcm1cIj48L3NtYXJ0Zm9ybT4gLS0+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2Zvcm0+PC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJzbWFydEZvcm1cIj5cclxuICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwicmVtb3ZlKClcIiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIj5Uw7ZybMOpczwvYnV0dG9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L2Rpdj5cclxuIl19
@@ -14752,7 +14752,7 @@ class SmartFilterEditorContentComponent {
14752
14752
  'key',
14753
14753
  'label',
14754
14754
  'type',
14755
- 'value',
14755
+ // 'value', <- value will be set by componentModel.data!
14756
14756
  'showLabel',
14757
14757
  'valueList',
14758
14758
  'toolbarId',