tnx-shared 5.0.57 → 5.0.59

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/bundles/tnx-shared.umd.js +39 -20
  2. package/bundles/tnx-shared.umd.js.map +1 -1
  3. package/bundles/tnx-shared.umd.min.js +1 -1
  4. package/bundles/tnx-shared.umd.min.js.map +1 -1
  5. package/classes/base/data-form-base.d.ts +2 -2
  6. package/classes/base/data-form-base.d.ts.map +1 -1
  7. package/classes/form-schema.d.ts +1 -0
  8. package/classes/form-schema.d.ts.map +1 -1
  9. package/classes/public-function.d.ts +1 -1
  10. package/components/crud/crud-form/crud-form.component.d.ts +2 -2
  11. package/components/entity-picker/entity-picker-dialog/components/entity-picker-data/entity-picker-data.component.d.ts.map +1 -1
  12. package/components/entity-picker/entity-picker-dialog/components/entity-picker-selected/entity-picker-selected.component.d.ts.map +1 -1
  13. package/components/mask/mask.component.d.ts +2 -0
  14. package/components/mask/mask.component.d.ts.map +1 -1
  15. package/esm2015/classes/base/data-form-base.js +5 -5
  16. package/esm2015/classes/form-schema.js +2 -1
  17. package/esm2015/components/crud/crud-form/crud-form.component.js +2 -2
  18. package/esm2015/components/entity-picker/entity-picker-dialog/components/entity-picker-data/entity-picker-data.component.js +9 -6
  19. package/esm2015/components/entity-picker/entity-picker-dialog/components/entity-picker-selected/entity-picker-selected.component.js +9 -6
  20. package/esm2015/components/mask/mask.component.js +8 -4
  21. package/esm2015/services/common.service.js +9 -1
  22. package/fesm2015/tnx-shared.js +37 -18
  23. package/fesm2015/tnx-shared.js.map +1 -1
  24. package/package.json +2 -2
  25. package/services/common.service.d.ts +4 -0
  26. package/services/common.service.d.ts.map +1 -1
  27. package/tnx-shared.metadata.json +1 -1
@@ -102,9 +102,9 @@ export declare abstract class DataFormBase extends ComponentBase implements OnIn
102
102
  private createConfirmIfRequire;
103
103
  private _insert;
104
104
  getPromiseActionInsert(): Promise<ResponseResult>;
105
- handleInsertError(): void;
105
+ handleInsertError(response?: ResponseResult): void;
106
106
  private onUpdate;
107
- handleUpdateError(): void;
107
+ handleUpdateError(response?: ResponseResult): void;
108
108
  getPromiseActionUpdate(): Promise<ResponseResult>;
109
109
  private setDefaultValue;
110
110
  private showMessageAfterInsert;
@@ -1 +1 @@
1
- {"version":3,"file":"data-form-base.d.ts","sourceRoot":"../../../../projects/tnx-shared/src/lib/","sources":["classes/base/data-form-base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-form-base.d.ts","sourceRoot":"../../../../projects/tnx-shared/src/lib/","sources":["classes/base/data-form-base.ts"],"names":[],"mappings":"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"}
@@ -368,6 +368,7 @@ export declare class MaskControlSchema extends TextControlSchema {
368
368
  prefix?: string;
369
369
  suffix?: string;
370
370
  decimalPlaces?: number;
371
+ thousandSeperator?: '.' | ',';
371
372
  constructor(init?: MaskControlSchema);
372
373
  }
373
374
  export declare class NumberRangeControlSchema extends TextControlSchema {
@@ -1 +1 @@
1
- {"version":3,"file":"form-schema.d.ts","sourceRoot":"../../../../projects/tnx-shared/src/lib/","sources":["classes/form-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"form-schema.d.ts","sourceRoot":"../../../../projects/tnx-shared/src/lib/","sources":["classes/form-schema.ts"],"names":[],"mappings":"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"}
@@ -43,7 +43,7 @@ export declare class PublicFunction {
43
43
  static getSignalrConfig(environment: any): import("ng2-signalr").SignalRConfiguration;
44
44
  static registerLocaleData(locale?: any, language?: any): void;
45
45
  static importRootModule(environment: any): (typeof FormsModule | typeof BrowserModule | import("@angular/core").ModuleWithProviders<TranslateModule>)[];
46
- static useRootProvider(enviromment: any): (typeof DecimalPipe | typeof DatePipe | typeof ConfirmationService | typeof MessageService | typeof TranslateService | typeof NotifierService | typeof EntityWorkflowHistoryService | typeof EntityWorkflowSettingService | typeof EntityPermissionService | typeof SafeHtmlPipe | typeof UserFormatPipe | typeof UsersFormatPipe | typeof HtmlFormatPipe | typeof MasterDataPipe | typeof OrganizationFormatPipe | typeof OrganizationsFormatPipe | {
46
+ static useRootProvider(enviromment: any): (typeof DatePipe | typeof DecimalPipe | typeof ConfirmationService | typeof MessageService | typeof TranslateService | typeof NotifierService | typeof EntityWorkflowHistoryService | typeof EntityWorkflowSettingService | typeof EntityPermissionService | typeof SafeHtmlPipe | typeof UserFormatPipe | typeof UsersFormatPipe | typeof HtmlFormatPipe | typeof MasterDataPipe | typeof OrganizationFormatPipe | typeof OrganizationsFormatPipe | {
47
47
  provide: import("@angular/core").InjectionToken<import("@angular/common/http").HttpInterceptor[]>;
48
48
  useClass: typeof SendAccessTokenInterceptor;
49
49
  multi: boolean;
@@ -115,8 +115,8 @@ export declare class CrudFormComponent extends ComponentBase implements OnInit,
115
115
  triggerChange(fieldPath: any): void;
116
116
  ngAfterViewInit(): void;
117
117
  setIsLoadedDataEdit(value: boolean): void;
118
- getControlType(control: any): "custom" | "address" | "button" | "label" | "table" | "template" | "textarea" | "title" | "mask" | "switch" | "text" | "autocomplete" | "dropdown" | "datetime" | "money" | "container" | "autocomplete-picker" | "entity-picker" | "spanControl" | "numberrange" | "phoneOrfax" | "datetimerange" | "editor" | "common-picker" | "user-picker" | "organization-picker" | "cocautochuc-picker" | "cocautochuc" | "checkbox" | "checkboxlist" | "radiobuttonlist" | "fileUpload" | "serviceFileUpload" | "fileManager" | "colorPicker" | "colorControl" | "vanban" | "congviec";
119
- getViewModeDataType(control: any): "user" | "address" | "html" | "label" | "table" | "title" | "mask" | "string" | "date" | "boolean" | "datetime" | "money" | "container" | "fileUpload" | "fileManager" | "colorPicker" | "colorControl" | "hasDataSource" | "fileServiceUpload" | "app-key-value";
118
+ getControlType(control: any): "custom" | "address" | "button" | "label" | "table" | "template" | "textarea" | "title" | "mask" | "switch" | "text" | "datetime" | "money" | "container" | "autocomplete-picker" | "entity-picker" | "spanControl" | "numberrange" | "phoneOrfax" | "datetimerange" | "dropdown" | "editor" | "common-picker" | "user-picker" | "organization-picker" | "cocautochuc-picker" | "cocautochuc" | "autocomplete" | "checkbox" | "checkboxlist" | "radiobuttonlist" | "fileUpload" | "serviceFileUpload" | "fileManager" | "colorPicker" | "colorControl" | "vanban" | "congviec";
119
+ getViewModeDataType(control: any): "user" | "address" | "html" | "label" | "table" | "title" | "mask" | "string" | "boolean" | "date" | "datetime" | "money" | "container" | "fileUpload" | "fileManager" | "colorPicker" | "colorControl" | "hasDataSource" | "fileServiceUpload" | "app-key-value";
120
120
  validateForm(): Promise<boolean>;
121
121
  private validateModel;
122
122
  validateFormControl(fieldPath: any): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"entity-picker-data.component.d.ts","sourceRoot":"../../../../projects/tnx-shared/src/lib/","sources":["components/entity-picker/entity-picker-dialog/components/entity-picker-data/entity-picker-data.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,YAAY,EAAE,QAAQ,EAAS,MAAM,EAAU,MAAM,eAAe,CAAC;AACzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAG5D,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAC1E,OAAO,EAAoB,eAAe,EAAE,yBAAyB,EAAwB,MAAM,oCAAoC,CAAC;AACxI,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAQ,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAGtE,qBAMa,yBAA0B,SAAQ,YAAa,YAAW,MAAM;IAsBrE,SAAS,CAAC,iBAAiB,EAAE,gBAAgB;IACtC,sBAAsB,EAAE,qBAAqB;IAtB/C,aAAa,EAAE,eAAe,CAAC;IAC/B,WAAW,EAAE,uBAAuB,CAAC;IACrC,OAAO,EAAE,yBAAyB,CAAC;IAC5C,cAAc,EAAE,GAAG,CAAC;IACpB,MAAM,EAAE,GAAG,CAAC;IACZ,IAAa,aAAa,CAAC,KAAK,EAAE,GAAG,EAIpC;IACQ,iBAAiB,UAAS;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAC;IAEjB,aAAa,EAAE,YAAY,CAAC,GAAG,CAAC,CAAsB;IACtD,WAAW,EAAE,YAAY,CAAC,GAAG,CAAC,CAAsB;IACpD,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,CAAsB;IAC/C,SAAS,EAAE,YAAY,CAAC,GAAG,EAAE,CAAC,CAAsB;IACpD,cAAc,EAAE,YAAY,CAAC,GAAG,EAAE,CAAC,CAAsB;gBAG/D,SAAS,EAAE,QAAQ,EACT,iBAAiB,EAAE,gBAAgB,EACtC,sBAAsB,EAAE,qBAAqB;IAKxD,QAAQ;IAoDR,QAAQ;IAcR,eAAe,CAAC,KAAK,KAAA;IAIrB,UAAU,CAAC,IAAI,KAAA;IAIf,OAAO;IAIP,YAAY,CAAC,IAAI,KAAA;IAIX,cAAc,CAAC,QAAQ,EAAE,QAAQ;IA8CjC,sBAAsB,CAAC,IAAI,KAAA;IAM3B,YAAY;IAMlB,MAAM;IAGN,oBAAoB,CAAC,MAAM,KAAA;IAG3B,kBAAkB,CAAC,MAAM,KAAA;IAGzB,mBAAmB;IAGnB,WAAW,CAAC,GAAG,KAAA;CAElB"}
1
+ {"version":3,"file":"entity-picker-data.component.d.ts","sourceRoot":"../../../../projects/tnx-shared/src/lib/","sources":["components/entity-picker/entity-picker-dialog/components/entity-picker-data/entity-picker-data.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,YAAY,EAAE,QAAQ,EAAS,MAAM,EAAU,MAAM,eAAe,CAAC;AACzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAG5D,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAC1E,OAAO,EAAoB,eAAe,EAAE,yBAAyB,EAAwB,MAAM,oCAAoC,CAAC;AACxI,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAQ,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAGtE,qBAMa,yBAA0B,SAAQ,YAAa,YAAW,MAAM;IAsBrE,SAAS,CAAC,iBAAiB,EAAE,gBAAgB;IACtC,sBAAsB,EAAE,qBAAqB;IAtB/C,aAAa,EAAE,eAAe,CAAC;IAC/B,WAAW,EAAE,uBAAuB,CAAC;IACrC,OAAO,EAAE,yBAAyB,CAAC;IAC5C,cAAc,EAAE,GAAG,CAAC;IACpB,MAAM,EAAE,GAAG,CAAC;IACZ,IAAa,aAAa,CAAC,KAAK,EAAE,GAAG,EAIpC;IACQ,iBAAiB,UAAS;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAC;IAEjB,aAAa,EAAE,YAAY,CAAC,GAAG,CAAC,CAAsB;IACtD,WAAW,EAAE,YAAY,CAAC,GAAG,CAAC,CAAsB;IACpD,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,CAAsB;IAC/C,SAAS,EAAE,YAAY,CAAC,GAAG,EAAE,CAAC,CAAsB;IACpD,cAAc,EAAE,YAAY,CAAC,GAAG,EAAE,CAAC,CAAsB;gBAG/D,SAAS,EAAE,QAAQ,EACT,iBAAiB,EAAE,gBAAgB,EACtC,sBAAsB,EAAE,qBAAqB;IAKxD,QAAQ;IAoDR,QAAQ;IAcR,eAAe,CAAC,KAAK,KAAA;IAIrB,UAAU,CAAC,IAAI,KAAA;IAIf,OAAO;IAIP,YAAY,CAAC,IAAI,KAAA;IAIX,cAAc,CAAC,QAAQ,EAAE,QAAQ;IAiDjC,sBAAsB,CAAC,IAAI,KAAA;IAM3B,YAAY;IAMlB,MAAM;IAGN,oBAAoB,CAAC,MAAM,KAAA;IAG3B,kBAAkB,CAAC,MAAM,KAAA;IAGzB,mBAAmB;IAGnB,WAAW,CAAC,GAAG,KAAA;CAElB"}
@@ -1 +1 @@
1
- {"version":3,"file":"entity-picker-selected.component.d.ts","sourceRoot":"../../../../projects/tnx-shared/src/lib/","sources":["components/entity-picker/entity-picker-dialog/components/entity-picker-selected/entity-picker-selected.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,YAAY,EAAE,QAAQ,EAAS,MAAM,EAAU,MAAM,eAAe,CAAC;AACzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAC1E,OAAO,EAAoB,eAAe,EAAE,yBAAyB,EAAwB,MAAM,oCAAoC,CAAC;AACxI,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAGtE,qBAOa,6BAA8B,SAAQ,YAAa,YAAW,MAAM;IAkBzE,SAAS,CAAC,iBAAiB,EAAE,gBAAgB;IAjBxC,aAAa,EAAE,eAAe,CAAC;IAC/B,WAAW,EAAE,uBAAuB,CAAC;IACrC,OAAO,EAAE,yBAAyB,CAAC;IAC5C,cAAc,EAAE,GAAG,CAAC;IACpB,MAAM,EAAE,GAAG,CAAC;IACZ,IAAa,aAAa,CAAC,KAAK,EAAE,GAAG,EAIpC;IAES,aAAa,EAAE,YAAY,CAAC,GAAG,CAAC,CAAsB;IACtD,QAAQ,EAAE,YAAY,CAAC,GAAG,CAAC,CAAsB;IACjD,WAAW,EAAE,YAAY,CAAC,GAAG,EAAE,CAAC,CAAsB;IACtD,gBAAgB,EAAE,YAAY,CAAC,GAAG,EAAE,CAAC,CAAsB;gBAGvD,iBAAiB,EAAE,gBAAgB,EAC7C,SAAS,EAAE,QAAQ;IAMvB,QAAQ;IAmDR,QAAQ;IAcF,cAAc,CAAC,QAAQ,EAAE,QAAQ;IA2CvC,YAAY,CAAC,IAAI,KAAA;IAIjB,SAAS;IAIT,cAAc,CAAC,IAAI,KAAA;IAIb,sBAAsB,CAAC,IAAI,KAAA;IAM3B,YAAY;IAKlB,MAAM;IAGN,oBAAoB,CAAC,MAAM,KAAA;IAG3B,kBAAkB,CAAC,MAAM,KAAA;IAGzB,mBAAmB;IAGnB,WAAW,CAAC,GAAG,KAAA;CAElB"}
1
+ {"version":3,"file":"entity-picker-selected.component.d.ts","sourceRoot":"../../../../projects/tnx-shared/src/lib/","sources":["components/entity-picker/entity-picker-dialog/components/entity-picker-selected/entity-picker-selected.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,YAAY,EAAE,QAAQ,EAAS,MAAM,EAAU,MAAM,eAAe,CAAC;AACzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAC1E,OAAO,EAAoB,eAAe,EAAE,yBAAyB,EAAwB,MAAM,oCAAoC,CAAC;AACxI,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAGtE,qBAOa,6BAA8B,SAAQ,YAAa,YAAW,MAAM;IAkBzE,SAAS,CAAC,iBAAiB,EAAE,gBAAgB;IAjBxC,aAAa,EAAE,eAAe,CAAC;IAC/B,WAAW,EAAE,uBAAuB,CAAC;IACrC,OAAO,EAAE,yBAAyB,CAAC;IAC5C,cAAc,EAAE,GAAG,CAAC;IACpB,MAAM,EAAE,GAAG,CAAC;IACZ,IAAa,aAAa,CAAC,KAAK,EAAE,GAAG,EAIpC;IAES,aAAa,EAAE,YAAY,CAAC,GAAG,CAAC,CAAsB;IACtD,QAAQ,EAAE,YAAY,CAAC,GAAG,CAAC,CAAsB;IACjD,WAAW,EAAE,YAAY,CAAC,GAAG,EAAE,CAAC,CAAsB;IACtD,gBAAgB,EAAE,YAAY,CAAC,GAAG,EAAE,CAAC,CAAsB;gBAGvD,iBAAiB,EAAE,gBAAgB,EAC7C,SAAS,EAAE,QAAQ;IAMvB,QAAQ;IAmDR,QAAQ;IAcF,cAAc,CAAC,QAAQ,EAAE,QAAQ;IA8CvC,YAAY,CAAC,IAAI,KAAA;IAIjB,SAAS;IAIT,cAAc,CAAC,IAAI,KAAA;IAIb,sBAAsB,CAAC,IAAI,KAAA;IAM3B,YAAY;IAKlB,MAAM;IAGN,oBAAoB,CAAC,MAAM,KAAA;IAG3B,kBAAkB,CAAC,MAAM,KAAA;IAGzB,mBAAmB;IAGnB,WAAW,CAAC,GAAG,KAAA;CAElB"}
@@ -16,11 +16,13 @@ export declare class MaskComponent implements OnInit, ControlValueAccessor {
16
16
  decimalPlaces: number;
17
17
  viewMode: boolean;
18
18
  inputStyleClass: string;
19
+ thousandSeperator: string;
19
20
  onFocus: EventEmitter<any>;
20
21
  onBlur: EventEmitter<any>;
21
22
  onChanged: EventEmitter<any>;
22
23
  model: any;
23
24
  value: Number;
25
+ locale: string;
24
26
  constructor(_numberPipe: DecimalPipe);
25
27
  ngOnInit(): void;
26
28
  writeValue(obj: any): void;
@@ -1 +1 @@
1
- {"version":3,"file":"mask.component.d.ts","sourceRoot":"../../../../projects/tnx-shared/src/lib/","sources":["components/mask/mask.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAa,YAAY,EAAqB,MAAM,EAAU,MAAM,eAAe,CAAC;AAC3F,OAAO,EAAE,oBAAoB,EAAqB,MAAM,gBAAgB,CAAC;AAEzE,qBAaa,aAAc,YAAW,MAAM,EAAE,oBAAoB;IA6B1D,OAAO,CAAC,WAAW;IA3BvB,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,QAAQ,CAAC;IAEX,QAAQ,EAAE,SAAS,GAAG,KAAK,CAAa;IACjD,YAAY,EAAE,MAAM,CAAM;IAC1B,IAAa,WAAW,CAAC,KAAK,EAAE,MAAM,EAIrC;IACQ,QAAQ,EAAE,OAAO,CAAQ;IACzB,MAAM,SAAM;IACZ,MAAM,SAAM;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,SAAK;IAClB,QAAQ,UAAS;IACjB,eAAe,SAAM;IAEpB,OAAO,oBAA2B;IAClC,MAAM,oBAA2B;IACjC,SAAS,oBAA2B;IAE9C,KAAK,EAAE,GAAG,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;gBAGF,WAAW,EAAE,WAAW;IAGpC,QAAQ;IAGR,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;IAc1B,aAAa,CAAC,QAAQ,KAAA;IAMtB,oBAAoB;IAIpB,WAAW;IAIX,UAAU;IAIV,kBAAkB;IAMlB,iBAAiB;IAoBjB,gBAAgB,CAAC,MAAM,KAAA;IAIvB,gBAAgB,CAAC,EAAE,EAAE,GAAG,GAAG,IAAI;IAG/B,iBAAiB,CAAC,EAAE,EAAE,GAAG,GAAG,IAAI;IAGhC,gBAAgB,CAAC,CAAC,UAAU,EAAE,OAAO,GAAG,IAAI;CAM/C"}
1
+ {"version":3,"file":"mask.component.d.ts","sourceRoot":"../../../../projects/tnx-shared/src/lib/","sources":["components/mask/mask.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAa,YAAY,EAAqB,MAAM,EAAU,MAAM,eAAe,CAAC;AAC3F,OAAO,EAAE,oBAAoB,EAAqB,MAAM,gBAAgB,CAAC;AAEzE,qBAaa,aAAc,YAAW,MAAM,EAAE,oBAAoB;IA8B1D,OAAO,CAAC,WAAW;IA7BvB,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,QAAQ,CAAC;IAEX,QAAQ,EAAE,SAAS,GAAG,KAAK,CAAa;IACjD,YAAY,EAAE,MAAM,CAAM;IAC1B,IAAa,WAAW,CAAC,KAAK,EAAE,MAAM,EAIrC;IACQ,QAAQ,EAAE,OAAO,CAAQ;IACzB,MAAM,SAAM;IACZ,MAAM,SAAM;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,SAAK;IAClB,QAAQ,UAAS;IACjB,eAAe,SAAM;IACrB,iBAAiB,SAAO;IAEvB,OAAO,oBAA2B;IAClC,MAAM,oBAA2B;IACjC,SAAS,oBAA2B;IAE9C,KAAK,EAAE,GAAG,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,SAAW;gBAGL,WAAW,EAAE,WAAW;IAGpC,QAAQ;IAIR,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;IAc1B,aAAa,CAAC,QAAQ,KAAA;IAMtB,oBAAoB;IAIpB,WAAW;IAIX,UAAU;IAIV,kBAAkB;IAMlB,iBAAiB;IAoBjB,gBAAgB,CAAC,MAAM,KAAA;IAIvB,gBAAgB,CAAC,EAAE,EAAE,GAAG,GAAG,IAAI;IAG/B,iBAAiB,CAAC,EAAE,EAAE,GAAG,GAAG,IAAI;IAGhC,gBAAgB,CAAC,CAAC,UAAU,EAAE,OAAO,GAAG,IAAI;CAM/C"}
@@ -415,7 +415,7 @@ export class DataFormBase extends ComponentBase {
415
415
  this.onSaved.emit();
416
416
  }
417
417
  else {
418
- this.handleInsertError();
418
+ this.handleInsertError(response);
419
419
  }
420
420
  }), error => {
421
421
  if (!error.error.success && error.error.errorCheckExist) {
@@ -430,7 +430,7 @@ export class DataFormBase extends ComponentBase {
430
430
  getPromiseActionInsert() {
431
431
  return this.setting.baseService.post(this.model.data, this.insertPlusUrl);
432
432
  }
433
- handleInsertError() {
433
+ handleInsertError(response) {
434
434
  }
435
435
  onUpdate() {
436
436
  return __awaiter(this, void 0, void 0, function* () {
@@ -444,7 +444,7 @@ export class DataFormBase extends ComponentBase {
444
444
  this.onSaved.emit();
445
445
  }
446
446
  else {
447
- this.handleUpdateError();
447
+ this.handleUpdateError(response);
448
448
  }
449
449
  }), error => {
450
450
  if (!error.error.success && error.error.errorCheckExist) {
@@ -456,7 +456,7 @@ export class DataFormBase extends ComponentBase {
456
456
  });
457
457
  });
458
458
  }
459
- handleUpdateError() {
459
+ handleUpdateError(response) {
460
460
  }
461
461
  getPromiseActionUpdate() {
462
462
  return this.setting.baseService.put(this.model.data.id.toString(), this.model.data, this.updatePlusUrl);
@@ -560,4 +560,4 @@ DataFormBase.propDecorators = {
560
560
  onFormReady: [{ type: Output }],
561
561
  onDataBinded: [{ type: Output }]
562
562
  };
563
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1mb3JtLWJhc2UuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vcHJvamVjdHMvdG54LXNoYXJlZC9zcmMvbGliLyIsInNvdXJjZXMiOlsiY2xhc3Nlcy9iYXNlL2RhdGEtZm9ybS1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEksT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDeEYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVoRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7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QUFNLEVBQUUsSUFBSSxFQUFFOzRCQUU1QyxLQUFLO29CQUNMLEtBQUs7cUJBRUwsTUFBTTtzQkFDTixNQUFNO3VCQUNOLE1BQU07d0JBQ04sTUFBTTswQkFDTixNQUFNOzJCQUNOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5qZWN0b3IsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IEZpbGVVcGxvYWQgfSBmcm9tICd0bi1jdXN0b20tcHJpbWVuZy9maWxldXBsb2FkJztcclxuaW1wb3J0IHsgQ3J1ZEZvcm1Db21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2NydWQvY3J1ZC1mb3JtL2NydWQtZm9ybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDT05GSUdfQ0FMRU5EQVJfVklFVE5BTUVTRSB9IGZyb20gJy4uLy4uL2NvbmZpZ3MvY2FsZW5kYXIuY29uZmlnJztcclxuaW1wb3J0IHsgQ29tQ3R4Q29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vY29uZmlncy9jb21wb25lbnQtY29udGV4dC5jb25zdGFudCc7XHJcbmltcG9ydCB7IEZpbHRlciB9IGZyb20gJy4uLy4uL21vZGVscy9ncmlkLWluZm8nO1xyXG5pbXBvcnQgeyBSZXNwb25zZVJlc3VsdCB9IGZyb20gJy4uLy4uL21vZGVscy9yZXNwb25zZS1yZXN1bHQnO1xyXG5pbXBvcnQgeyBDb21tb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29tbW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDcnVkU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NydWQuc2VydmljZSc7XHJcbmltcG9ydCB7IEN1c3RvbVJvdXRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jdXN0b20tcm91dGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEb21TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZG9tLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBFbnRpdHlNZXRhZGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9lbnRpdHktbWV0YWRhdGEuc2VydmljZSc7XHJcbmltcG9ydCB7IE1hc3RlckRhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWFzdGVyLWRhdGEuc2VydmljZSc7XHJcbmltcG9ydCB7IE5vdGlmaWVyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL25vdGlmaWVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVc2VyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3VzZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IEZvcm1TdGF0ZSwgS2V5Rmxhc2hTaG93IH0gZnJvbSAnLi4vY29uc3RhbnRzJztcclxuaW1wb3J0IHsgaXNMaXRlcmFsT2JqZWN0LCBpc1ZhbGlkRGF0ZSB9IGZyb20gJy4uL2Vudmlyb25tZW50LXNjaGVtYSc7XHJcbmltcG9ydCB7IENvbnRhaW5lclNjaGVtYSwgQ3J1ZEZvcm1EYXRhLCBDcnVkRm9ybVNldHRpbmcsIENydWRMaXN0U2V0dGluZywgRGF0ZVRpbWVDb250cm9sU2NoZW1hLCBFdmVudERhdGEsIEZvcm1Db250cm9sQmFzZSwgT3BlcmF0b3IsIFN3aXRjaENvbnRyb2xTY2hlbWEsIFRhYmxlU2NoZW1hIH0gZnJvbSAnLi4vZm9ybS1zY2hlbWEnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRCYXNlIH0gZnJvbSAnLi9jb21wb25lbnQtYmFzZSc7XHJcbmltcG9ydCB7IFJlcXVpcmVkVmFsaWRhdG9yIH0gZnJvbSAnLi92YWxpZGF0b3JzJztcclxuXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGF0YUZvcm1CYXNlIGV4dGVuZHMgQ29tcG9uZW50QmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHJcbiAgICBAVmlld0NoaWxkKENydWRGb3JtQ29tcG9uZW50LCB7IHN0YXRpYzogZmFsc2UgfSkgY3J1ZEZvcm06IENydWRGb3JtQ29tcG9uZW50O1xyXG4gICAgQFZpZXdDaGlsZCgnZm9ybUVsZW1lbnQnLCB7IHN0YXRpYzogdHJ1ZSB9KSBmb3JtRWxlbWVudDogRWxlbWVudFJlZjtcclxuICAgIEBWaWV3Q2hpbGQoJ3BVcGxvYWQnLCB7IHN0YXRpYzogdHJ1ZSB9KSBwVXBsb2FkOiBGaWxlVXBsb2FkO1xyXG4gICAgQFZpZXdDaGlsZCgnYnV0dG9uVGVtcGxhdGUnLCB7IHN0YXRpYzogdHJ1ZSB9KSBidXR0b25UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgICBASW5wdXQoKSBwYXJlbnRTZXR0aW5nOiBDcnVkTGlzdFNldHRpbmc7XHJcbiAgICBASW5wdXQoKSBtb2RlbDogQ3J1ZEZvcm1EYXRhID0gbmV3IENydWRGb3JtRGF0YSgpO1xyXG5cclxuICAgIEBPdXRwdXQoKSBvblNhdmU6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgICBAT3V0cHV0KCkgb25TYXZlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgIEBPdXRwdXQoKSBvbkNhbmNlbDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgIEBPdXRwdXQoKSBvbk1lc3NhZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgICBAT3V0cHV0KCkgb25Gb3JtUmVhZHk6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgICBAT3V0cHV0KCkgb25EYXRhQmluZGVkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICAgIGRvTm90Q2hlY2tCYXNlU2VydmljZSA9IGZhbHNlO1xyXG4gICAgcHJpdmF0ZSBub3RDb25maWdCYXNlU2VydmljZU1lc3NhZ2UgPSAnQ2jGsGEgY+G6pXUgaMOsbmggQ1JVRCBiYXNlIHNlcnZpY2UnO1xyXG4gICAgbWVzc2FnZUluc2VydFN1Y2Nlc3MgPSAnJztcclxuICAgIG1lc3NhZ2VVcGRhdGVTdWNjZXNzID0gJyc7XHJcbiAgICBzZXR0aW5nOiBDcnVkRm9ybVNldHRpbmcgPSBuZXcgQ3J1ZEZvcm1TZXR0aW5nKCk7XHJcblxyXG4gICAgdmkgPSBDT05GSUdfQ0FMRU5EQVJfVklFVE5BTUVTRTtcclxuXHJcbiAgICB1c2VBdXRvQ2hlY2tWYWxpZCA9IGZhbHNlO1xyXG5cclxuICAgIGZvcm1Db250cm9sczogYW55O1xyXG4gICAgZm9ybUNvbnRyb2xzTGlzdCA9IHt9O1xyXG5cclxuICAgIGF1dG9HZXREZXRhaWwgPSB0cnVlO1xyXG4gICAgYXV0b1NhdmUgPSB0cnVlO1xyXG4gICAgbWVzc2FnZUNvbmZpcm1TYXZlOiBzdHJpbmc7XHJcbiAgICBzYXZpbmcgPSBmYWxzZTtcclxuICAgIHBsdXNVcmw6IHN0cmluZyA9ICcnO1xyXG4gICAgaW5zZXJ0UGx1c1VybCA9IG51bGw7XHJcbiAgICB1cGRhdGVQbHVzVXJsID0gbnVsbDtcclxuICAgIHB1YmxpYyBfX2lzRm9ybVZpZXc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBwdWJsaWMgX25vdGlmaWVyU2VydmljZTogTm90aWZpZXJTZXJ2aWNlO1xyXG4gICAgcHVibGljIF9tYXN0ZXJEYXRhU2VydmljZTogTWFzdGVyRGF0YVNlcnZpY2U7XHJcbiAgICBwdWJsaWMgX3JvdXRlcjogUm91dGVyO1xyXG4gICAgcHVibGljIF9hY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGU7XHJcbiAgICBwdWJsaWMgX3RyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2U7XHJcbiAgICBwdWJsaWMgX2N1c3RvbVJvdXRlclNlcnZpY2U6IEN1c3RvbVJvdXRlclNlcnZpY2U7XHJcbiAgICBwdWJsaWMgX2NydWRTZXJ2aWNlOiBDcnVkU2VydmljZTtcclxuICAgIHB1YmxpYyBfZG9tU2VydmljZTogRG9tU2VydmljZTtcclxuICAgIHB1YmxpYyBfZW50aXR5TWV0YWRhdGFTZXJ2aWNlOiBFbnRpdHlNZXRhZGF0YVNlcnZpY2U7XHJcbiAgICBwdWJsaWMgX3VzZXJTZXJ2aWNlOiBVc2VyU2VydmljZTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBfaW5qZWN0b3I6IEluamVjdG9yXHJcblxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoX2luamVjdG9yKTtcclxuICAgICAgICB0aGlzLl9ub3RpZmllclNlcnZpY2UgPSB0aGlzLl9pbmplY3Rvci5nZXQoTm90aWZpZXJTZXJ2aWNlKTtcclxuICAgICAgICB0aGlzLl9tYXN0ZXJEYXRhU2VydmljZSA9IHRoaXMuX2luamVjdG9yLmdldChNYXN0ZXJEYXRhU2VydmljZSk7XHJcbiAgICAgICAgdGhpcy5fcm91dGVyID0gdGhpcy5faW5qZWN0b3IuZ2V0KFJvdXRlcik7XHJcbiAgICAgICAgdGhpcy5fYWN0aXZhdGVkUm91dGUgPSB0aGlzLl9pbmplY3Rvci5nZXQoQWN0aXZhdGVkUm91dGUpO1xyXG4gICAgICAgIHRoaXMuX3RyYW5zbGF0ZVNlcnZpY2UgPSB0aGlzLl9pbmplY3Rvci5nZXQoVHJhbnNsYXRlU2VydmljZSk7XHJcbiAgICAgICAgdGhpcy5fY3VzdG9tUm91dGVyU2VydmljZSA9IHRoaXMuX2luamVjdG9yLmdldChDdXN0b21Sb3V0ZXJTZXJ2aWNlKTtcclxuICAgICAgICB0aGlzLl9jcnVkU2VydmljZSA9IHRoaXMuX2luamVjdG9yLmdldChDcnVkU2VydmljZSk7XHJcbiAgICAgICAgdGhpcy5fZG9tU2VydmljZSA9IHRoaXMuX2luamVjdG9yLmdldChEb21TZXJ2aWNlKTtcclxuICAgICAgICB0aGlzLl9lbnRpdHlNZXRhZGF0YVNlcnZpY2UgPSB0aGlzLl9pbmplY3Rvci5nZXQoRW50aXR5TWV0YWRhdGFTZXJ2aWNlKTtcclxuICAgICAgICB0aGlzLl91c2VyU2VydmljZSA9IHRoaXMuX2luamVjdG9yLmdldChVc2VyU2VydmljZSk7XHJcbiAgICAgICAgdGhpcy5fY29tbW9uU2VydmljZSA9IHRoaXMuX2luamVjdG9yLmdldChDb21tb25TZXJ2aWNlKTtcclxuICAgICAgICB0aGlzLm1lc3NhZ2VJbnNlcnRTdWNjZXNzID0gdGhpcy5fdHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdNRVNTQUdFLklOU0VSVF9EQVRBX1NVQ0NFU1MnKTtcclxuICAgICAgICB0aGlzLm1lc3NhZ2VVcGRhdGVTdWNjZXNzID0gdGhpcy5fdHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdNRVNTQUdFLlVQREFURV9EQVRBX1NVQ0NFU1MnKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICB0aGlzLl9faXNGb3JtVmlldyA9IHRoaXMuX2lzRm9ybVZpZXcoKTtcclxuICAgIH1cclxuXHJcbiAgICBhZGRTY2hlbWFCYXNlKCkge1xyXG4gICAgICAgIGlmICh0aGlzLl91c2VyU2VydmljZS5pc1N1cGVyVXNlcigpXHJcbiAgICAgICAgICAgICYmIHRoaXMubW9kZWxcclxuICAgICAgICAgICAgJiYgdGhpcy5tb2RlbC5kYXRhLmhhc0J1aWxkSW5cclxuICAgICAgICAgICAgJiYgdGhpcy5zZXR0aW5nLnNjaGVtYVxyXG4gICAgICAgICAgICAmJiB0aGlzLnNldHRpbmcuc2NoZW1hLmxlbmd0aCA+IDBcclxuICAgICAgICApIHtcclxuICAgICAgICAgICAgdGhpcy5zZXR0aW5nLnNjaGVtYS5wdXNoKFxyXG4gICAgICAgICAgICAgICAgbmV3IFN3aXRjaENvbnRyb2xTY2hlbWEoe1xyXG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiAnaXNCdWlsZEluJyxcclxuICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0tow7NhIG3DoycsXHJcbiAgICAgICAgICAgICAgICAgICAgbWRXaWR0aDogNFxyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgdGhpcy5zZXR0aW5nLnNjaGVtYS5wdXNoKFxyXG4gICAgICAgICAgICAgICAgbmV3IFN3aXRjaENvbnRyb2xTY2hlbWEoe1xyXG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiAnaXNCdWlsZEluQWxsJyxcclxuICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0tow7NhIGLhuqNuIGdoaScsXHJcbiAgICAgICAgICAgICAgICAgICAgbWRXaWR0aDogNFxyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc2V0V29ya2Zsb3dEYXRhc291cmNlKGV2dDogRXZlbnREYXRhLCB3b3JrZmxvd1NldHRpbmcpIHtcclxuICAgICAgICBldnQuZm9ybUNvbnRyb2xzWydfV29ya2Zsb3dDb2RlJ10uZGF0YVNvdXJjZSA9IHdvcmtmbG93U2V0dGluZy53b3JrZmxvd3M7XHJcbiAgICAgICAgaWYgKCFldnQucm9vdE1vZGVsLl9Xb3JrZmxvd0NvZGUpIHtcclxuICAgICAgICAgICAgZXZ0LnJvb3RNb2RlbC5fV29ya2Zsb3dDb2RlID0gd29ya2Zsb3dTZXR0aW5nLndvcmtmbG93Q29kZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoIXdvcmtmbG93U2V0dGluZy53b3JrZmxvd3Muc29tZSh4ID0+IHguY29kZSA9PSBldnQucm9vdE1vZGVsLl9Xb3JrZmxvd0NvZGUpKSB7XHJcbiAgICAgICAgICAgIGV2dC5yb290TW9kZWwuX1dvcmtmbG93Q29kZSA9IHdvcmtmbG93U2V0dGluZy53b3JrZmxvd0NvZGU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIF9oYW5kbGVGb3JtUmVhZHkoZm9ybUV2ZW50OiBFdmVudERhdGEpIHtcclxuICAgICAgICBhd2FpdCB0aGlzLl9faGFuZGxlRm9ybVJlYWR5KGZvcm1FdmVudCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBhc3luYyBfX2hhbmRsZUZvcm1SZWFkeShmb3JtRXZlbnQ6IEV2ZW50RGF0YSkge1xyXG4gICAgICAgIGlmICghdGhpcy5kb05vdENoZWNrQmFzZVNlcnZpY2UgJiYgIXRoaXMuc2V0dGluZy5iYXNlU2VydmljZSkge1xyXG4gICAgICAgICAgICB0aGlzLl9ub3RpZmllclNlcnZpY2Uuc2hvd1dhcm5pbmcodGhpcy5ub3RDb25maWdCYXNlU2VydmljZU1lc3NhZ2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmZvcm1Db250cm9scyA9IGZvcm1FdmVudC5mb3JtQ29udHJvbHM7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5vbkZvcm1Jbml0aWFsaXplZChmb3JtRXZlbnQpO1xyXG4gICAgICAgIHRoaXMub25Gb3JtUmVhZHkuZW1pdCh7XHJcbiAgICAgICAgICAgIGVsZW1lbnQ6IHRoaXMsXHJcbiAgICAgICAgICAgIHNldHRpbmc6IHRoaXMuc2V0dGluZyxcclxuICAgICAgICAgICAgZm9ybUV2ZW50XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5fdHJpZ2dlckdldERldGFpbCgpO1xyXG4gICAgfVxyXG5cclxuICAgIF90cmlnZ2VyR2V0RGV0YWlsKCkge1xyXG4gICAgICAgIGlmICh0aGlzLmF1dG9HZXREZXRhaWwpIHtcclxuICAgICAgICAgICAgdGhpcy5nZXREZXRhaWwoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuY3J1ZEZvcm0uaW5pdENvbnRyb2xEZWZhdWx0VmFsdWVGcm9tRXh0ZXJuYWwoKTtcclxuICAgICAgICAgICAgdGhpcy5jcnVkRm9ybS5maXJlTW9kZWxDaGFuZ2VkKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIG9uQmVmb3JlR2V0RGV0YWlsKCkge1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBnZXRPYmplY3REZXRhaWwoKTogUHJvbWlzZTxSZXNwb25zZVJlc3VsdD4ge1xyXG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLnNldHRpbmcuYmFzZVNlcnZpY2UuZ2V0RGV0YWlsKHRoaXMubW9kZWwuZGF0YS5pZCwgdGhpcy5wbHVzVXJsKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBnZXREZXRhaWxDdXN0b20oKTogUHJvbWlzZTxSZXNwb25zZVJlc3VsdD4ge1xyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgYXN5bmMgZ2V0RGV0YWlsKCkge1xyXG4gICAgICAgIGNvbnN0IHJlc3VsdENoZWNrID0gYXdhaXQgdGhpcy5nZXREZXRhaWxDdXN0b20oKTtcclxuICAgICAgICAvLyBLaMO0bmcgb3ZlcnJpZGVcclxuICAgICAgICBpZiAocmVzdWx0Q2hlY2sgPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBpZiAoIXRoaXMuX2lzRm9ybUFkZE5ldygpKSB7XHJcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLm9uQmVmb3JlR2V0RGV0YWlsKCk7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jcnVkRm9ybSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY3J1ZEZvcm0uc2V0SXNMb2FkZWREYXRhRWRpdChmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuZ2V0T2JqZWN0RGV0YWlsKCk7XHJcbiAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2UuZGF0YSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMubW9kaWZ5RGV0YWlsRGF0YShyZXNwb25zZS5kYXRhKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuX3Byb2Nlc3NBZnRlckdldERhdGEocmVzcG9uc2UuZGF0YSk7XHJcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLm9uQWZ0ZXJHZXREZXRhaWwoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmNydWRGb3JtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXZlbnQgPSBuZXcgRXZlbnREYXRhKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudE5vZGU6IHRoaXMuY3J1ZEZvcm0uX3Jvb3ROb2RlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudFR5cGU6ICdmb3JtUmVhZHknLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjcnVkRm9ybTogdGhpcy5jcnVkRm9ybVxyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuaW5pdERhdGFBZGQoZXZlbnQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5jcnVkRm9ybS5pbml0Q29udHJvbERlZmF1bHRWYWx1ZUZyb21FeHRlcm5hbCgpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jcnVkRm9ybS5maXJlTW9kZWxDaGFuZ2VkKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gT3ZlcnJpZGUgY8OhY2ggbOG6pXkgZOG7ryBsaeG7h3UgZ2V0RGV0YWlsXHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChyZXN1bHRDaGVjay5zdWNjZXNzICYmIHJlc3VsdENoZWNrLmRhdGEpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubW9kZWwuZm9ybVN0YXRlID0gRm9ybVN0YXRlLkVESVQ7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jcnVkRm9ybSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY3J1ZEZvcm0uc2V0SXNMb2FkZWREYXRhRWRpdChmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLm1vZGlmeURldGFpbERhdGEocmVzdWx0Q2hlY2suZGF0YSk7XHJcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLl9wcm9jZXNzQWZ0ZXJHZXREYXRhKHJlc3VsdENoZWNrLmRhdGEpO1xyXG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5vbkFmdGVyR2V0RGV0YWlsKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm1vZGVsLmZvcm1TdGF0ZSA9IEZvcm1TdGF0ZS5BREQ7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jcnVkRm9ybSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGV2ZW50ID0gbmV3IEV2ZW50RGF0YSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnROb2RlOiB0aGlzLmNydWRGb3JtLl9yb290Tm9kZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnRUeXBlOiAnZm9ybVJlYWR5JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgY3J1ZEZvcm06IHRoaXMuY3J1ZEZvcm1cclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLmluaXREYXRhQWRkKGV2ZW50KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMuY3J1ZEZvcm0uaW5pdENvbnRyb2xEZWZhdWx0VmFsdWVGcm9tRXh0ZXJuYWwoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuY3J1ZEZvcm0uZmlyZU1vZGVsQ2hhbmdlZCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGluaXREYXRhQWRkKGV2dDogRXZlbnREYXRhKSB7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUGjhuqNpIGfhu41pIGjDoG0gbsOgeSBraGkgb3ZlcnJpZGUgZ2V0RGV0YWlsXHJcbiAgICAgKi9cclxuICAgIGFzeW5jIF9wcm9jZXNzQWZ0ZXJHZXREYXRhKGRhdGEpIHtcclxuICAgICAgICBpZiAoIWRhdGEpIHtcclxuICAgICAgICAgICAgZGF0YSA9IHt9O1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgLy8gRHV54buHdCBjw6FjIGNvbnRyb2wgZGF0ZXRpbWUgxJHhu4MgY29udmVydCB2YWx1ZSBzYW5nIGRhdGV0aW1lXHJcbiAgICAgICAgICAgIHRoaXMuc2V0dGluZy5zY2hlbWEuZm9yRWFjaChzY2hlbWEgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5maXhEYXRlVmFsdWUoc2NoZW1hLCBkYXRhKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGRhdGEuX19kaXNhYmxlRWRpdCA9IHRoaXMubW9kZWwuZGF0YS5fX2Rpc2FibGVFZGl0O1xyXG4gICAgICAgIHRoaXMubW9kZWwuZGF0YSA9IGRhdGE7XHJcbiAgICAgICAgaWYgKHRoaXMuY3J1ZEZvcm0pIHtcclxuICAgICAgICAgICAgdGhpcy5jcnVkRm9ybS5kYXRhID0gZGF0YTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuY3J1ZEZvcm0pIHtcclxuICAgICAgICAgICAgdGhpcy5jcnVkRm9ybS5zZXRJc0xvYWRlZERhdGFFZGl0KHRydWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5zZXR0aW5nLmJhc2VTZXJ2aWNlKSB7XHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuX2VudGl0eU1ldGFkYXRhU2VydmljZS5sb2FkKHRoaXMuc2V0dGluZy5iYXNlU2VydmljZSwgdGhpcy5jb250ZXh0LCB0cnVlKTsgLy8gZm9yY2UgbG9hZCDEkeG7gyDEkeG7jWMgdOG7qyBjc2RsXHJcbiAgICAgICAgICAgIGNvbnN0IGVuYWJsZVZlcnNpb24gPSB0aGlzLl9lbnRpdHlNZXRhZGF0YVNlcnZpY2UuZ2V0QnlDb2RlKCdlbmFibGVWZXJzaW9uJyk7XHJcbiAgICAgICAgICAgIGlmIChlbmFibGVWZXJzaW9uID09ICcxJykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXR0aW5nLmZpbHRlckNoZWNrRXhpc3RCeVZlcnNpb24gPSBbXHJcbiAgICAgICAgICAgICAgICAgICAgbmV3IEZpbHRlcih7IGZpZWxkOiAnY29kZScsIG9wZXJhdG9yOiBPcGVyYXRvci5ub3RFcXVhbCwgdmFsdWU6IEpTT04uc3RyaW5naWZ5KHRoaXMubW9kZWwuZGF0YS5jb2RlKSB9KVxyXG4gICAgICAgICAgICAgICAgXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5kaXNhYmxlQnVpbGRJbkZpZWxkKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBmaXhEYXRlVmFsdWUoY29udHJvbCwgcGFyZW50TW9kZWwsIHBhcmVudFBhdGg/KSB7XHJcbiAgICAgICAgbGV0IF9wYXJlbnRQYXRoID0gY29udHJvbC5maWVsZDtcclxuICAgICAgICBpZiAocGFyZW50UGF0aCAhPSBudWxsKSBfcGFyZW50UGF0aCA9IHBhcmVudFBhdGggKyAnLicgKyBfcGFyZW50UGF0aDtcclxuXHJcbiAgICAgICAgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBUYWJsZVNjaGVtYSkge1xyXG4gICAgICAgICAgICBpZiAoIXBhcmVudE1vZGVsW2NvbnRyb2wuZmllbGRdIHx8ICEocGFyZW50TW9kZWxbY29udHJvbC5maWVsZF0gaW5zdGFuY2VvZiBBcnJheSkpIHtcclxuICAgICAgICAgICAgICAgIHBhcmVudE1vZGVsW2NvbnRyb2wuZmllbGRdID0gW107XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGV0IGkgPSAwO1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgcGFyZW50TW9kZWxbY29udHJvbC5maWVsZF0pIHtcclxuICAgICAgICAgICAgICAgIGZvciAoY29uc3Qgc3ViQ29udHJvbCBvZiBjb250cm9sLnJvd1RlbXBsYXRlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maXhEYXRlVmFsdWUoc3ViQ29udHJvbCwgaXRlbSwgX3BhcmVudFBhdGggKyAnWycgKyBpICsgJ10nKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGkrKztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChjb250cm9sIGluc3RhbmNlb2YgQ29udGFpbmVyU2NoZW1hKSB7XHJcbiAgICAgICAgICAgIGlmIChwYXJlbnRNb2RlbFtjb250cm9sLmZpZWxkXSA9PSBudWxsIHx8ICFpc0xpdGVyYWxPYmplY3QocGFyZW50TW9kZWxbY29udHJvbC5maWVsZF0pKSB7XHJcbiAgICAgICAgICAgICAgICBwYXJlbnRNb2RlbFtjb250cm9sLmZpZWxkXSA9IHt9O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IHN1YkNvbnRyb2wgb2YgY29udHJvbC5jb250cm9scykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5maXhEYXRlVmFsdWUoc3ViQ29udHJvbCwgcGFyZW50TW9kZWxbY29udHJvbC5maWVsZF0sIF9wYXJlbnRQYXRoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBEYXRlVGltZUNvbnRyb2xTY2hlbWEpIHtcclxuICAgICAgICAgICAgICAgIGlmICghKHBhcmVudE1vZGVsW2NvbnRyb2wuZmllbGRdIGluc3RhbmNlb2YgRGF0ZSkpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoU3RyaW5nKHBhcmVudE1vZGVsW2NvbnRyb2wuZmllbGRdKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzVmFsaWREYXRlKGRhdGUpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudE1vZGVsW2NvbnRyb2wuZmllbGRdID0gZGF0ZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudE1vZGVsW2NvbnRyb2wuZmllbGRdID0gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBkaXNhYmxlQnVpbGRJbkZpZWxkKCkge1xyXG4gICAgICAgIGlmICghdGhpcy5faXNGb3JtQWRkTmV3KCkpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMubW9kZWwuZGF0YS5pc0J1aWxkSW4gJiYgdGhpcy5zZXR0aW5nLnNjaGVtYVsnY29kZSddKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldHRpbmcuc2NoZW1hWydjb2RlJ10uZGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICh0aGlzLm1vZGVsLmRhdGEuaXNCdWlsZEluQWxsKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldHRpbmcuc2NoZW1hLmZvckVhY2goaXRlbSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5kaXNhYmxlZCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBfYWRkUmVxdWlyZWRWYWxpZGF0b3Ioc2NoZW1hOiBGb3JtQ29udHJvbEJhc2UpIHtcclxuICAgICAgICBsZXQgZXhpc3QgPSBmYWxzZTtcclxuICAgICAgICBmb3IgKGNvbnN0IHZhbGlkYXRvciBvZiBzY2hlbWEudmFsaWRhdG9ycykge1xyXG4gICAgICAgICAgICBpZiAodmFsaWRhdG9yIGluc3RhbmNlb2YgUmVxdWlyZWRWYWxpZGF0b3IpIHtcclxuICAgICAgICAgICAgICAgIGV4aXN0ID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICghZXhpc3QpIHtcclxuICAgICAgICAgICAgc2NoZW1hLnZhbGlkYXRvcnMucHVzaChuZXcgUmVxdWlyZWRWYWxpZGF0b3IoKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNjaGVtYS5yZXF1aXJlZCA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgX3JlbW92ZVJlcXVpcmVkVmFsaWRhdG9yKHNjaGVtYTogRm9ybUNvbnRyb2xCYXNlKSB7XHJcbiAgICAgICAgY29uc3QgdmFsaWRhdG9ycyA9IFtdO1xyXG4gICAgICAgIGZvciAoY29uc3QgdmFsaWRhdG9yIG9mIHNjaGVtYS52YWxpZGF0b3JzKSB7XHJcbiAgICAgICAgICAgIGlmICh2YWxpZGF0b3IgaW5zdGFuY2VvZiBSZXF1aXJlZFZhbGlkYXRvcikge1xyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHZhbGlkYXRvcnMucHVzaCh2YWxpZGF0b3IpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNjaGVtYS52YWxpZGF0b3JzID0gdmFsaWRhdG9ycztcclxuICAgICAgICBzY2hlbWEucmVxdWlyZWQgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBfc2V0TW9kZWxWYWx1ZShmaWVsZDogc3RyaW5nLCB2YWx1ZTogYW55KSB7XHJcbiAgICAgICAgdGhpcy5jcnVkRm9ybS5fbW9kZWxEYXRhW2ZpZWxkXSA9IHZhbHVlO1xyXG4gICAgICAgIHRoaXMuY3J1ZEZvcm0uZmlyZU1vZGVsQ2hhbmdlZCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIG1vZGlmeURldGFpbERhdGEoZGF0YSkge1xyXG4gICAgfVxyXG5cclxuICAgIF90cmlnZ2VyU2F2ZSgpIHtcclxuICAgICAgICB0aGlzLnNhdmUoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGFzeW5jIHNhdmUoKSB7XHJcbiAgICAgICAgY29uc3QgdmFsaWRhdGVkID0gYXdhaXQgdGhpcy52YWxpZGF0ZUZvcm1CYXNlKCk7XHJcbiAgICAgICAgaWYgKHZhbGlkYXRlZCkge1xyXG4gICAgICAgICAgICB0aGlzLnRyaWdnZXJTYXZlRmlsZVVwbG9hZCgpO1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLm9uQmVmb3JlU2F2ZSgpO1xyXG4gICAgICAgICAgICBpZiAodGhpcy5hdXRvU2F2ZSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuX2lzRm9ybUVkaXQoKSB8fCB0aGlzLl9pc0Zvcm1WaWV3KCkpIHtcclxuICAgICAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLm9uVXBkYXRlKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmICh0aGlzLl9pc0Zvcm1BZGROZXcoKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMub25JbnNlcnQoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGZvcm0gdmlldywgZG8gbm90aGluZ1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVNYW51YWxTYXZlKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMubW9kZWwuc3VibWl0dGluZyA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBoYW5kbGVNYW51YWxTYXZlKCkge1xyXG5cclxuICAgIH1cclxuXHJcbiAgICB0cmlnZ2VyU2F2ZUZpbGVVcGxvYWQoKSB7XHJcbiAgICAgICAgdGhpcy5yb290Q29udGV4dC5maXJlRXZlbnQoQ29tQ3R4Q29uc3RhbnRzLkNPTU1PTi5TQVZFX0ZJTEVfSU5fRk9STSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgX2dldFJlc3VsdFZhbGlkYXRlKCkge1xyXG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLnZhbGlkYXRlRm9ybUJhc2UoKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyB2YWxpZGF0ZUZvcm0ocmVzdWx0VmFsaWRhdGVCYXNlOiBib29sZWFuKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBhc3luYyB2YWxpZGF0ZUZvcm1CYXNlKCkge1xyXG4gICAgICAgIGNvbnN0IHJlc3VsdFZhbGlkYXRlQmFzZSA9IGF3YWl0IHRoaXMuY3J1ZEZvcm0udmFsaWRhdGVGb3JtKCk7XHJcbiAgICAgICAgY29uc3QgcmVzdWx0VmFsaWRhdGUgPSBhd2FpdCB0aGlzLnZhbGlkYXRlRm9ybShyZXN1bHRWYWxpZGF0ZUJhc2UpO1xyXG4gICAgICAgIHJldHVybiByZXN1bHRWYWxpZGF0ZSAmJiByZXN1bHRWYWxpZGF0ZUJhc2U7XHJcbiAgICB9XHJcblxyXG4gICAgX3ZhbGlkYXRlRm9ybUNvbnRyb2woZmllbGRQYXRoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY3J1ZEZvcm0udmFsaWRhdGVGb3JtQ29udHJvbChmaWVsZFBhdGgpO1xyXG4gICAgfVxyXG5cclxuICAgIF9jbGVhbkZvcm0oKSB7XHJcbiAgICAgICAgdGhpcy5jcnVkRm9ybS5jbGVhbigpO1xyXG4gICAgfVxyXG5cclxuICAgIF90cmlnZ2VyQ29udHJvbENoYW5nZShmaWVsZFBhdGgpIHtcclxuICAgICAgICB0aGlzLmNydWRGb3JtLnRyaWdnZXJDaGFuZ2UoZmllbGRQYXRoKTtcclxuICAgIH1cclxuXHJcbiAgICBvbkJlZm9yZVNhdmUoKTogdm9pZCB8IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgfVxyXG5cclxuICAgIG9uQWZ0ZXJTYXZlKHJlc3BvbnNlOiBSZXNwb25zZVJlc3VsdCk6IHZvaWQgfCBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBvbkFmdGVyR2V0RGV0YWlsKCkge1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGFzeW5jIG9uSW5zZXJ0KCkge1xyXG4gICAgICAgIHRoaXMuc2V0RGVmYXVsdFZhbHVlKHRoaXMubW9kZWwuZGF0YSk7XHJcbiAgICAgICAgY29uc3QgY29uZmlybWVkID0gYXdhaXQgdGhpcy5jcmVhdGVDb25maXJtSWZSZXF1aXJlKCk7XHJcbiAgICAgICAgaWYgKCFjb25maXJtZWQpIHJldHVybjtcclxuICAgICAgICBhd2FpdCB0aGlzLl9pbnNlcnQoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNyZWF0ZUNvbmZpcm1JZlJlcXVpcmUoKSB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXMsIHJlaikgPT4ge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5tZXNzYWdlQ29uZmlybVNhdmUpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX25vdGlmaWVyU2VydmljZS5zaG93Q29uZmlybSh0aGlzLm1lc3NhZ2VDb25maXJtU2F2ZSlcclxuICAgICAgICAgICAgICAgICAgICAudGhlbihyZXMgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXJlcykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzKGZhbHNlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXModHJ1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICByZXModHJ1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGFzeW5jIF9pbnNlcnQoKSB7XHJcbiAgICAgICAgdGhpcy5nZXRQcm9taXNlQWN0aW9uSW5zZXJ0KClcclxuICAgICAgICAgICAgLnRoZW4oYXN5bmMgcmVzcG9uc2UgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5tb2RlbC5zdWJtaXR0aW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNob3dNZXNzYWdlQWZ0ZXJJbnNlcnQocmVzcG9uc2Uuc3VjY2VzcywgcmVzcG9uc2UpO1xyXG4gICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnN1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLm9uQWZ0ZXJTYXZlKHJlc3BvbnNlKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uU2F2ZWQuZW1pdCgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVJbnNlcnRFcnJvcigpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9LCBlcnJvciA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoIWVycm9yLmVycm9yLnN1Y2Nlc3MgJiYgZXJyb3IuZXJyb3IuZXJyb3JDaGVja0V4aXN0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tb2RlbC5zdWJtaXR0aW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5tb2RlbC5zdWJtaXR0aW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNob3dNZXNzYWdlQWZ0ZXJJbnNlcnQoZmFsc2UsIGVycm9yKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0UHJvbWlzZUFjdGlvbkluc2VydCgpOiBQcm9taXNlPFJlc3BvbnNlUmVzdWx0PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2V0dGluZy5iYXNlU2VydmljZS5wb3N0KHRoaXMubW9kZWwuZGF0YSwgdGhpcy5pbnNlcnRQbHVzVXJsKTtcclxuICAgIH1cclxuXHJcbiAgICBoYW5kbGVJbnNlcnRFcnJvcigpIHtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBhc3luYyBvblVwZGF0ZSgpIHtcclxuICAgICAgICB0aGlzLnNldERlZmF1bHRWYWx1ZSh0aGlzLm1vZGVsLmRhdGEpO1xyXG4gICAgICAgIHRoaXMuZ2V0UHJvbWlzZUFjdGlvblVwZGF0ZSgpXHJcbiAgICAgICAgICAgIC50aGVuKGFzeW5jIHJlc3BvbnNlID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMubW9kZWwuc3VibWl0dGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zaG93TWVzc2FnZUFmdGVyVXBkYXRlKHJlc3BvbnNlLnN1Y2Nlc3MsIHJlc3BvbnNlKTtcclxuICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5zdWNjZXNzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5vbkFmdGVyU2F2ZShyZXNwb25zZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vblNhdmVkLmVtaXQoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlVXBkYXRlRXJyb3IoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSwgZXJyb3IgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKCFlcnJvci5lcnJvci5zdWNjZXNzICYmIGVycm9yLmVycm9yLmVycm9yQ2hlY2tFeGlzdCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubW9kZWwuc3VibWl0dGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMubW9kZWwuc3VibWl0dGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zaG93TWVzc2FnZUFmdGVyVXBkYXRlKGZhbHNlLCBlcnJvcik7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGhhbmRsZVVwZGF0ZUVycm9yKCkge1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBnZXRQcm9taXNlQWN0aW9uVXBkYXRlKCk6IFByb21pc2U8UmVzcG9uc2VSZXN1bHQ+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXR0aW5nLmJhc2VTZXJ2aWNlLnB1dCh0aGlzLm1vZGVsLmRhdGEuaWQudG9TdHJpbmcoKSwgdGhpcy5tb2RlbC5kYXRhLCB0aGlzLnVwZGF0ZVBsdXNVcmwpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc2V0RGVmYXVsdFZhbHVlKG1vZGVsKSB7XHJcbiAgICAgICAgaWYgKG1vZGVsLmlzQnVpbGRJbiA9PT0gbnVsbCB8fCBtb2RlbC5pc0J1aWxkSW4gPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICBtb2RlbC5pc0J1aWxkSW4gPSBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChtb2RlbC5pc0J1aWxkSW5BbGwgPT09IG51bGwgfHwgbW9kZWwuaXNCdWlsZEluQWxsID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgbW9kZWwuaXNCdWlsZEluQWxsID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc2hvd01lc3NhZ2VBZnRlckluc2VydChpc1N1Y2Nlc3M6IGJvb2xlYW4gPSBmYWxzZSwgZXJyb3I/OiBhbnkpIHtcclxuICAgICAgICBpZiAoaXNTdWNjZXNzKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLm1lc3NhZ2VJbnNlcnRTdWNjZXNzKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9ub3RpZmllclNlcnZpY2Uuc2hvd1N1Y2Nlc3ModGhpcy5tZXNzYWdlSW5zZXJ0U3VjY2Vzcyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlUmVzcG9uc2VFcnJvcihlcnJvcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc2hvd01lc3NhZ2VBZnRlclVwZGF0ZShpc1N1Y2Nlc3M6IGJvb2xlYW4gPSBmYWxzZSwgZXJyb3I/OiBhbnkpIHtcclxuICAgICAgICBpZiAoaXNTdWNjZXNzKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLm1lc3NhZ2VVcGRhdGVTdWNjZXNzKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9ub3RpZmllclNlcnZpY2Uuc2hvd1N1Y2Nlc3ModGhpcy5tZXNzYWdlVXBkYXRlU3VjY2Vzcyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlUmVzcG9uc2VFcnJvcihlcnJvcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGhhbmRsZVJlc3BvbnNlRXJyb3IoZXJyb3IpIHtcclxuICAgICAgICBpZiAoZXJyb3IubWVzc2FnZSkge1xyXG4gICAgICAgICAgICB0aGlzLl9ub3RpZmllclNlcnZpY2Uuc2hvd1dhcm5pbmcoZXJyb3IubWVzc2FnZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGVycm9yLmVycm9yKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX25vdGlmaWVyU2VydmljZS5zaG93V2FybmluZyhlcnJvci5lcnJvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLl9ub3RpZmllclNlcnZpY2Uuc2hvd1dhcm5pbmcoJ0PDsyBs4buXaSB44bqjeSByYSwgbGnDqm4gaOG7hyBxdeG6o24gdHLhu4sgdmnDqm4gxJHhu4MgYmnhur90IHRow6ptIGNoaSB0aeG6v3QnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgb25Gb3JtSW5pdGlhbGl6ZWQoZGF0YTogRXZlbnREYXRhKSB7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIF9oYW5kbGVBZnRlclRyaW5oS3koZXZ0KSB7XHJcbiAgICAgICAgZGVsZXRlIHRoaXMubW9kZWwuZGF0YVtLZXlGbGFzaFNob3ddO1xyXG4gICAgICAgIHRoaXMuX2hhbmRsZUNhbmNlbChldnQpO1xyXG4gICAgfVxyXG5cclxuICAgIF9oYW5kbGVTYXZlKGV2dCkge1xyXG4gICAgICAgIGlmICh0aGlzLm1vZGVsLnN1Ym1pdHRpbmcpIHJldHVybjtcclxuICAgICAgICB0aGlzLm1vZGVsLnN1Ym1pdHRpbmcgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuc2F2ZSgpO1xyXG4gICAgICAgIHRoaXMub25TYXZlLmVtaXQoZXZ0KTtcclxuICAgIH1cclxuXHJcbiAgICBfaGFuZGxlQ2FuY2VsKGV2dCkge1xyXG4gICAgICAgIHRoaXMub25DYW5jZWwuZW1pdChldnQpO1xyXG4gICAgfVxyXG5cclxuICAgIF9oYW5kbGVNZXNzYWdlKGV2dCkge1xyXG4gICAgICAgIHRoaXMub25NZXNzYWdlLmVtaXQoZXZ0KTtcclxuICAgIH1cclxuXHJcbiAgICBfc2V0RGlzYWJsZUNvbnRyb2wodW5pcXVlRmllbGQsIGlzRGlzYWJsZWQpIHtcclxuICAgICAgICB0aGlzLmNydWRGb3JtLmZvcm1Db250cm9sc1t1bmlxdWVGaWVsZF0uZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gICAgfVxyXG5cclxuICAgIF9zZXRIaWRkZW5Db250cm9sKHVuaXF1ZUZpZWxkLCBpc0hpZGRlbikge1xyXG4gICAgICAgIHRoaXMuY3J1ZEZvcm0uZm9ybUNvbnRyb2xzW3VuaXF1ZUZpZWxkXS5oaWRkZW4gPSBpc0hpZGRlbjtcclxuICAgIH1cclxuXHJcbiAgICBfZ2V0Rm9ybVN0YXRlKCk6IEZvcm1TdGF0ZSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubW9kZWwuZm9ybVN0YXRlO1xyXG4gICAgfVxyXG5cclxuICAgIF9pc0Zvcm1BZGROZXcoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldEZvcm1TdGF0ZSgpID09IEZvcm1TdGF0ZS5BREQ7XHJcbiAgICB9XHJcblxyXG4gICAgX2lzRm9ybUVkaXQoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldEZvcm1TdGF0ZSgpID09IEZvcm1TdGF0ZS5FRElUO1xyXG4gICAgfVxyXG5cclxuICAgIF9pc0Zvcm1WaWV3KCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRGb3JtU3RhdGUoKSA9PSBGb3JtU3RhdGUuVklFVztcclxuICAgIH1cclxufVxyXG4iXX0=
563
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1mb3JtLWJhc2UuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vcHJvamVjdHMvdG54LXNoYXJlZC9zcmMvbGliLyIsInNvdXJjZXMiOlsiY2xhc3Nlcy9iYXNlL2RhdGEtZm9ybS1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEksT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDeEYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVoRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7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SSxFQUFFOzZCQUNyQyxTQUFTLFNBQUMsZ0JBQWdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFOzRCQUU1QyxLQUFLO29CQUNMLEtBQUs7cUJBRUwsTUFBTTtzQkFDTixNQUFNO3VCQUNOLE1BQU07d0JBQ04sTUFBTTswQkFDTixNQUFNOzJCQUNOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5qZWN0b3IsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IEZpbGVVcGxvYWQgfSBmcm9tICd0bi1jdXN0b20tcHJpbWVuZy9maWxldXBsb2FkJztcclxuaW1wb3J0IHsgQ3J1ZEZvcm1Db21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2NydWQvY3J1ZC1mb3JtL2NydWQtZm9ybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDT05GSUdfQ0FMRU5EQVJfVklFVE5BTUVTRSB9IGZyb20gJy4uLy4uL2NvbmZpZ3MvY2FsZW5kYXIuY29uZmlnJztcclxuaW1wb3J0IHsgQ29tQ3R4Q29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vY29uZmlncy9jb21wb25lbnQtY29udGV4dC5jb25zdGFudCc7XHJcbmltcG9ydCB7IEZpbHRlciB9IGZyb20gJy4uLy4uL21vZGVscy9ncmlkLWluZm8nO1xyXG5pbXBvcnQgeyBSZXNwb25zZVJlc3VsdCB9IGZyb20gJy4uLy4uL21vZGVscy9yZXNwb25zZS1yZXN1bHQnO1xyXG5pbXBvcnQgeyBDb21tb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29tbW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDcnVkU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NydWQuc2VydmljZSc7XHJcbmltcG9ydCB7IEN1c3RvbVJvdXRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jdXN0b20tcm91dGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEb21TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZG9tLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBFbnRpdHlNZXRhZGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9lbnRpdHktbWV0YWRhdGEuc2VydmljZSc7XHJcbmltcG9ydCB7IE1hc3RlckRhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWFzdGVyLWRhdGEuc2VydmljZSc7XHJcbmltcG9ydCB7IE5vdGlmaWVyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL25vdGlmaWVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVc2VyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3VzZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IEZvcm1TdGF0ZSwgS2V5Rmxhc2hTaG93IH0gZnJvbSAnLi4vY29uc3RhbnRzJztcclxuaW1wb3J0IHsgaXNMaXRlcmFsT2JqZWN0LCBpc1ZhbGlkRGF0ZSB9IGZyb20gJy4uL2Vudmlyb25tZW50LXNjaGVtYSc7XHJcbmltcG9ydCB7IENvbnRhaW5lclNjaGVtYSwgQ3J1ZEZvcm1EYXRhLCBDcnVkRm9ybVNldHRpbmcsIENydWRMaXN0U2V0dGluZywgRGF0ZVRpbWVDb250cm9sU2NoZW1hLCBFdmVudERhdGEsIEZvcm1Db250cm9sQmFzZSwgT3BlcmF0b3IsIFN3aXRjaENvbnRyb2xTY2hlbWEsIFRhYmxlU2NoZW1hIH0gZnJvbSAnLi4vZm9ybS1zY2hlbWEnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRCYXNlIH0gZnJvbSAnLi9jb21wb25lbnQtYmFzZSc7XHJcbmltcG9ydCB7IFJlcXVpcmVkVmFsaWRhdG9yIH0gZnJvbSAnLi92YWxpZGF0b3JzJztcclxuXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGF0YUZvcm1CYXNlIGV4dGVuZHMgQ29tcG9uZW50QmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHJcbiAgICBAVmlld0NoaWxkKENydWRGb3JtQ29tcG9uZW50LCB7IHN0YXRpYzogZmFsc2UgfSkgY3J1ZEZvcm06IENydWRGb3JtQ29tcG9uZW50O1xyXG4gICAgQFZpZXdDaGlsZCgnZm9ybUVsZW1lbnQnLCB7IHN0YXRpYzogdHJ1ZSB9KSBmb3JtRWxlbWVudDogRWxlbWVudFJlZjtcclxuICAgIEBWaWV3Q2hpbGQoJ3BVcGxvYWQnLCB7IHN0YXRpYzogdHJ1ZSB9KSBwVXBsb2FkOiBGaWxlVXBsb2FkO1xyXG4gICAgQFZpZXdDaGlsZCgnYnV0dG9uVGVtcGxhdGUnLCB7IHN0YXRpYzogdHJ1ZSB9KSBidXR0b25UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgICBASW5wdXQoKSBwYXJlbnRTZXR0aW5nOiBDcnVkTGlzdFNldHRpbmc7XHJcbiAgICBASW5wdXQoKSBtb2RlbDogQ3J1ZEZvcm1EYXRhID0gbmV3IENydWRGb3JtRGF0YSgpO1xyXG5cclxuICAgIEBPdXRwdXQoKSBvblNhdmU6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgICBAT3V0cHV0KCkgb25TYXZlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgIEBPdXRwdXQoKSBvbkNhbmNlbDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgIEBPdXRwdXQoKSBvbk1lc3NhZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgICBAT3V0cHV0KCkgb25Gb3JtUmVhZHk6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgICBAT3V0cHV0KCkgb25EYXRhQmluZGVkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICAgIGRvTm90Q2hlY2tCYXNlU2VydmljZSA9IGZhbHNlO1xyXG4gICAgcHJpdmF0ZSBub3RDb25maWdCYXNlU2VydmljZU1lc3NhZ2UgPSAnQ2jGsGEgY+G6pXUgaMOsbmggQ1JVRCBiYXNlIHNlcnZpY2UnO1xyXG4gICAgbWVzc2FnZUluc2VydFN1Y2Nlc3MgPSAnJztcclxuICAgIG1lc3NhZ2VVcGRhdGVTdWNjZXNzID0gJyc7XHJcbiAgICBzZXR0aW5nOiBDcnVkRm9ybVNldHRpbmcgPSBuZXcgQ3J1ZEZvcm1TZXR0aW5nKCk7XHJcblxyXG4gICAgdmkgPSBDT05GSUdfQ0FMRU5EQVJfVklFVE5BTUVTRTtcclxuXHJcbiAgICB1c2VBdXRvQ2hlY2tWYWxpZCA9IGZhbHNlO1xyXG5cclxuICAgIGZvcm1Db250cm9sczogYW55O1xyXG4gICAgZm9ybUNvbnRyb2xzTGlzdCA9IHt9O1xyXG5cclxuICAgIGF1dG9HZXREZXRhaWwgPSB0cnVlO1xyXG4gICAgYXV0b1NhdmUgPSB0cnVlO1xyXG4gICAgbWVzc2FnZUNvbmZpcm1TYXZlOiBzdHJpbmc7XHJcbiAgICBzYXZpbmcgPSBmYWxzZTtcclxuICAgIHBsdXNVcmw6IHN0cmluZyA9ICcnO1xyXG4gICAgaW5zZXJ0UGx1c1VybCA9IG51bGw7XHJcbiAgICB1cGRhdGVQbHVzVXJsID0gbnVsbDtcclxuICAgIHB1YmxpYyBfX2lzRm9ybVZpZXc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBwdWJsaWMgX25vdGlmaWVyU2VydmljZTogTm90aWZpZXJTZXJ2aWNlO1xyXG4gICAgcHVibGljIF9tYXN0ZXJEYXRhU2VydmljZTogTWFzdGVyRGF0YVNlcnZpY2U7XHJcbiAgICBwdWJsaWMgX3JvdXRlcjogUm91dGVyO1xyXG4gICAgcHVibGljIF9hY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGU7XHJcbiAgICBwdWJsaWMgX3RyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2U7XHJcbiAgICBwdWJsaWMgX2N1c3RvbVJvdXRlclNlcnZpY2U6IEN1c3RvbVJvdXRlclNlcnZpY2U7XHJcbiAgICBwdWJsaWMgX2NydWRTZXJ2aWNlOiBDcnVkU2VydmljZTtcclxuICAgIHB1YmxpYyBfZG9tU2VydmljZTogRG9tU2VydmljZTtcclxuICAgIHB1YmxpYyBfZW50aXR5TWV0YWRhdGFTZXJ2aWNlOiBFbnRpdHlNZXRhZGF0YVNlcnZpY2U7XHJcbiAgICBwdWJsaWMgX3VzZXJTZXJ2aWNlOiBVc2VyU2VydmljZTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBfaW5qZWN0b3I6IEluamVjdG9yXHJcblxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoX2luamVjdG9yKTtcclxuICAgICAgICB0aGlzLl9ub3RpZmllclNlcnZpY2UgPSB0aGlzLl9pbmplY3Rvci5nZXQoTm90aWZpZXJTZXJ2aWNlKTtcclxuICAgICAgICB0aGlzLl9tYXN0ZXJEYXRhU2VydmljZSA9IHRoaXMuX2luamVjdG9yLmdldChNYXN0ZXJEYXRhU2VydmljZSk7XHJcbiAgICAgICAgdGhpcy5fcm91dGVyID0gdGhpcy5faW5qZWN0b3IuZ2V0KFJvdXRlcik7XHJcbiAgICAgICAgdGhpcy5fYWN0aXZhdGVkUm91dGUgPSB0aGlzLl9pbmplY3Rvci5nZXQoQWN0aXZhdGVkUm91dGUpO1xyXG4gICAgICAgIHRoaXMuX3RyYW5zbGF0ZVNlcnZpY2UgPSB0aGlzLl9pbmplY3Rvci5nZXQoVHJhbnNsYXRlU2VydmljZSk7XHJcbiAgICAgICAgdGhpcy5fY3VzdG9tUm91dGVyU2VydmljZSA9IHRoaXMuX2luamVjdG9yLmdldChDdXN0b21Sb3V0ZXJTZXJ2aWNlKTtcclxuICAgICAgICB0aGlzLl9jcnVkU2VydmljZSA9IHRoaXMuX2luamVjdG9yLmdldChDcnVkU2VydmljZSk7XHJcbiAgICAgICAgdGhpcy5fZG9tU2VydmljZSA9IHRoaXMuX2luamVjdG9yLmdldChEb21TZXJ2aWNlKTtcclxuICAgICAgICB0aGlzLl9lbnRpdHlNZXRhZGF0YVNlcnZpY2UgPSB0aGlzLl9pbmplY3Rvci5nZXQoRW50aXR5TWV0YWRhdGFTZXJ2aWNlKTtcclxuICAgICAgICB0aGlzLl91c2VyU2VydmljZSA9IHRoaXMuX2luamVjdG9yLmdldChVc2VyU2VydmljZSk7XHJcbiAgICAgICAgdGhpcy5fY29tbW9uU2VydmljZSA9IHRoaXMuX2luamVjdG9yLmdldChDb21tb25TZXJ2aWNlKTtcclxuICAgICAgICB0aGlzLm1lc3NhZ2VJbnNlcnRTdWNjZXNzID0gdGhpcy5fdHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdNRVNTQUdFLklOU0VSVF9EQVRBX1NVQ0NFU1MnKTtcclxuICAgICAgICB0aGlzLm1lc3NhZ2VVcGRhdGVTdWNjZXNzID0gdGhpcy5fdHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdNRVNTQUdFLlVQREFURV9EQVRBX1NVQ0NFU1MnKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICB0aGlzLl9faXNGb3JtVmlldyA9IHRoaXMuX2lzRm9ybVZpZXcoKTtcclxuICAgIH1cclxuXHJcbiAgICBhZGRTY2hlbWFCYXNlKCkge1xyXG4gICAgICAgIGlmICh0aGlzLl91c2VyU2VydmljZS5pc1N1cGVyVXNlcigpXHJcbiAgICAgICAgICAgICYmIHRoaXMubW9kZWxcclxuICAgICAgICAgICAgJiYgdGhpcy5tb2RlbC5kYXRhLmhhc0J1aWxkSW5cclxuICAgICAgICAgICAgJiYgdGhpcy5zZXR0aW5nLnNjaGVtYVxyXG4gICAgICAgICAgICAmJiB0aGlzLnNldHRpbmcuc2NoZW1hLmxlbmd0aCA+IDBcclxuICAgICAgICApIHtcclxuICAgICAgICAgICAgdGhpcy5zZXR0aW5nLnNjaGVtYS5wdXNoKFxyXG4gICAgICAgICAgICAgICAgbmV3IFN3aXRjaENvbnRyb2xTY2hlbWEoe1xyXG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiAnaXNCdWlsZEluJyxcclxuICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0tow7NhIG3DoycsXHJcbiAgICAgICAgICAgICAgICAgICAgbWRXaWR0aDogNFxyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgdGhpcy5zZXR0aW5nLnNjaGVtYS5wdXNoKFxyXG4gICAgICAgICAgICAgICAgbmV3IFN3aXRjaENvbnRyb2xTY2hlbWEoe1xyXG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiAnaXNCdWlsZEluQWxsJyxcclxuICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0tow7NhIGLhuqNuIGdoaScsXHJcbiAgICAgICAgICAgICAgICAgICAgbWRXaWR0aDogNFxyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc2V0V29ya2Zsb3dEYXRhc291cmNlKGV2dDogRXZlbnREYXRhLCB3b3JrZmxvd1NldHRpbmcpIHtcclxuICAgICAgICBldnQuZm9ybUNvbnRyb2xzWydfV29ya2Zsb3dDb2RlJ10uZGF0YVNvdXJjZSA9IHdvcmtmbG93U2V0dGluZy53b3JrZmxvd3M7XHJcbiAgICAgICAgaWYgKCFldnQucm9vdE1vZGVsLl9Xb3JrZmxvd0NvZGUpIHtcclxuICAgICAgICAgICAgZXZ0LnJvb3RNb2RlbC5fV29ya2Zsb3dDb2RlID0gd29ya2Zsb3dTZXR0aW5nLndvcmtmbG93Q29kZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoIXdvcmtmbG93U2V0dGluZy53b3JrZmxvd3Muc29tZSh4ID0+IHguY29kZSA9PSBldnQucm9vdE1vZGVsLl9Xb3JrZmxvd0NvZGUpKSB7XHJcbiAgICAgICAgICAgIGV2dC5yb290TW9kZWwuX1dvcmtmbG93Q29kZSA9IHdvcmtmbG93U2V0dGluZy53b3JrZmxvd0NvZGU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIF9oYW5kbGVGb3JtUmVhZHkoZm9ybUV2ZW50OiBFdmVudERhdGEpIHtcclxuICAgICAgICBhd2FpdCB0aGlzLl9faGFuZGxlRm9ybVJlYWR5KGZvcm1FdmVudCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBhc3luYyBfX2hhbmRsZUZvcm1SZWFkeShmb3JtRXZlbnQ6IEV2ZW50RGF0YSkge1xyXG4gICAgICAgIGlmICghdGhpcy5kb05vdENoZWNrQmFzZVNlcnZpY2UgJiYgIXRoaXMuc2V0dGluZy5iYXNlU2VydmljZSkge1xyXG4gICAgICAgICAgICB0aGlzLl9ub3RpZmllclNlcnZpY2Uuc2hvd1dhcm5pbmcodGhpcy5ub3RDb25maWdCYXNlU2VydmljZU1lc3NhZ2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmZvcm1Db250cm9scyA9IGZvcm1FdmVudC5mb3JtQ29udHJvbHM7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5vbkZvcm1Jbml0aWFsaXplZChmb3JtRXZlbnQpO1xyXG4gICAgICAgIHRoaXMub25Gb3JtUmVhZHkuZW1pdCh7XHJcbiAgICAgICAgICAgIGVsZW1lbnQ6IHRoaXMsXHJcbiAgICAgICAgICAgIHNldHRpbmc6IHRoaXMuc2V0dGluZyxcclxuICAgICAgICAgICAgZm9ybUV2ZW50XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5fdHJpZ2dlckdldERldGFpbCgpO1xyXG4gICAgfVxyXG5cclxuICAgIF90cmlnZ2VyR2V0RGV0YWlsKCkge1xyXG4gICAgICAgIGlmICh0aGlzLmF1dG9HZXREZXRhaWwpIHtcclxuICAgICAgICAgICAgdGhpcy5nZXREZXRhaWwoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuY3J1ZEZvcm0uaW5pdENvbnRyb2xEZWZhdWx0VmFsdWVGcm9tRXh0ZXJuYWwoKTtcclxuICAgICAgICAgICAgdGhpcy5jcnVkRm9ybS5maXJlTW9kZWxDaGFuZ2VkKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIG9uQmVmb3JlR2V0RGV0YWlsKCkge1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBnZXRPYmplY3REZXRhaWwoKTogUHJvbWlzZTxSZXNwb25zZVJlc3VsdD4ge1xyXG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLnNldHRpbmcuYmFzZVNlcnZpY2UuZ2V0RGV0YWlsKHRoaXMubW9kZWwuZGF0YS5pZCwgdGhpcy5wbHVzVXJsKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBnZXREZXRhaWxDdXN0b20oKTogUHJvbWlzZTxSZXNwb25zZVJlc3VsdD4ge1xyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgYXN5bmMgZ2V0RGV0YWlsKCkge1xyXG4gICAgICAgIGNvbnN0IHJlc3VsdENoZWNrID0gYXdhaXQgdGhpcy5nZXREZXRhaWxDdXN0b20oKTtcclxuICAgICAgICAvLyBLaMO0bmcgb3ZlcnJpZGVcclxuICAgICAgICBpZiAocmVzdWx0Q2hlY2sgPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBpZiAoIXRoaXMuX2lzRm9ybUFkZE5ldygpKSB7XHJcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLm9uQmVmb3JlR2V0RGV0YWlsKCk7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jcnVkRm9ybSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY3J1ZEZvcm0uc2V0SXNMb2FkZWREYXRhRWRpdChmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuZ2V0T2JqZWN0RGV0YWlsKCk7XHJcbiAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2UuZGF0YSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMubW9kaWZ5RGV0YWlsRGF0YShyZXNwb25zZS5kYXRhKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuX3Byb2Nlc3NBZnRlckdldERhdGEocmVzcG9uc2UuZGF0YSk7XHJcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLm9uQWZ0ZXJHZXREZXRhaWwoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmNydWRGb3JtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXZlbnQgPSBuZXcgRXZlbnREYXRhKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudE5vZGU6IHRoaXMuY3J1ZEZvcm0uX3Jvb3ROb2RlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudFR5cGU6ICdmb3JtUmVhZHknLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjcnVkRm9ybTogdGhpcy5jcnVkRm9ybVxyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuaW5pdERhdGFBZGQoZXZlbnQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5jcnVkRm9ybS5pbml0Q29udHJvbERlZmF1bHRWYWx1ZUZyb21FeHRlcm5hbCgpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jcnVkRm9ybS5maXJlTW9kZWxDaGFuZ2VkKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gT3ZlcnJpZGUgY8OhY2ggbOG6pXkgZOG7ryBsaeG7h3UgZ2V0RGV0YWlsXHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChyZXN1bHRDaGVjay5zdWNjZXNzICYmIHJlc3VsdENoZWNrLmRhdGEpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubW9kZWwuZm9ybVN0YXRlID0gRm9ybVN0YXRlLkVESVQ7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jcnVkRm9ybSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY3J1ZEZvcm0uc2V0SXNMb2FkZWREYXRhRWRpdChmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLm1vZGlmeURldGFpbERhdGEocmVzdWx0Q2hlY2suZGF0YSk7XHJcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLl9wcm9jZXNzQWZ0ZXJHZXREYXRhKHJlc3VsdENoZWNrLmRhdGEpO1xyXG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5vbkFmdGVyR2V0RGV0YWlsKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm1vZGVsLmZvcm1TdGF0ZSA9IEZvcm1TdGF0ZS5BREQ7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jcnVkRm9ybSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGV2ZW50ID0gbmV3IEV2ZW50RGF0YSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnROb2RlOiB0aGlzLmNydWRGb3JtLl9yb290Tm9kZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnRUeXBlOiAnZm9ybVJlYWR5JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgY3J1ZEZvcm06IHRoaXMuY3J1ZEZvcm1cclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLmluaXREYXRhQWRkKGV2ZW50KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMuY3J1ZEZvcm0uaW5pdENvbnRyb2xEZWZhdWx0VmFsdWVGcm9tRXh0ZXJuYWwoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuY3J1ZEZvcm0uZmlyZU1vZGVsQ2hhbmdlZCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGluaXREYXRhQWRkKGV2dDogRXZlbnREYXRhKSB7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUGjhuqNpIGfhu41pIGjDoG0gbsOgeSBraGkgb3ZlcnJpZGUgZ2V0RGV0YWlsXHJcbiAgICAgKi9cclxuICAgIGFzeW5jIF9wcm9jZXNzQWZ0ZXJHZXREYXRhKGRhdGEpIHtcclxuICAgICAgICBpZiAoIWRhdGEpIHtcclxuICAgICAgICAgICAgZGF0YSA9IHt9O1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgLy8gRHV54buHdCBjw6FjIGNvbnRyb2wgZGF0ZXRpbWUgxJHhu4MgY29udmVydCB2YWx1ZSBzYW5nIGRhdGV0aW1lXHJcbiAgICAgICAgICAgIHRoaXMuc2V0dGluZy5zY2hlbWEuZm9yRWFjaChzY2hlbWEgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5maXhEYXRlVmFsdWUoc2NoZW1hLCBkYXRhKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGRhdGEuX19kaXNhYmxlRWRpdCA9IHRoaXMubW9kZWwuZGF0YS5fX2Rpc2FibGVFZGl0O1xyXG4gICAgICAgIHRoaXMubW9kZWwuZGF0YSA9IGRhdGE7XHJcbiAgICAgICAgaWYgKHRoaXMuY3J1ZEZvcm0pIHtcclxuICAgICAgICAgICAgdGhpcy5jcnVkRm9ybS5kYXRhID0gZGF0YTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuY3J1ZEZvcm0pIHtcclxuICAgICAgICAgICAgdGhpcy5jcnVkRm9ybS5zZXRJc0xvYWRlZERhdGFFZGl0KHRydWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5zZXR0aW5nLmJhc2VTZXJ2aWNlKSB7XHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuX2VudGl0eU1ldGFkYXRhU2VydmljZS5sb2FkKHRoaXMuc2V0dGluZy5iYXNlU2VydmljZSwgdGhpcy5jb250ZXh0LCB0cnVlKTsgLy8gZm9yY2UgbG9hZCDEkeG7gyDEkeG7jWMgdOG7qyBjc2RsXHJcbiAgICAgICAgICAgIGNvbnN0IGVuYWJsZVZlcnNpb24gPSB0aGlzLl9lbnRpdHlNZXRhZGF0YVNlcnZpY2UuZ2V0QnlDb2RlKCdlbmFibGVWZXJzaW9uJyk7XHJcbiAgICAgICAgICAgIGlmIChlbmFibGVWZXJzaW9uID09ICcxJykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXR0aW5nLmZpbHRlckNoZWNrRXhpc3RCeVZlcnNpb24gPSBbXHJcbiAgICAgICAgICAgICAgICAgICAgbmV3IEZpbHRlcih7IGZpZWxkOiAnY29kZScsIG9wZXJhdG9yOiBPcGVyYXRvci5ub3RFcXVhbCwgdmFsdWU6IEpTT04uc3RyaW5naWZ5KHRoaXMubW9kZWwuZGF0YS5jb2RlKSB9KVxyXG4gICAgICAgICAgICAgICAgXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5kaXNhYmxlQnVpbGRJbkZpZWxkKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBmaXhEYXRlVmFsdWUoY29udHJvbCwgcGFyZW50TW9kZWwsIHBhcmVudFBhdGg/KSB7XHJcbiAgICAgICAgbGV0IF9wYXJlbnRQYXRoID0gY29udHJvbC5maWVsZDtcclxuICAgICAgICBpZiAocGFyZW50UGF0aCAhPSBudWxsKSBfcGFyZW50UGF0aCA9IHBhcmVudFBhdGggKyAnLicgKyBfcGFyZW50UGF0aDtcclxuXHJcbiAgICAgICAgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBUYWJsZVNjaGVtYSkge1xyXG4gICAgICAgICAgICBpZiAoIXBhcmVudE1vZGVsW2NvbnRyb2wuZmllbGRdIHx8ICEocGFyZW50TW9kZWxbY29udHJvbC5maWVsZF0gaW5zdGFuY2VvZiBBcnJheSkpIHtcclxuICAgICAgICAgICAgICAgIHBhcmVudE1vZGVsW2NvbnRyb2wuZmllbGRdID0gW107XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGV0IGkgPSAwO1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgcGFyZW50TW9kZWxbY29udHJvbC5maWVsZF0pIHtcclxuICAgICAgICAgICAgICAgIGZvciAoY29uc3Qgc3ViQ29udHJvbCBvZiBjb250cm9sLnJvd1RlbXBsYXRlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maXhEYXRlVmFsdWUoc3ViQ29udHJvbCwgaXRlbSwgX3BhcmVudFBhdGggKyAnWycgKyBpICsgJ10nKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGkrKztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChjb250cm9sIGluc3RhbmNlb2YgQ29udGFpbmVyU2NoZW1hKSB7XHJcbiAgICAgICAgICAgIGlmIChwYXJlbnRNb2RlbFtjb250cm9sLmZpZWxkXSA9PSBudWxsIHx8ICFpc0xpdGVyYWxPYmplY3QocGFyZW50TW9kZWxbY29udHJvbC5maWVsZF0pKSB7XHJcbiAgICAgICAgICAgICAgICBwYXJlbnRNb2RlbFtjb250cm9sLmZpZWxkXSA9IHt9O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IHN1YkNvbnRyb2wgb2YgY29udHJvbC5jb250cm9scykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5maXhEYXRlVmFsdWUoc3ViQ29udHJvbCwgcGFyZW50TW9kZWxbY29udHJvbC5maWVsZF0sIF9wYXJlbnRQYXRoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBEYXRlVGltZUNvbnRyb2xTY2hlbWEpIHtcclxuICAgICAgICAgICAgICAgIGlmICghKHBhcmVudE1vZGVsW2NvbnRyb2wuZmllbGRdIGluc3RhbmNlb2YgRGF0ZSkpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoU3RyaW5nKHBhcmVudE1vZGVsW2NvbnRyb2wuZmllbGRdKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzVmFsaWREYXRlKGRhdGUpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudE1vZGVsW2NvbnRyb2wuZmllbGRdID0gZGF0ZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudE1vZGVsW2NvbnRyb2wuZmllbGRdID0gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBkaXNhYmxlQnVpbGRJbkZpZWxkKCkge1xyXG4gICAgICAgIGlmICghdGhpcy5faXNGb3JtQWRkTmV3KCkpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMubW9kZWwuZGF0YS5pc0J1aWxkSW4gJiYgdGhpcy5zZXR0aW5nLnNjaGVtYVsnY29kZSddKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldHRpbmcuc2NoZW1hWydjb2RlJ10uZGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICh0aGlzLm1vZGVsLmRhdGEuaXNCdWlsZEluQWxsKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldHRpbmcuc2NoZW1hLmZvckVhY2goaXRlbSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5kaXNhYmxlZCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBfYWRkUmVxdWlyZWRWYWxpZGF0b3Ioc2NoZW1hOiBGb3JtQ29udHJvbEJhc2UpIHtcclxuICAgICAgICBsZXQgZXhpc3QgPSBmYWxzZTtcclxuICAgICAgICBmb3IgKGNvbnN0IHZhbGlkYXRvciBvZiBzY2hlbWEudmFsaWRhdG9ycykge1xyXG4gICAgICAgICAgICBpZiAodmFsaWRhdG9yIGluc3RhbmNlb2YgUmVxdWlyZWRWYWxpZGF0b3IpIHtcclxuICAgICAgICAgICAgICAgIGV4aXN0ID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICghZXhpc3QpIHtcclxuICAgICAgICAgICAgc2NoZW1hLnZhbGlkYXRvcnMucHVzaChuZXcgUmVxdWlyZWRWYWxpZGF0b3IoKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNjaGVtYS5yZXF1aXJlZCA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgX3JlbW92ZVJlcXVpcmVkVmFsaWRhdG9yKHNjaGVtYTogRm9ybUNvbnRyb2xCYXNlKSB7XHJcbiAgICAgICAgY29uc3QgdmFsaWRhdG9ycyA9IFtdO1xyXG4gICAgICAgIGZvciAoY29uc3QgdmFsaWRhdG9yIG9mIHNjaGVtYS52YWxpZGF0b3JzKSB7XHJcbiAgICAgICAgICAgIGlmICh2YWxpZGF0b3IgaW5zdGFuY2VvZiBSZXF1aXJlZFZhbGlkYXRvcikge1xyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHZhbGlkYXRvcnMucHVzaCh2YWxpZGF0b3IpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNjaGVtYS52YWxpZGF0b3JzID0gdmFsaWRhdG9ycztcclxuICAgICAgICBzY2hlbWEucmVxdWlyZWQgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBfc2V0TW9kZWxWYWx1ZShmaWVsZDogc3RyaW5nLCB2YWx1ZTogYW55KSB7XHJcbiAgICAgICAgdGhpcy5jcnVkRm9ybS5fbW9kZWxEYXRhW2ZpZWxkXSA9IHZhbHVlO1xyXG4gICAgICAgIHRoaXMuY3J1ZEZvcm0uZmlyZU1vZGVsQ2hhbmdlZCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIG1vZGlmeURldGFpbERhdGEoZGF0YSkge1xyXG4gICAgfVxyXG5cclxuICAgIF90cmlnZ2VyU2F2ZSgpIHtcclxuICAgICAgICB0aGlzLnNhdmUoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGFzeW5jIHNhdmUoKSB7XHJcbiAgICAgICAgY29uc3QgdmFsaWRhdGVkID0gYXdhaXQgdGhpcy52YWxpZGF0ZUZvcm1CYXNlKCk7XHJcbiAgICAgICAgaWYgKHZhbGlkYXRlZCkge1xyXG4gICAgICAgICAgICB0aGlzLnRyaWdnZXJTYXZlRmlsZVVwbG9hZCgpO1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLm9uQmVmb3JlU2F2ZSgpO1xyXG4gICAgICAgICAgICBpZiAodGhpcy5hdXRvU2F2ZSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuX2lzRm9ybUVkaXQoKSB8fCB0aGlzLl9pc0Zvcm1WaWV3KCkpIHtcclxuICAgICAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLm9uVXBkYXRlKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmICh0aGlzLl9pc0Zvcm1BZGROZXcoKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMub25JbnNlcnQoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGZvcm0gdmlldywgZG8gbm90aGluZ1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVNYW51YWxTYXZlKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMubW9kZWwuc3VibWl0dGluZyA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBoYW5kbGVNYW51YWxTYXZlKCkge1xyXG5cclxuICAgIH1cclxuXHJcbiAgICB0cmlnZ2VyU2F2ZUZpbGVVcGxvYWQoKSB7XHJcbiAgICAgICAgdGhpcy5yb290Q29udGV4dC5maXJlRXZlbnQoQ29tQ3R4Q29uc3RhbnRzLkNPTU1PTi5TQVZFX0ZJTEVfSU5fRk9STSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgX2dldFJlc3VsdFZhbGlkYXRlKCkge1xyXG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLnZhbGlkYXRlRm9ybUJhc2UoKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyB2YWxpZGF0ZUZvcm0ocmVzdWx0VmFsaWRhdGVCYXNlOiBib29sZWFuKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBhc3luYyB2YWxpZGF0ZUZvcm1CYXNlKCkge1xyXG4gICAgICAgIGNvbnN0IHJlc3VsdFZhbGlkYXRlQmFzZSA9IGF3YWl0IHRoaXMuY3J1ZEZvcm0udmFsaWRhdGVGb3JtKCk7XHJcbiAgICAgICAgY29uc3QgcmVzdWx0VmFsaWRhdGUgPSBhd2FpdCB0aGlzLnZhbGlkYXRlRm9ybShyZXN1bHRWYWxpZGF0ZUJhc2UpO1xyXG4gICAgICAgIHJldHVybiByZXN1bHRWYWxpZGF0ZSAmJiByZXN1bHRWYWxpZGF0ZUJhc2U7XHJcbiAgICB9XHJcblxyXG4gICAgX3ZhbGlkYXRlRm9ybUNvbnRyb2woZmllbGRQYXRoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY3J1ZEZvcm0udmFsaWRhdGVGb3JtQ29udHJvbChmaWVsZFBhdGgpO1xyXG4gICAgfVxyXG5cclxuICAgIF9jbGVhbkZvcm0oKSB7XHJcbiAgICAgICAgdGhpcy5jcnVkRm9ybS5jbGVhbigpO1xyXG4gICAgfVxyXG5cclxuICAgIF90cmlnZ2VyQ29udHJvbENoYW5nZShmaWVsZFBhdGgpIHtcclxuICAgICAgICB0aGlzLmNydWRGb3JtLnRyaWdnZXJDaGFuZ2UoZmllbGRQYXRoKTtcclxuICAgIH1cclxuXHJcbiAgICBvbkJlZm9yZVNhdmUoKTogdm9pZCB8IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgfVxyXG5cclxuICAgIG9uQWZ0ZXJTYXZlKHJlc3BvbnNlOiBSZXNwb25zZVJlc3VsdCk6IHZvaWQgfCBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBvbkFmdGVyR2V0RGV0YWlsKCkge1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGFzeW5jIG9uSW5zZXJ0KCkge1xyXG4gICAgICAgIHRoaXMuc2V0RGVmYXVsdFZhbHVlKHRoaXMubW9kZWwuZGF0YSk7XHJcbiAgICAgICAgY29uc3QgY29uZmlybWVkID0gYXdhaXQgdGhpcy5jcmVhdGVDb25maXJtSWZSZXF1aXJlKCk7XHJcbiAgICAgICAgaWYgKCFjb25maXJtZWQpIHJldHVybjtcclxuICAgICAgICBhd2FpdCB0aGlzLl9pbnNlcnQoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNyZWF0ZUNvbmZpcm1JZlJlcXVpcmUoKSB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXMsIHJlaikgPT4ge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5tZXNzYWdlQ29uZmlybVNhdmUpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX25vdGlmaWVyU2VydmljZS5zaG93Q29uZmlybSh0aGlzLm1lc3NhZ2VDb25maXJtU2F2ZSlcclxuICAgICAgICAgICAgICAgICAgICAudGhlbihyZXMgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXJlcykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzKGZhbHNlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXModHJ1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICByZXModHJ1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGFzeW5jIF9pbnNlcnQoKSB7XHJcbiAgICAgICAgdGhpcy5nZXRQcm9taXNlQWN0aW9uSW5zZXJ0KClcclxuICAgICAgICAgICAgLnRoZW4oYXN5bmMgcmVzcG9uc2UgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5tb2RlbC5zdWJtaXR0aW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNob3dNZXNzYWdlQWZ0ZXJJbnNlcnQocmVzcG9uc2Uuc3VjY2VzcywgcmVzcG9uc2UpO1xyXG4gICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnN1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLm9uQWZ0ZXJTYXZlKHJlc3BvbnNlKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uU2F2ZWQuZW1pdCgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVJbnNlcnRFcnJvcihyZXNwb25zZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0sIGVycm9yID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICghZXJyb3IuZXJyb3Iuc3VjY2VzcyAmJiBlcnJvci5lcnJvci5lcnJvckNoZWNrRXhpc3QpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm1vZGVsLnN1Ym1pdHRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aGlzLm1vZGVsLnN1Ym1pdHRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2hvd01lc3NhZ2VBZnRlckluc2VydChmYWxzZSwgZXJyb3IpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRQcm9taXNlQWN0aW9uSW5zZXJ0KCk6IFByb21pc2U8UmVzcG9uc2VSZXN1bHQ+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXR0aW5nLmJhc2VTZXJ2aWNlLnBvc3QodGhpcy5tb2RlbC5kYXRhLCB0aGlzLmluc2VydFBsdXNVcmwpO1xyXG4gICAgfVxyXG5cclxuICAgIGhhbmRsZUluc2VydEVycm9yKHJlc3BvbnNlPzogUmVzcG9uc2VSZXN1bHQpIHtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBhc3luYyBvblVwZGF0ZSgpIHtcclxuICAgICAgICB0aGlzLnNldERlZmF1bHRWYWx1ZSh0aGlzLm1vZGVsLmRhdGEpO1xyXG4gICAgICAgIHRoaXMuZ2V0UHJvbWlzZUFjdGlvblVwZGF0ZSgpXHJcbiAgICAgICAgICAgIC50aGVuKGFzeW5jIHJlc3BvbnNlID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMubW9kZWwuc3VibWl0dGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zaG93TWVzc2FnZUFmdGVyVXBkYXRlKHJlc3BvbnNlLnN1Y2Nlc3MsIHJlc3BvbnNlKTtcclxuICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5zdWNjZXNzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5vbkFmdGVyU2F2ZShyZXNwb25zZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vblNhdmVkLmVtaXQoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlVXBkYXRlRXJyb3IocmVzcG9uc2UpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9LCBlcnJvciA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoIWVycm9yLmVycm9yLnN1Y2Nlc3MgJiYgZXJyb3IuZXJyb3IuZXJyb3JDaGVja0V4aXN0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tb2RlbC5zdWJtaXR0aW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5tb2RlbC5zdWJtaXR0aW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNob3dNZXNzYWdlQWZ0ZXJVcGRhdGUoZmFsc2UsIGVycm9yKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgaGFuZGxlVXBkYXRlRXJyb3IocmVzcG9uc2U/OiBSZXNwb25zZVJlc3VsdCkge1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBnZXRQcm9taXNlQWN0aW9uVXBkYXRlKCk6IFByb21pc2U8UmVzcG9uc2VSZXN1bHQ+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXR0aW5nLmJhc2VTZXJ2aWNlLnB1dCh0aGlzLm1vZGVsLmRhdGEuaWQudG9TdHJpbmcoKSwgdGhpcy5tb2RlbC5kYXRhLCB0aGlzLnVwZGF0ZVBsdXNVcmwpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc2V0RGVmYXVsdFZhbHVlKG1vZGVsKSB7XHJcbiAgICAgICAgaWYgKG1vZGVsLmlzQnVpbGRJbiA9PT0gbnVsbCB8fCBtb2RlbC5pc0J1aWxkSW4gPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICBtb2RlbC5pc0J1aWxkSW4gPSBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChtb2RlbC5pc0J1aWxkSW5BbGwgPT09IG51bGwgfHwgbW9kZWwuaXNCdWlsZEluQWxsID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgbW9kZWwuaXNCdWlsZEluQWxsID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc2hvd01lc3NhZ2VBZnRlckluc2VydChpc1N1Y2Nlc3M6IGJvb2xlYW4gPSBmYWxzZSwgZXJyb3I/OiBhbnkpIHtcclxuICAgICAgICBpZiAoaXNTdWNjZXNzKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLm1lc3NhZ2VJbnNlcnRTdWNjZXNzKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9ub3RpZmllclNlcnZpY2Uuc2hvd1N1Y2Nlc3ModGhpcy5tZXNzYWdlSW5zZXJ0U3VjY2Vzcyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlUmVzcG9uc2VFcnJvcihlcnJvcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc2hvd01lc3NhZ2VBZnRlclVwZGF0ZShpc1N1Y2Nlc3M6IGJvb2xlYW4gPSBmYWxzZSwgZXJyb3I/OiBhbnkpIHtcclxuICAgICAgICBpZiAoaXNTdWNjZXNzKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLm1lc3NhZ2VVcGRhdGVTdWNjZXNzKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9ub3RpZmllclNlcnZpY2Uuc2hvd1N1Y2Nlc3ModGhpcy5tZXNzYWdlVXBkYXRlU3VjY2Vzcyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlUmVzcG9uc2VFcnJvcihlcnJvcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGhhbmRsZVJlc3BvbnNlRXJyb3IoZXJyb3IpIHtcclxuICAgICAgICBpZiAoZXJyb3IubWVzc2FnZSkge1xyXG4gICAgICAgICAgICB0aGlzLl9ub3RpZmllclNlcnZpY2Uuc2hvd1dhcm5pbmcoZXJyb3IubWVzc2FnZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGVycm9yLmVycm9yKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX25vdGlmaWVyU2VydmljZS5zaG93V2FybmluZyhlcnJvci5lcnJvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLl9ub3RpZmllclNlcnZpY2Uuc2hvd1dhcm5pbmcoJ0PDsyBs4buXaSB44bqjeSByYSwgbGnDqm4gaOG7hyBxdeG6o24gdHLhu4sgdmnDqm4gxJHhu4MgYmnhur90IHRow6ptIGNoaSB0aeG6v3QnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgb25Gb3JtSW5pdGlhbGl6ZWQoZGF0YTogRXZlbnREYXRhKSB7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIF9oYW5kbGVBZnRlclRyaW5oS3koZXZ0KSB7XHJcbiAgICAgICAgZGVsZXRlIHRoaXMubW9kZWwuZGF0YVtLZXlGbGFzaFNob3ddO1xyXG4gICAgICAgIHRoaXMuX2hhbmRsZUNhbmNlbChldnQpO1xyXG4gICAgfVxyXG5cclxuICAgIF9oYW5kbGVTYXZlKGV2dCkge1xyXG4gICAgICAgIGlmICh0aGlzLm1vZGVsLnN1Ym1pdHRpbmcpIHJldHVybjtcclxuICAgICAgICB0aGlzLm1vZGVsLnN1Ym1pdHRpbmcgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuc2F2ZSgpO1xyXG4gICAgICAgIHRoaXMub25TYXZlLmVtaXQoZXZ0KTtcclxuICAgIH1cclxuXHJcbiAgICBfaGFuZGxlQ2FuY2VsKGV2dCkge1xyXG4gICAgICAgIHRoaXMub25DYW5jZWwuZW1pdChldnQpO1xyXG4gICAgfVxyXG5cclxuICAgIF9oYW5kbGVNZXNzYWdlKGV2dCkge1xyXG4gICAgICAgIHRoaXMub25NZXNzYWdlLmVtaXQoZXZ0KTtcclxuICAgIH1cclxuXHJcbiAgICBfc2V0RGlzYWJsZUNvbnRyb2wodW5pcXVlRmllbGQsIGlzRGlzYWJsZWQpIHtcclxuICAgICAgICB0aGlzLmNydWRGb3JtLmZvcm1Db250cm9sc1t1bmlxdWVGaWVsZF0uZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gICAgfVxyXG5cclxuICAgIF9zZXRIaWRkZW5Db250cm9sKHVuaXF1ZUZpZWxkLCBpc0hpZGRlbikge1xyXG4gICAgICAgIHRoaXMuY3J1ZEZvcm0uZm9ybUNvbnRyb2xzW3VuaXF1ZUZpZWxkXS5oaWRkZW4gPSBpc0hpZGRlbjtcclxuICAgIH1cclxuXHJcbiAgICBfZ2V0Rm9ybVN0YXRlKCk6IEZvcm1TdGF0ZSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubW9kZWwuZm9ybVN0YXRlO1xyXG4gICAgfVxyXG5cclxuICAgIF9pc0Zvcm1BZGROZXcoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldEZvcm1TdGF0ZSgpID09IEZvcm1TdGF0ZS5BREQ7XHJcbiAgICB9XHJcblxyXG4gICAgX2lzRm9ybUVkaXQoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldEZvcm1TdGF0ZSgpID09IEZvcm1TdGF0ZS5FRElUO1xyXG4gICAgfVxyXG5cclxuICAgIF9pc0Zvcm1WaWV3KCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRGb3JtU3RhdGUoKSA9PSBGb3JtU3RhdGUuVklFVztcclxuICAgIH1cclxufVxyXG4iXX0=