@senior-agronegocio/angular-components 0.0.76 → 0.0.78

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 (60) hide show
  1. package/bundles/senior-agronegocio-angular-components.umd.js +145 -139
  2. package/bundles/senior-agronegocio-angular-components.umd.js.map +1 -1
  3. package/bundles/senior-agronegocio-angular-components.umd.min.js +1 -1
  4. package/bundles/senior-agronegocio-angular-components.umd.min.js.map +1 -1
  5. package/components/cancel-event-dialog/index.d.ts +3 -3
  6. package/components/event-control-board/event-control-board.component.d.ts +4 -2
  7. package/components/event-control-board/index.d.ts +24 -24
  8. package/components/event-control-board/service/event-control-item/event-control-item.d.ts +4 -4
  9. package/components/event-steps/index.d.ts +2 -2
  10. package/components/index.d.ts +3 -3
  11. package/enums/index.d.ts +6 -6
  12. package/esm2015/common/agro-string-utils.class.js +13 -34
  13. package/esm2015/components/cancel-event-dialog/cancel-event-dialog.module.js +2 -10
  14. package/esm2015/components/cancel-event-dialog/index.js +3 -3
  15. package/esm2015/components/event-control-board/common/control-status.js +1 -1
  16. package/esm2015/components/event-control-board/common/event-control-constants.js +55 -14
  17. package/esm2015/components/event-control-board/event-control-board.component.js +70 -65
  18. package/esm2015/components/event-control-board/index.js +24 -24
  19. package/esm2015/components/event-control-board/service/event-control/event-control.module.js +7 -9
  20. package/esm2015/components/event-control-board/service/event-control-item/event-control-item.js +15 -15
  21. package/esm2015/components/event-control-board/service/event-control-item/event-control-item.module.js +7 -9
  22. package/esm2015/components/event-control-board/service/external-invoice/external-invoice.module.js +7 -9
  23. package/esm2015/components/event-control-board/service/fixation-entity/fixation.module.js +6 -6
  24. package/esm2015/components/event-control-board/service/rural-estate/rural-estate.module.js +7 -9
  25. package/esm2015/components/event-control-board/shared.module.js +9 -9
  26. package/esm2015/components/event-steps/index.js +3 -3
  27. package/esm2015/components/index.js +4 -4
  28. package/esm2015/enums/agro-string-masks.enum.js +1 -1
  29. package/esm2015/enums/date-comparison-type.enum.js +1 -1
  30. package/esm2015/enums/index.js +7 -7
  31. package/esm2015/enums/number-comparison-type.enum.js +1 -1
  32. package/esm2015/services/i18n/pt-BR.js +2 -2
  33. package/esm2015/services/websocket/websocket.service.js +1 -2
  34. package/esm5/common/agro-string-utils.class.js +13 -34
  35. package/esm5/components/cancel-event-dialog/cancel-event-dialog.module.js +2 -10
  36. package/esm5/components/cancel-event-dialog/index.js +3 -3
  37. package/esm5/components/event-control-board/common/control-status.js +1 -1
  38. package/esm5/components/event-control-board/common/event-control-constants.js +55 -14
  39. package/esm5/components/event-control-board/event-control-board.component.js +65 -62
  40. package/esm5/components/event-control-board/index.js +24 -24
  41. package/esm5/components/event-control-board/service/event-control/event-control.module.js +7 -9
  42. package/esm5/components/event-control-board/service/event-control-item/event-control-item.js +15 -15
  43. package/esm5/components/event-control-board/service/event-control-item/event-control-item.module.js +7 -9
  44. package/esm5/components/event-control-board/service/external-invoice/external-invoice.module.js +7 -9
  45. package/esm5/components/event-control-board/service/fixation-entity/fixation.module.js +6 -6
  46. package/esm5/components/event-control-board/service/rural-estate/rural-estate.module.js +7 -9
  47. package/esm5/components/event-control-board/shared.module.js +9 -9
  48. package/esm5/components/event-steps/index.js +3 -3
  49. package/esm5/components/index.js +4 -4
  50. package/esm5/enums/agro-string-masks.enum.js +1 -1
  51. package/esm5/enums/date-comparison-type.enum.js +1 -1
  52. package/esm5/enums/index.js +7 -7
  53. package/esm5/enums/number-comparison-type.enum.js +1 -1
  54. package/esm5/services/i18n/pt-BR.js +2 -2
  55. package/esm5/services/websocket/websocket.service.js +2 -3
  56. package/fesm2015/senior-agronegocio-angular-components.js +150 -142
  57. package/fesm2015/senior-agronegocio-angular-components.js.map +1 -1
  58. package/fesm5/senior-agronegocio-angular-components.js +145 -139
  59. package/fesm5/senior-agronegocio-angular-components.js.map +1 -1
  60. package/package.json +1 -1
@@ -1,3 +1,3 @@
1
- export { CancelEventDialogComponent } from './cancel-event-dialog.component';
2
- export { CancelEventDialogModule } from './cancel-event-dialog.module';
3
- export { CancelEventDialogConfig } from './cancel-event-dialog-config';
1
+ export { CancelEventDialogComponent } from "./cancel-event-dialog.component";
2
+ export { CancelEventDialogModule } from "./cancel-event-dialog.module";
3
+ export { CancelEventDialogConfig } from "./cancel-event-dialog-config";
@@ -1,4 +1,4 @@
1
- import { EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
1
+ import { EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges } from "@angular/core";
2
2
  import { FormBuilder, FormGroup } from "@angular/forms";
3
3
  import { BadgeColors, ButtonPriority, FormField, Step } from "@seniorsistemas/angular-components";
4
4
  import { DialogService, MessageService } from "primeng";
@@ -34,7 +34,7 @@ export declare class EventControlBoardComponent implements OnInit, OnDestroy, On
34
34
  producerInvoice: any;
35
35
  steps: Step[];
36
36
  selectedStep: any;
37
- eventId: '';
37
+ eventId: "";
38
38
  showSidebar: boolean;
39
39
  showReprocessButton: boolean;
40
40
  sidebarTitle: string;
@@ -94,6 +94,8 @@ export declare class EventControlBoardComponent implements OnInit, OnDestroy, On
94
94
  };
95
95
  getProducerInvoiceIdFromParams(param: any): any;
96
96
  stepSelected(event: any): void;
97
+ private applySidebarTitle;
98
+ private getProducerInvoiceNumberAndSerie;
97
99
  reprocessEvent(): void;
98
100
  private addMessage;
99
101
  openModal(): void;
@@ -1,24 +1,24 @@
1
- export { EventControlBoardComponent } from './event-control-board.component';
2
- export { EventControlBoardService } from './service/event-control-board.service';
3
- export { SharedModule } from './shared.module';
4
- export { EventControlBoardModule } from './event-control-board.module';
5
- export { EventStepsModule } from '../event-steps/index';
6
- export { FixationModule } from './service/fixation-entity/fixation.module';
7
- export { E001pesModule } from './service/e001pes/e001pes.module';
8
- export { E001TnsModule } from './service/e001tns/e001tns.module';
9
- export { E070EmpModule } from './service/e070emp/e070emp.module';
10
- export { E070FilModule } from './service/e070fil/e070fil.module';
11
- export { E075DerModule } from './service/e075der/e075der.module';
12
- export { E205depService } from './service/e205dep/e205dep.service';
13
- export { EventControlModule } from './service/event-control/event-control.module';
14
- export { EventControlItemModule } from './service/event-control-item/event-control-item.module';
15
- export { ExternalInvoiceModule } from './service/external-invoice/external-invoice.module';
16
- export { InvoiceModule } from './service/invoice/invoice.module';
17
- export { OriginationModule } from './service/origination/origination.module';
18
- export { ProducerInvoiceModule } from './service/producer-invoice/producer-invoice.module';
19
- export { RuralEstateModule } from './service/rural-estate/rural-estate.module';
20
- export { TicketModule } from './service/ticket/ticket.module';
21
- export { PaginatorStorageService } from './service/paginator-storage.service';
22
- export { TransferModule } from './service/transfer/transfer.module';
23
- export { CancelEventDialogModule } from '../cancel-event-dialog/index';
24
- export { CancelEventDialogConfig } from '../cancel-event-dialog/cancel-event-dialog-config';
1
+ export { EventControlBoardComponent } from "./event-control-board.component";
2
+ export { EventControlBoardService } from "./service/event-control-board.service";
3
+ export { SharedModule } from "./shared.module";
4
+ export { EventControlBoardModule } from "./event-control-board.module";
5
+ export { EventStepsModule } from "../event-steps/index";
6
+ export { FixationModule } from "./service/fixation-entity/fixation.module";
7
+ export { E001pesModule } from "./service/e001pes/e001pes.module";
8
+ export { E001TnsModule } from "./service/e001tns/e001tns.module";
9
+ export { E070EmpModule } from "./service/e070emp/e070emp.module";
10
+ export { E070FilModule } from "./service/e070fil/e070fil.module";
11
+ export { E075DerModule } from "./service/e075der/e075der.module";
12
+ export { E205depService } from "./service/e205dep/e205dep.service";
13
+ export { EventControlModule } from "./service/event-control/event-control.module";
14
+ export { EventControlItemModule } from "./service/event-control-item/event-control-item.module";
15
+ export { ExternalInvoiceModule } from "./service/external-invoice/external-invoice.module";
16
+ export { InvoiceModule } from "./service/invoice/invoice.module";
17
+ export { OriginationModule } from "./service/origination/origination.module";
18
+ export { ProducerInvoiceModule } from "./service/producer-invoice/producer-invoice.module";
19
+ export { RuralEstateModule } from "./service/rural-estate/rural-estate.module";
20
+ export { TicketModule } from "./service/ticket/ticket.module";
21
+ export { PaginatorStorageService } from "./service/paginator-storage.service";
22
+ export { TransferModule } from "./service/transfer/transfer.module";
23
+ export { CancelEventDialogModule } from "../cancel-event-dialog/index";
24
+ export { CancelEventDialogConfig } from "../cancel-event-dialog/cancel-event-dialog-config";
@@ -1,7 +1,7 @@
1
- import { EventControlItemDto } from '../event-control-item/event-control-item-dto';
2
- import { EventControl } from '../event-control/event-control';
3
- import { EventOperation } from '../../common/event-operation';
4
- import { EventStatus } from '../../common/event-status';
1
+ import { EventControlItemDto } from "../event-control-item/event-control-item-dto";
2
+ import { EventControl } from "../event-control/event-control";
3
+ import { EventOperation } from "../../common/event-operation";
4
+ import { EventStatus } from "../../common/event-status";
5
5
  export declare class EventControlItem {
6
6
  id?: string;
7
7
  eventControl: EventControl;
@@ -1,2 +1,2 @@
1
- export { EventStepsComponent } from './event-steps.component';
2
- export { EventStepsModule } from './event-steps.module';
1
+ export { EventStepsComponent } from "./event-steps.component";
2
+ export { EventStepsModule } from "./event-steps.module";
@@ -1,3 +1,3 @@
1
- export * from './event-control-board/index';
2
- export * from './event-steps/index';
3
- export * from './cancel-event-dialog/index';
1
+ export * from "./event-control-board/index";
2
+ export * from "./event-steps/index";
3
+ export * from "./cancel-event-dialog/index";
package/enums/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- export { AgroEntityStatus } from './agro-entity-status.enum';
2
- export { AGRO_NUMBERS, NUMBERS } from './agro-numbers.enum';
3
- export { AgroStringMasks } from './agro-string-masks.enum';
4
- export { DateComparisonType } from './date-comparison-type.enum';
5
- export { HttpCodes } from './http-codes.enum';
6
- export { NumberComparisonType } from './number-comparison-type.enum';
1
+ export { AgroEntityStatus } from "./agro-entity-status.enum";
2
+ export { AGRO_NUMBERS, NUMBERS } from "./agro-numbers.enum";
3
+ export { AgroStringMasks } from "./agro-string-masks.enum";
4
+ export { DateComparisonType } from "./date-comparison-type.enum";
5
+ export { HttpCodes } from "./http-codes.enum";
6
+ export { NumberComparisonType } from "./number-comparison-type.enum";
@@ -251,42 +251,21 @@ export class AgroStringUtils {
251
251
  return matches ? matches.length : AGRO_NUMBERS.ZERO;
252
252
  }
253
253
  static validateCPF(cpf) {
254
- // Remover caracteres não numéricos
255
254
  cpf = cpf.replace(/\D/g, "");
256
- // Verificar se o CPF tem 11 dígitos
257
- if (cpf.length !== AGRO_NUMBERS.ELEVEN) {
255
+ if (cpf.length !== 11 || /^(\d)\1+$/.test(cpf)) {
258
256
  return false;
259
257
  }
260
- // Verificar se todos os dígitos são iguais (caso contrário, é um sinal de CPF inválido)
261
- if (/^(\d)\1{10}$/.test(cpf)) {
262
- return false;
263
- }
264
- // Calcular o primeiro dígito verificador
265
- let sum = AGRO_NUMBERS.ZERO;
266
- let remainder;
267
- for (let i = AGRO_NUMBERS.ONE; i <= AGRO_NUMBERS.NINE; i++) {
268
- sum += parseInt(cpf[i - AGRO_NUMBERS.ONE]) * (AGRO_NUMBERS.ELEVEN - i);
269
- }
270
- remainder = sum % AGRO_NUMBERS.ELEVEN;
271
- if (remainder === AGRO_NUMBERS.TEN || remainder === AGRO_NUMBERS.ELEVEN) {
272
- remainder = AGRO_NUMBERS.ZERO;
273
- }
274
- if (remainder !== parseInt(cpf[AGRO_NUMBERS.NINE])) {
275
- return false;
276
- }
277
- // Calcular o segundo dígito verificador
278
- sum = AGRO_NUMBERS.ZERO;
279
- for (let i = AGRO_NUMBERS.ONE; i <= AGRO_NUMBERS.TEN; i++) {
280
- sum += parseInt(cpf[i - AGRO_NUMBERS.ONE]) * (AGRO_NUMBERS.TWELVE - i);
281
- }
282
- remainder = sum % AGRO_NUMBERS.ELEVEN;
283
- if (remainder === AGRO_NUMBERS.TEN || remainder === AGRO_NUMBERS.ELEVEN) {
284
- remainder = AGRO_NUMBERS.ZERO;
285
- }
286
- if (remainder !== parseInt(cpf[AGRO_NUMBERS.TEN])) {
287
- return false;
288
- }
289
- return true;
258
+ const calcVerifier = (cpf, length) => {
259
+ let sum = 0;
260
+ for (let i = 0; i < length; i++) {
261
+ sum += parseInt(cpf[i]) * (length + 1 - i);
262
+ }
263
+ let result = sum % 11;
264
+ return result < 2 ? 0 : 11 - result;
265
+ };
266
+ const digit1 = calcVerifier(cpf, 9);
267
+ const digit2 = calcVerifier(cpf, 10);
268
+ return digit1 === parseInt(cpf[9]) && digit2 === parseInt(cpf[10]);
290
269
  }
291
270
  static validateCNPJ(cnpj) {
292
271
  // Remove todos os caracteres não numéricos
@@ -364,4 +343,4 @@ export class AgroStringUtils {
364
343
  return !AgroStringUtils.isValid(str);
365
344
  }
366
345
  }
367
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdyby1zdHJpbmctdXRpbHMuY2xhc3MuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWFncm9uZWdvY2lvL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbW1vbi9hZ3JvLXN0cmluZy11dGlscy5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVuRCxPQUFPLEVBQUUsZUFBZSxJQUFJLFdBQVcsRUFBRSxDQUFDO0FBRzFDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGVBQWU7SUFDeEI7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBbUI7O1FBQzlCLE9BQU8sQ0FBQyxHQUFHLElBQUksT0FBQSxHQUFHLENBQUMsSUFBSSxFQUFFLDBDQUFFLE1BQU0sTUFBSyxZQUFZLENBQUMsSUFBSSxDQUFDO0lBQzVELENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFtQjtRQUNqQyxPQUFPLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBbUI7UUFDOUIsT0FBTyxDQUFDLEdBQUcsSUFBSSxVQUFVLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBbUI7UUFDakMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQW1CO1FBQ2pDLElBQUksQ0FBQyxHQUFHO1lBQUUsT0FBTyxJQUFJLENB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Li9lbnVtc1wiO1xyXG5pbXBvcnQgeyBBR1JPX1JFR0VYIH0gZnJvbSBcIi4vYWdyby1yZWdleC5jb25zdGFudFwiO1xyXG5cclxuZXhwb3J0IHsgQWdyb1N0cmluZ1V0aWxzIGFzIFN0cmluZ1V0aWxzIH07XHJcblxyXG5leHBvcnQgdHlwZSBOdWxsYWJsZVN0cmluZyA9IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XHJcbi8qKlxyXG4gKiBDbGFzc2UgdXRpbGl0w6FyaWEgcGFyYSBvcGVyYcOnw7VlcyBkZSBzdHJpbmcuXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgQWdyb1N0cmluZ1V0aWxzIHtcclxuICAgIC8qKlxyXG4gICAgICogVmVyaWZpY2Egc2UgdW1hIHN0cmluZyBlc3TDoSB2YXppYSBvdSBjb25zaXN0ZSBhcGVuYXMgZGUgY2FyYWN0ZXJlcyBkZSBlc3Bhw6dvIGVtIGJyYW5jby5cclxuICAgICAqIEBwYXJhbSBzdHIgLSBBIHN0cmluZyBhIHNlciB2ZXJpZmljYWRhLlxyXG4gICAgICogQHJldHVybnMgVHJ1ZSBzZSBhIHN0cmluZyBlc3RpdmVyIHZhemlhIG91IGNvbnNpc3RpciBhcGVuYXMgZGUgY2FyYWN0ZXJlcyBkZSBlc3Bhw6dvIGVtIGJyYW5jbywgZmFsc2UgY2FzbyBjb250csOhcmlvLlxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgaXNFbXB0eShzdHI6IE51bGxhYmxlU3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuICFzdHIgfHwgc3RyLnRyaW0oKT8ubGVuZ3RoID09PSBBR1JPX05VTUJFUlMuWkVSTztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFZlcmlmaWNhIHNlIHVtYSBzdHJpbmcgbsOjbyBlc3TDoSB2YXppYSBlIG7Do28gY29uc2lzdGUgYXBlbmFzIGRlIGNhcmFjdGVyZXMgZGUgZXNwYcOnbyBlbSBicmFuY28uXHJcbiAgICAgKiBAcGFyYW0gc3RyIC0gQSBzdHJpbmcgYSBzZXIgdmVyaWZpY2FkYS5cclxuICAgICAqIEByZXR1cm5zIFRydWUgc2UgYSBzdHJpbmcgbsOjbyBlc3RpdmVyIHZhemlhIGUgbsOjbyBjb25zaXN0aXIgYXBlbmFzIGRlIGNhcmFjdGVyZXMgZGUgZXNwYcOnbyBlbSBicmFuY28sIGZhbHNlIGNhc28gY29udHLDoXJpby5cclxuICAgICAqL1xyXG4gICAgc3RhdGljIGlzTm90RW1wdHkoc3RyOiBOdWxsYWJsZVN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiAhQWdyb1N0cmluZ1V0aWxzLmlzRW1wdHkoc3RyKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFZlcmlmaWNhIHNlIHVtYSBzdHJpbmcgZXN0w6EgdmF6aWEsIGNvbnNpc3RlIGFwZW5hcyBkZSBjYXJhY3RlcmVzIGRlIGVzcGHDp28gZW0gYnJhbmNvIG91IMOpIG51bGEuXHJcbiAgICAgKiBAcGFyYW0gc3RyIC0gQSBzdHJpbmcgYSBzZXIgdmVyaWZpY2FkYS5cclxuICAgICAqIEByZXR1cm5zIFRydWUgc2UgYSBzdHJpbmcgZXN0aXZlciB2YXppYSwgY29uc2lzdGlyIGFwZW5hcyBkZSBjYXJhY3RlcmVzIGRlIGVzcGHDp28gZW0gYnJhbmNvIG91IGZvciBudWxhLCBmYWxzZSBjYXNvIGNvbnRyw6FyaW8uXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBpc0JsYW5rKHN0cjogTnVsbGFibGVTdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gIXN0ciB8fCBBR1JPX1JFR0VYLm9ubHlCbGFua1NwYWNlcy50ZXN0KHN0cik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBWZXJpZmljYSBzZSB1bWEgc3RyaW5nIG7Do28gZXN0w6EgdmF6aWEsIG7Do28gY29uc2lzdGUgYXBlbmFzIGRlIGNhcmFjdGVyZXMgZGUgZXNwYcOnbyBlbSBicmFuY28gZSBuw6NvIMOpIG51bGEuXHJcbiAgICAgKiBAcGFyYW0gc3RyIC0gQSBzdHJpbmcgYSBzZXIgdmVyaWZpY2FkYS5cclxuICAgICAqIEByZXR1cm5zIFRydWUgc2UgYSBzdHJpbmcgbsOjbyBlc3RpdmVyIHZhemlhLCBuw6NvIGNvbnNpc3RpciBhcGVuYXMgZGUgY2FyYWN0ZXJlcyBkZSBlc3Bhw6dvIGVtIGJyYW5jbyBlIG7Do28gZm9yIG51bGEsIGZhbHNlIGNhc28gY29udHLDoXJpby5cclxuICAgICAqL1xyXG4gICAgc3RhdGljIGlzTm90Qmxhbmsoc3RyOiBOdWxsYWJsZVN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiAhQWdyb1N0cmluZ1V0aWxzLmlzQmxhbmsoc3RyKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJlbW92ZSBvcyBlc3Bhw6dvcyBlbSBicmFuY28gZGUgdW1hIHN0cmluZyBlIHJldG9ybmEgbnVsbCBzZSBhIHN0cmluZyByZXN1bHRhbnRlIGVzdGl2ZXIgdmF6aWEsIGNhc28gY29udHLDoXJpbyByZXRvcm5hIGEgc3RyaW5nIHNlbSBlc3Bhw6dvcyBlbSBicmFuY28uXHJcbiAgICAgKiBAcGFyYW0gc3RyIC0gQSBzdHJpbmcgYSBzZXIgcmVtb3ZpZG9zIG9zIGVzcGHDp29zIGVtIGJyYW5jby5cclxuICAgICAqIEByZXR1cm5zIEEgc3RyaW5nIHNlbSBlc3Bhw6dvcyBlbSBicmFuY28gb3UgbnVsbCBzZSBhIHN0cmluZyByZXN1bHRhbnRlIGVzdGl2ZXIgdmF6aWEuXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyB0cmltVG9OdWxsKHN0cjogTnVsbGFibGVTdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgICAgICBpZiAoIXN0cikgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgY29uc3QgdHJpbW1lZCA9IHN0ci50cmltKCk7XHJcbiAgICAgICAgcmV0dXJuIHRyaW1tZWQgPT09IFwiXCIgPyBudWxsIDogdHJpbW1lZDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFZlcmlmaWNhIHNlIGR1YXMgc3RyaW5ncyBzw6NvIGlndWFpcywgaWdub3JhbmRvIG1hacO6c2N1bGFzIGUgbWluw7pzY3VsYXMuXHJcbiAgICAgKiBAcGFyYW0gc3RyMSAtIEEgcHJpbWVpcmEgc3RyaW5nIGEgc2VyIGNvbXBhcmFkYS5cclxuICAgICAqIEBwYXJhbSBzdHIyIC0gQSBzZWd1bmRhIHN0cmluZyBhIHNlciBjb21wYXJhZGEuXHJcbiAgICAgKiBAcmV0dXJucyBUcnVlIHNlIGFzIHN0cmluZ3MgZm9yZW0gaWd1YWlzLCBpZ25vcmFuZG8gbWFpw7pzY3VsYXMgZSBtaW7DunNjdWxhcywgZmFsc2UgY2FzbyBjb250csOhcmlvLlxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgZXF1YWxzSWdub3JlQ2FzZShzdHIxOiBOdWxsYWJsZVN0cmluZywgc3RyMjogTnVsbGFibGVTdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gc3RyMT8udG9Mb3dlckNhc2UoKSA9PT0gc3RyMj8udG9Mb3dlckNhc2UoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFZlcmlmaWNhIHNlIGR1YXMgc3RyaW5ncyBzw6NvIGlndWFpcy5cclxuICAgICAqIEBwYXJhbSBzdHIxXHJcbiAgICAgKiBAcGFyYW0gc3RyMlxyXG4gICAgICogQHJldHVybnNcclxuICAgICAqL1xyXG4gICAgc3RhdGljIGVxdWFscyhzdHIxOiBOdWxsYWJsZVN0cmluZywgc3RyMjogTnVsbGFibGVTdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gc3RyMSA9PT0gc3RyMjtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEludmVydGUgb3MgY2FyYWN0ZXJlcyBkZSB1bWEgc3RyaW5nLlxyXG4gICAgICogQHBhcmFtIHN0ciAtIEEgc3RyaW5nIGEgc2VyIGludmVydGlkYS5cclxuICAgICAqIEByZXR1cm5zIEEgc3RyaW5nIGludmVydGlkYS5cclxuICAgICAqL1xyXG4gICAgc3RhdGljIHJldmVyc2Uoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBzdHIuc3BsaXQoXCJcIikucmV2ZXJzZSgpLmpvaW4oXCJcIik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBWZXJpZmljYSBzZSBhIHN0cmluZyDDqSB1bSBlLW1haWwuXHJcbiAgICAgKiBAcGFyYW0gc3RyIC0gQSBzdHJpbmcgYSBzZXIgdGVzdGFkYVxyXG4gICAgICogQHJldHVybnMgLSBUcnVlIHNlIGEgc3RyaW5nIGZvciB1bSBlLW1haWwsIGZhbHNlIGNhc28gY29udHLDoXJpby5cclxuICAgICAqL1xyXG4gICAgc3RhdGljIGlzRW1haWwoc3RyOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gQUdST19SRUdFWC5pc0VtYWlsLnRlc3Qoc3RyKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFZlcmlmaWNhIHNlIGEgc3RyaW5nIMOpIHVtIG7Dum1lcm8gaW50ZWlybyBwb3NpdGl2by5cclxuICAgICAqIEBwYXJhbSBzdHIgLSBBIHN0cmluZyBhIHNlciB0ZXN0YWRhXHJcbiAgICAgKiBAcmV0dXJucyAtIFRydWUgc2UgYSBzdHJpbmcgZm9yIHVtIG7Dum1lcm8gaW50ZWlybyBwb3NpdGl2bywgZmFsc2UgY2FzbyBjb250csOhcmlvLlxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgaXNQb3NpdGl2ZUludGVnZXIoc3RyOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gQUdST19SRUdFWC5wb3NpdGl2ZUludGVnZXIudGVzdChzdHIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVmVyaWZpY2Egc2UgYSBzdHJpbmcgw6kgdW0gbsO6bWVybyBkZWNpbWFsIHBvc2l0aXZvLlxyXG4gICAgICogQHBhcmFtIHN0ciAtIEEgc3RyaW5nIGEgc2VyIHRlc3RhZGFcclxuICAgICAqIEByZXR1cm5zIC0gVHJ1ZSBzZSBhIHN0cmluZyBmb3IgdW0gbsO6bWVybyBkZWNpbWFsIHBvc2l0aXZvLCBmYWxzZSBjYXNvIGNvbnRyw6FyaW8uXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBpc1Bvc2l0aXZlRGVjaW1hbChzdHI6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBBR1JPX1JFR0VYLnBvc2l0aXZlRGVjaW1hbC50ZXN0KHN0cik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBWZXJpZmljYSBzZSBhIHN0cmluZyDDqSB1bSBDRVAgKEPDs2RpZ28gUG9zdGFsKS5cclxuICAgICAqIEBwYXJhbSBzdHIgLSBBIHN0cmluZyBhIHNlciB0ZXN0YWRhXHJcbiAgICAgKiBAcmV0dXJucyAtIFRydWUgc2UgYSBzdHJpbmcgZm9yIHVtIENFUCwgZmFsc2UgY2FzbyBjb250csOhcmlvLlxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgaXNaaXBDb2RlKHN0cjogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIEFHUk9fUkVHRVguemlwQ29kZS50ZXN0KHN0cik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBWZXJpZmljYSBzZSBhIHN0cmluZyDDqSB1bSBVVUlELlxyXG4gICAgICogQHBhcmFtIHN0ciAtIEEgc3RyaW5nIGEgc2VyIHRlc3RhZGFcclxuICAgICAqIEByZXR1cm5zIC0gVHJ1ZSBzZSBhIHN0cmluZyBmb3IgdW0gVVVJRCwgZmFsc2UgY2FzbyBjb250csOhcmlvLlxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgaXNVVUlEKHN0cjogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIEFHUk9fUkVHRVguaXNVVUlELnRlc3Qoc3RyKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFZlcmlmaWNhIHNlIGEgc3RyaW5nIMOpIHVtIG7Dum1lcm8uXHJcbiAgICAgKiBAcGFyYW0gc3RyIC0gQSBzdHJpbmcgYSBzZXIgdGVzdGFkYVxyXG4gICAgICogQHJldHVybnMgLSBUcnVlIHNlIGEgc3RyaW5nIGZvciB1bSBuw7ptZXJvLCBmYWxzZSBjYXNvIGNvbnRyw6FyaW8uXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBpc051bWJlcihzdHI6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBBR1JPX1JFR0VYLmlzTnVtYmVyLnRlc3Qoc3RyKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldG9ybmEgYSBkaWZlcmVuw6dhIGVudHJlIGR1YXMgc3RyaW5ncy5cclxuICAgICAqIEBwYXJhbSBzdHIxXHJcbiAgICAgKiBAcGFyYW0gc3RyMlxyXG4gICAgICogQHJldHVybnNcclxuICAgICAqL1xyXG4gICAgc3RhdGljIGRpZmZlcmVuY2Uoc3RyMTogc3RyaW5nLCBzdHIyOiBzdHJpbmcpOiBudW1iZXIge1xyXG4gICAgICAgIGNvbnN0IGxlbjEgPSBzdHIxLmxlbmd0aDtcclxuICAgICAgICBjb25zdCBsZW4yID0gc3RyMi5sZW5ndGg7XHJcbiAgICAgICAgbGV0IGRpZmYgPSBNYXRoLmFicyhsZW4xIC0gbGVuMik7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IEFHUk9fTlVNQkVSUy5aRVJPOyBpIDwgTWF0aC5taW4obGVuMSwgbGVuMik7IGkrKykge1xyXG4gICAgICAgICAgICBpZiAoc3RyMVtpXSAhPT0gc3RyMltpXSkge1xyXG4gICAgICAgICAgICAgICAgZGlmZisrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBkaWZmO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0b3JuYSBzZSBhIHN0cmluZyB0ZXJtaW5hIGNvbSBhIHN0cmluZyBmb3JuZWNpZGEuXHJcbiAgICAgKiBAcGFyYW0gc3RyMVxyXG4gICAgICogQHBhcmFtIHN0cjJcclxuICAgICAqIEByZXR1cm5zXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBlbmRzV2l0aChzdHIxOiBzdHJpbmcsIHN0cjI6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBzdHIxLmVuZHNXaXRoKHN0cjIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0b3JuYSBzZSBhIHN0cmluZyBjb21lw6dhIGNvbSBhIHN0cmluZyBmb3JuZWNpZGEuXHJcbiAgICAgKiBAcGFyYW0gc3RyMVxyXG4gICAgICogQHBhcmFtIHN0cjJcclxuICAgICAqIEByZXR1cm5zXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBzdGFydHNXaXRoKHN0cjE6IHN0cmluZywgc3RyMjogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHN0cjEuc3RhcnRzV2l0aChzdHIyKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldG9ybmEgc2UgYSBzdHJpbmcgY29udMOpbSBhIHN0cmluZyBmb3JuZWNpZGEuXHJcbiAgICAgKiBAcGFyYW0gc3RyMVxyXG4gICAgICogQHBhcmFtIHN0cjJcclxuICAgICAqIEByZXR1cm5zXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBjb250YWlucyhzdHIxOiBzdHJpbmcsIHN0cjI6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBzdHIxLmluY2x1ZGVzKHN0cjIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0b3JuYSBzZSBhIHN0cmluZyBjb21lw6dhIGNvbSBhIHN0cmluZyBmb3JuZWNpZGEgaWdub3JhbmRvIG1hacO6c2N1bGFzIGUgbWluw7pzY3VsYXMuXHJcbiAgICAgKiBAcGFyYW0gc3RyMVxyXG4gICAgICogQHBhcmFtIHN0cjJcclxuICAgICAqIEByZXR1cm5zXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBzdGFydHNXaXRoSWdub3JlQ2FzZShzdHIxOiBzdHJpbmcsIHN0cjI6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBzdHIxLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aChzdHIyLnRvTG93ZXJDYXNlKCkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0b3JuYSBzZSBhIHN0cmluZyB0ZXJtaW5hIGNvbSBhIHN0cmluZyBmb3JuZWNpZGEgaWdub3JhbmRvIG1hacO6c2N1bGFzIGUgbWluw7pzY3VsYXMuXHJcbiAgICAgKiBAcGFyYW0gc3RyMVxyXG4gICAgICogQHBhcmFtIHN0cjJcclxuICAgICAqIEByZXR1cm5zXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBlbmRzV2l0aElnbm9yZUNhc2Uoc3RyMTogc3RyaW5nLCBzdHIyOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gc3RyMS50b0xvd2VyQ2FzZSgpLmVuZHNXaXRoKHN0cjIudG9Mb3dlckNhc2UoKSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDb252ZXJ0ZSB1bWEgc3RyaW5nIHBhcmEgbGV0cmFzIG1hacO6c2N1bGFzLlxyXG4gICAgICogQHBhcmFtIHN0ciAtIEEgc3RyaW5nIGEgc2VyIGNvbnZlcnRpZGEuXHJcbiAgICAgKiBAcmV0dXJucyBBIHN0cmluZyBjb252ZXJ0aWRhIHBhcmEgbGV0cmFzIG1hacO6c2N1bGFzLlxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgdG9VcHBlckNhc2Uoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBzdHIudG9VcHBlckNhc2UoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENvbnZlcnRlIHVtYSBzdHJpbmcgcGFyYSBsZXRyYXMgbWluw7pzY3VsYXMuXHJcbiAgICAgKiBAcGFyYW0gc3RyIC0gQSBzdHJpbmcgYSBzZXIgY29udmVydGlkYS5cclxuICAgICAqIEByZXR1cm5zIEEgc3RyaW5nIGNvbnZlcnRpZGEgcGFyYSBsZXRyYXMgbWluw7pzY3VsYXMuXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyB0b0xvd2VyQ2FzZShzdHI6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHN0ci50b0xvd2VyQ2FzZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW52ZXJ0ZSBvIGNhc28gZGFzIGxldHJhcyBlbSB1bWEgc3RyaW5nLlxyXG4gICAgICogQHBhcmFtIHN0ciAtIEEgc3RyaW5nIGEgc2VyIGNvbnZlcnRpZGEuXHJcbiAgICAgKiBAcmV0dXJucyBBIHN0cmluZyBjb20gbyBjYXNvIGRhcyBsZXRyYXMgaW52ZXJ0aWRvLlxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgc3dhcENhc2Uoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIGxldCBzd2FwcGVkID0gXCJcIjtcclxuICAgICAgICBmb3IgKGxldCBpID0gQUdST19OVU1CRVJTLlpFUk87IGkgPCBzdHIubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgY29uc3QgY2hhciA9IHN0cltpXTtcclxuICAgICAgICAgICAgaWYgKGNoYXIgPT09IGNoYXIudG9VcHBlckNhc2UoKSkge1xyXG4gICAgICAgICAgICAgICAgc3dhcHBlZCArPSBjaGFyLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBzd2FwcGVkICs9IGNoYXIudG9VcHBlckNhc2UoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gc3dhcHBlZDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENvbnZlcnRlIGEgcHJpbWVpcmEgbGV0cmEgZGUgdW1hIHN0cmluZyBwYXJhIG1hacO6c2N1bGEuXHJcbiAgICAgKiBAcGFyYW0gc3RyIC0gQSBzdHJpbmcgYSBzZXIgY29udmVydGlkYS5cclxuICAgICAqIEByZXR1cm5zIEEgc3RyaW5nIGNvbSBhIHByaW1laXJhIGxldHJhIGVtIG1hacO6c2N1bGEuXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBjYXBpdGFsaXplKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gc3RyLmNoYXJBdChBR1JPX05VTUJFUlMuWkVSTykudG9VcHBlckNhc2UoKSArIHN0ci5zbGljZSgxKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENvbnZlcnRlIGEgcHJpbWVpcmEgbGV0cmEgZGUgdW1hIHN0cmluZyBwYXJhIG1pbsO6c2N1bGEuXHJcbiAgICAgKiBAcGFyYW0gc3RyIC0gQSBzdHJpbmcgYSBzZXIgY29udmVydGlkYS5cclxuICAgICAqIEByZXR1cm5zIEEgc3RyaW5nIGNvbSBhIHByaW1laXJhIGxldHJhIGVtIG1pbsO6c2N1bGEuXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyB1bmNhcGl0YWxpemUoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBzdHIuY2hhckF0KEFHUk9fTlVNQkVSUy5aRVJPKS50b0xvd2VyQ2FzZSgpICsgc3RyLnNsaWNlKDEpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29udGEgbyBuw7ptZXJvIGRlIG9jb3Jyw6puY2lhcyBkZSB1bWEgc3Vic3RyaW5nIGVtIHVtYSBzdHJpbmcuXHJcbiAgICAgKiBAcGFyYW0gc3RyIC0gQSBzdHJpbmcgb25kZSBhIGNvbnRhZ2VtIHNlcsOhIHJlYWxpemFkYS5cclxuICAgICAqIEBwYXJhbSBzdWJzdHJpbmcgLSBBIHN1YnN0cmluZyBhIHNlciBjb250YWRhLlxyXG4gICAgICogQHJldHVybnMgTyBuw7ptZXJvIGRlIG9jb3Jyw6puY2lhcyBkYSBzdWJzdHJpbmcgbmEgc3RyaW5nLlxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgY291bnRNYXRjaGVzKHN0cjogc3RyaW5nLCBzdWJzdHJpbmc6IHN0cmluZyk6IG51bWJlciB7XHJcbiAgICAgICAgY29uc3QgcmVnZXggPSBuZXcgUmVnRXhwKHN1YnN0cmluZywgXCJnXCIpO1xyXG4gICAgICAgIGNvbnN0IG1hdGNoZXMgPSBbXTtcclxuICAgICAgICBsZXQgbWF0Y2g7XHJcbiAgICAgICAgd2hpbGUgKChtYXRjaCA9IHJlZ2V4LmV4ZWMoc3RyKSkgIT09IG51bGwpIHtcclxuICAgICAgICAgICAgbWF0Y2hlcy5wdXNoKG1hdGNoWzBdKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG1hdGNoZXMgPyBtYXRjaGVzLmxlbmd0aCA6IEFHUk9fTlVNQkVSUy5aRVJPO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyB2YWxpZGF0ZUNQRihjcGY6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIC8vIFJlbW92ZXIgY2FyYWN0ZXJlcyBuw6NvIG51bcOpcmljb3NcclxuICAgICAgICBjcGYgPSBjcGYucmVwbGFjZSgvXFxEL2csIFwiXCIpO1xyXG5cclxuICAgICAgICAvLyBWZXJpZmljYXIgc2UgbyBDUEYgdGVtIDExIGTDrWdpdG9zXHJcbiAgICAgICAgaWYgKGNwZi5sZW5ndGggIT09IEFHUk9fTlVNQkVSUy5FTEVWRU4pIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gVmVyaWZpY2FyIHNlIHRvZG9zIG9zIGTDrWdpdG9zIHPDo28gaWd1YWlzIChjYXNvIGNvbnRyw6FyaW8sIMOpIHVtIHNpbmFsIGRlIENQRiBpbnbDoWxpZG8pXHJcbiAgICAgICAgaWYgKC9eKFxcZClcXDF7MTB9JC8udGVzdChjcGYpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIENhbGN1bGFyIG8gcHJpbWVpcm8gZMOtZ2l0byB2ZXJpZmljYWRvclxyXG4gICAgICAgIGxldCBzdW0gPSBBR1JPX05VTUJFUlMuWkVSTztcclxuICAgICAgICBsZXQgcmVtYWluZGVyOiBudW1iZXI7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IEFHUk9fTlVNQkVSUy5PTkU7IGkgPD0gQUdST19OVU1CRVJTLk5JTkU7IGkrKykge1xyXG4gICAgICAgICAgICBzdW0gKz0gcGFyc2VJbnQoY3BmW2kgLSBBR1JPX05VTUJFUlMuT05FXSkgKiAoQUdST19OVU1CRVJTLkVMRVZFTiAtIGkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZW1haW5kZXIgPSBzdW0gJSBBR1JPX05VTUJFUlMuRUxFVkVOO1xyXG4gICAgICAgIGlmIChyZW1haW5kZXIgPT09IEFHUk9fTlVNQkVSUy5URU4gfHwgcmVtYWluZGVyID09PSBBR1JPX05VTUJFUlMuRUxFVkVOKSB7XHJcbiAgICAgICAgICAgIHJlbWFpbmRlciA9IEFHUk9fTlVNQkVSUy5aRVJPO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAocmVtYWluZGVyICE9PSBwYXJzZUludChjcGZbQUdST19OVU1CRVJTLk5JTkVdKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBDYWxjdWxhciBvIHNlZ3VuZG8gZMOtZ2l0byB2ZXJpZmljYWRvclxyXG4gICAgICAgIHN1bSA9IEFHUk9fTlVNQkVSUy5aRVJPO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSBBR1JPX05VTUJFUlMuT05FOyBpIDw9IEFHUk9fTlVNQkVSUy5URU47IGkrKykge1xyXG4gICAgICAgICAgICBzdW0gKz0gcGFyc2VJbnQoY3BmW2kgLSBBR1JPX05VTUJFUlMuT05FXSkgKiAoQUdST19OVU1CRVJTLlRXRUxWRSAtIGkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZW1haW5kZXIgPSBzdW0gJSBBR1JPX05VTUJFUlMuRUxFVkVOO1xyXG4gICAgICAgIGlmIChyZW1haW5kZXIgPT09IEFHUk9fTlVNQkVSUy5URU4gfHwgcmVtYWluZGVyID09PSBBR1JPX05VTUJFUlMuRUxFVkVOKSB7XHJcbiAgICAgICAgICAgIHJlbWFpbmRlciA9IEFHUk9fTlVNQkVSUy5aRVJPO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAocmVtYWluZGVyICE9PSBwYXJzZUludChjcGZbQUdST19OVU1CRVJTLlRFTl0pKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBzdGF0aWMgdmFsaWRhdGVDTlBKKGNucGo6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIC8vIFJlbW92ZSB0b2RvcyBvcyBjYXJhY3RlcmVzIG7Do28gbnVtw6lyaWNvc1xyXG4gICAgICAgIGNucGogPSBjbnBqLnJlcGxhY2UoL1xcRC9nLCBcIlwiKTtcclxuXHJcbiAgICAgICAgLy8gVmVyaWZpY2Egc2UgdGVtIDE0IGTDrWdpdG9zXHJcbiAgICAgICAgaWYgKGNucGoubGVuZ3RoICE9PSAxNCkgcmV0dXJuIGZhbHNlO1xyXG5cclxuICAgICAgICAvLyBWZXJpZmljYSBzZSBvIENOUEogw6kgdW1hIHNlcXXDqm5jaWEgcmVwZXRpZGEgKGV4OiAxMTExMTExMTExMTExMSwgMjIyMjIyMjIyMjIyMjIsIGV0Yy4pXHJcbiAgICAgICAgaWYgKC9eKFxcZClcXDF7MTN9JC8udGVzdChjbnBqKSkgcmV0dXJuIGZhbHNlO1xyXG5cclxuICAgICAgICAvLyBDw6FsY3VsbyBkbyBwcmltZWlybyBkw61naXRvIHZlcmlmaWNhZG9yXHJcbiAgICAgICAgbGV0IHNvbWEgPSAwO1xyXG4gICAgICAgIGxldCBwZXNvczEgPSBbNSwgNCwgMywgMiwgOSwgOCwgNywgNiwgNSwgNCwgMywgMl07XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxMjsgaSsrKSB7XHJcbiAgICAgICAgICAgIHNvbWEgKz0gcGFyc2VJbnQoY25wai5jaGFyQXQoaSkpICogcGVzb3MxW2ldO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgcmVzdG8gPSBzb21hICUgMTE7XHJcbiAgICAgICAgbGV0IGRpZ2l0bzEgPSByZXN0byA8IDIgPyAwIDogMTEgLSByZXN0bztcclxuXHJcbiAgICAgICAgLy8gQ8OhbGN1bG8gZG8gc2VndW5kbyBkw61naXRvIHZlcmlmaWNhZG9yXHJcbiAgICAgICAgc29tYSA9IDA7XHJcbiAgICAgICAgbGV0IHBlc29zMiA9IFs2LCA1LCA0LCAzLCAyLCA5LCA4LCA3LCA2LCA1LCA0LCAzLCAyXTtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IDEzOyBpKyspIHtcclxuICAgICAgICAgICAgc29tYSArPSBwYXJzZUludChjbnBqLmNoYXJBdChpKSkgKiBwZXNvczJbaV07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJlc3RvID0gc29tYSAlIDExO1xyXG4gICAgICAgIGxldCBkaWdpdG8yID0gcmVzdG8gPCAyID8gMCA6IDExIC0gcmVzdG87XHJcblxyXG4gICAgICAgIC8vIFZlcmlmaWNhIHNlIG9zIGTDrWdpdG9zIHZlcmlmaWNhZG9yZXMgc8OjbyB2w6FsaWRvc1xyXG4gICAgICAgIHJldHVybiBwYXJzZUludChjbnBqLmNoYXJBdCgxMikpID09PSBkaWdpdG8xICYmIHBhcnNlSW50KGNucGouY2hhckF0KDEzKSkgPT09IGRpZ2l0bzI7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBNw6l0b2RvIHBhcmEgYXBsaWNhciB1bWEgbcOhc2NhcmEgZW0gdW1hIHN0cmluZy4gQ29uc2lkZXJlIGEgbcOhc2NhcmEgY29tIHZhbG9yZXMgOSBwYXJhIGFwbGljYcOnw6NvXHJcbiAgICAgKiBAZXhhbXBsZSBBZ3JvU3RyaW5nVXRpbHMuYXBwbHlNYXNrKCcxMjM0NTY3ODkwMScsICc5OTkuOTk5Ljk5OS05OScpID0+ICcxMjMuNDU2Ljc4OS0wMSdcclxuICAgICAqIEBwYXJhbSB2YWx1ZVxyXG4gICAgICogQHBhcmFtIG1hc2tcclxuICAgICAqIEByZXR1cm5zXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBhcHBseU1hc2sodmFsdWU6IHN0cmluZywgbWFzazogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCB2YWx1ZUNoYXJzID0gdmFsdWUudG9TdHJpbmcoKS5zcGxpdChcIlwiKTtcclxuICAgICAgICBjb25zdCBtYXNrQ2hhcnMgPSBtYXNrLnNwbGl0KFwiXCIpO1xyXG4gICAgICAgIGxldCBtYXNrZWRWYWx1ZSA9IFwiXCI7XHJcblxyXG4gICAgICAgIGxldCBqID0gMDtcclxuICAgICAgICBmb3IgKGNvbnN0IG1hc2tDaGFyIG9mIG1hc2tDaGFycykge1xyXG4gICAgICAgICAgICBpZiAoaiA+PSB2YWx1ZUNoYXJzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKG1hc2tDaGFyID09PSBcIjlcIikge1xyXG4gICAgICAgICAgICAgICAgbWFza2VkVmFsdWUgKz0gdmFsdWVDaGFyc1tqKytdO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgbWFza2VkVmFsdWUgKz0gbWFza0NoYXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBtYXNrZWRWYWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFZlcmlmaWNhIHNlIHVtYSBzdHJpbmcgw6kgdsOhbGlkYS5cclxuICAgICAqIEBwYXJhbSBzdHIgLSBBIHN0cmluZyBhIHNlciB2ZXJpZmljYWRhLlxyXG4gICAgICogQHJldHVybnMgVHJ1ZSBzZSBhIHN0cmluZyBmb3IgdsOhbGlkYSwgZmFsc2UgY2FzbyBjb250csOhcmlvLlxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgaXNWYWxpZChzdHI6IE51bGxhYmxlU3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBzdHIgPT09IFwidW5kZWZpbmVkXCIgfHwgc3RyID09PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChBZ3JvU3RyaW5nVXRpbHMuaXNOb3RFbXB0eShzdHIpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBWZXJpZmljYSBzZSB1bWEgc3RyaW5nIMOpIGludsOhbGlkYS5cclxuICAgICAqIEBwYXJhbSBzdHIgLSBBIHN0cmluZyBhIHNlciB2ZXJpZmljYWRhLlxyXG4gICAgICogQHJldHVybnMgVHJ1ZSBzZSBhIHN0cmluZyBmb3IgaW52w6FsaWRhLCBmYWxzZSBjYXNvIGNvbnRyw6FyaW8uXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBpc0ludmFsaWQoc3RyOiBOdWxsYWJsZVN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiAhQWdyb1N0cmluZ1V0aWxzLmlzVmFsaWQoc3RyKTtcclxuICAgIH1cclxufVxyXG4iXX0=
346
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdyby1zdHJpbmctdXRpbHMuY2xhc3MuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWFncm9uZWdvY2lvL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbW1vbi9hZ3JvLXN0cmluZy11dGlscy5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVuRCxPQUFPLEVBQUUsZUFBZSxJQUFJLFdBQVcsRUFBRSxDQUFDO0FBRzFDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGVBQWU7SUFDeEI7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBbUI7O1FBQzlCLE9BQU8sQ0FBQyxHQUFHLElBQUksT0FBQSxHQUFHLENBQUMsSUFBSSxFQUFFLDBDQUFFLE1BQU0sTUFBSyxZQUFZLENBQUMsSUFBSSxDQUFDO0lBQzVELENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFtQjtRQUNqQyxPQUFPLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBbUI7UUFDOUIsT0FBTyxDQUFDLEdBQUcsSUFBSSxVQUFVLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBbUI7UUFDakMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQW1CO1FBQ2pDLElBQUksQ0FBQyxHQUFHO1lBQUUsT0FBTyxJQUFJLENB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UUFDOUIsSUFBSSxPQUFPLEdBQUcsS0FBSyxXQUFXLElBQUksR0FBRyxLQUFLLElBQUksRUFBRTtZQUM1QyxPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUVELElBQUksZUFBZSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNqQyxPQUFPLElBQUksQ0FBQztTQUNmO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQW1CO1FBQ2hDLE9BQU8sQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFHUk9fTlVNQkVSUyB9IGZyb20gXCIuLi9lbnVtc1wiO1xyXG5pbXBvcnQgeyBBR1JPX1JFR0VYIH0gZnJvbSBcIi4vYWdyby1yZWdleC5jb25zdGFudFwiO1xyXG5cclxuZXhwb3J0IHsgQWdyb1N0cmluZ1V0aWxzIGFzIFN0cmluZ1V0aWxzIH07XHJcblxyXG5leHBvcnQgdHlwZSBOdWxsYWJsZVN0cmluZyA9IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XHJcbi8qKlxyXG4gKiBDbGFzc2UgdXRpbGl0w6FyaWEgcGFyYSBvcGVyYcOnw7VlcyBkZSBzdHJpbmcuXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgQWdyb1N0cmluZ1V0aWxzIHtcclxuICAgIC8qKlxyXG4gICAgICogVmVyaWZpY2Egc2UgdW1hIHN0cmluZyBlc3TDoSB2YXppYSBvdSBjb25zaXN0ZSBhcGVuYXMgZGUgY2FyYWN0ZXJlcyBkZSBlc3Bhw6dvIGVtIGJyYW5jby5cclxuICAgICAqIEBwYXJhbSBzdHIgLSBBIHN0cmluZyBhIHNlciB2ZXJpZmljYWRhLlxyXG4gICAgICogQHJldHVybnMgVHJ1ZSBzZSBhIHN0cmluZyBlc3RpdmVyIHZhemlhIG91IGNvbnNpc3RpciBhcGVuYXMgZGUgY2FyYWN0ZXJlcyBkZSBlc3Bhw6dvIGVtIGJyYW5jbywgZmFsc2UgY2FzbyBjb250csOhcmlvLlxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgaXNFbXB0eShzdHI6IE51bGxhYmxlU3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuICFzdHIgfHwgc3RyLnRyaW0oKT8ubGVuZ3RoID09PSBBR1JPX05VTUJFUlMuWkVSTztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFZlcmlmaWNhIHNlIHVtYSBzdHJpbmcgbsOjbyBlc3TDoSB2YXppYSBlIG7Do28gY29uc2lzdGUgYXBlbmFzIGRlIGNhcmFjdGVyZXMgZGUgZXNwYcOnbyBlbSBicmFuY28uXHJcbiAgICAgKiBAcGFyYW0gc3RyIC0gQSBzdHJpbmcgYSBzZXIgdmVyaWZpY2FkYS5cclxuICAgICAqIEByZXR1cm5zIFRydWUgc2UgYSBzdHJpbmcgbsOjbyBlc3RpdmVyIHZhemlhIGUgbsOjbyBjb25zaXN0aXIgYXBlbmFzIGRlIGNhcmFjdGVyZXMgZGUgZXNwYcOnbyBlbSBicmFuY28sIGZhbHNlIGNhc28gY29udHLDoXJpby5cclxuICAgICAqL1xyXG4gICAgc3RhdGljIGlzTm90RW1wdHkoc3RyOiBOdWxsYWJsZVN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiAhQWdyb1N0cmluZ1V0aWxzLmlzRW1wdHkoc3RyKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFZlcmlmaWNhIHNlIHVtYSBzdHJpbmcgZXN0w6EgdmF6aWEsIGNvbnNpc3RlIGFwZW5hcyBkZSBjYXJhY3RlcmVzIGRlIGVzcGHDp28gZW0gYnJhbmNvIG91IMOpIG51bGEuXHJcbiAgICAgKiBAcGFyYW0gc3RyIC0gQSBzdHJpbmcgYSBzZXIgdmVyaWZpY2FkYS5cclxuICAgICAqIEByZXR1cm5zIFRydWUgc2UgYSBzdHJpbmcgZXN0aXZlciB2YXppYSwgY29uc2lzdGlyIGFwZW5hcyBkZSBjYXJhY3RlcmVzIGRlIGVzcGHDp28gZW0gYnJhbmNvIG91IGZvciBudWxhLCBmYWxzZSBjYXNvIGNvbnRyw6FyaW8uXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBpc0JsYW5rKHN0cjogTnVsbGFibGVTdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gIXN0ciB8fCBBR1JPX1JFR0VYLm9ubHlCbGFua1NwYWNlcy50ZXN0KHN0cik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBWZXJpZmljYSBzZSB1bWEgc3RyaW5nIG7Do28gZXN0w6EgdmF6aWEsIG7Do28gY29uc2lzdGUgYXBlbmFzIGRlIGNhcmFjdGVyZXMgZGUgZXNwYcOnbyBlbSBicmFuY28gZSBuw6NvIMOpIG51bGEuXHJcbiAgICAgKiBAcGFyYW0gc3RyIC0gQSBzdHJpbmcgYSBzZXIgdmVyaWZpY2FkYS5cclxuICAgICAqIEByZXR1cm5zIFRydWUgc2UgYSBzdHJpbmcgbsOjbyBlc3RpdmVyIHZhemlhLCBuw6NvIGNvbnNpc3RpciBhcGVuYXMgZGUgY2FyYWN0ZXJlcyBkZSBlc3Bhw6dvIGVtIGJyYW5jbyBlIG7Do28gZm9yIG51bGEsIGZhbHNlIGNhc28gY29udHLDoXJpby5cclxuICAgICAqL1xyXG4gICAgc3RhdGljIGlzTm90Qmxhbmsoc3RyOiBOdWxsYWJsZVN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiAhQWdyb1N0cmluZ1V0aWxzLmlzQmxhbmsoc3RyKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJlbW92ZSBvcyBlc3Bhw6dvcyBlbSBicmFuY28gZGUgdW1hIHN0cmluZyBlIHJldG9ybmEgbnVsbCBzZSBhIHN0cmluZyByZXN1bHRhbnRlIGVzdGl2ZXIgdmF6aWEsIGNhc28gY29udHLDoXJpbyByZXRvcm5hIGEgc3RyaW5nIHNlbSBlc3Bhw6dvcyBlbSBicmFuY28uXHJcbiAgICAgKiBAcGFyYW0gc3RyIC0gQSBzdHJpbmcgYSBzZXIgcmVtb3ZpZG9zIG9zIGVzcGHDp29zIGVtIGJyYW5jby5cclxuICAgICAqIEByZXR1cm5zIEEgc3RyaW5nIHNlbSBlc3Bhw6dvcyBlbSBicmFuY28gb3UgbnVsbCBzZSBhIHN0cmluZyByZXN1bHRhbnRlIGVzdGl2ZXIgdmF6aWEuXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyB0cmltVG9OdWxsKHN0cjogTnVsbGFibGVTdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgICAgICBpZiAoIXN0cikgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgY29uc3QgdHJpbW1lZCA9IHN0ci50cmltKCk7XHJcbiAgICAgICAgcmV0dXJuIHRyaW1tZWQgPT09IFwiXCIgPyBudWxsIDogdHJpbW1lZDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFZlcmlmaWNhIHNlIGR1YXMgc3RyaW5ncyBzw6NvIGlndWFpcywgaWdub3JhbmRvIG1hacO6c2N1bGFzIGUgbWluw7pzY3VsYXMuXHJcbiAgICAgKiBAcGFyYW0gc3RyMSAtIEEgcHJpbWVpcmEgc3RyaW5nIGEgc2VyIGNvbXBhcmFkYS5cclxuICAgICAqIEBwYXJhbSBzdHIyIC0gQSBzZWd1bmRhIHN0cmluZyBhIHNlciBjb21wYXJhZGEuXHJcbiAgICAgKiBAcmV0dXJucyBUcnVlIHNlIGFzIHN0cmluZ3MgZm9yZW0gaWd1YWlzLCBpZ25vcmFuZG8gbWFpw7pzY3VsYXMgZSBtaW7DunNjdWxhcywgZmFsc2UgY2FzbyBjb250csOhcmlvLlxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgZXF1YWxzSWdub3JlQ2FzZShzdHIxOiBOdWxsYWJsZVN0cmluZywgc3RyMjogTnVsbGFibGVTdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gc3RyMT8udG9Mb3dlckNhc2UoKSA9PT0gc3RyMj8udG9Mb3dlckNhc2UoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFZlcmlmaWNhIHNlIGR1YXMgc3RyaW5ncyBzw6NvIGlndWFpcy5cclxuICAgICAqIEBwYXJhbSBzdHIxXHJcbiAgICAgKiBAcGFyYW0gc3RyMlxyXG4gICAgICogQHJldHVybnNcclxuICAgICAqL1xyXG4gICAgc3RhdGljIGVxdWFscyhzdHIxOiBOdWxsYWJsZVN0cmluZywgc3RyMjogTnVsbGFibGVTdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gc3RyMSA9PT0gc3RyMjtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEludmVydGUgb3MgY2FyYWN0ZXJlcyBkZSB1bWEgc3RyaW5nLlxyXG4gICAgICogQHBhcmFtIHN0ciAtIEEgc3RyaW5nIGEgc2VyIGludmVydGlkYS5cclxuICAgICAqIEByZXR1cm5zIEEgc3RyaW5nIGludmVydGlkYS5cclxuICAgICAqL1xyXG4gICAgc3RhdGljIHJldmVyc2Uoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBzdHIuc3BsaXQoXCJcIikucmV2ZXJzZSgpLmpvaW4oXCJcIik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBWZXJpZmljYSBzZSBhIHN0cmluZyDDqSB1bSBlLW1haWwuXHJcbiAgICAgKiBAcGFyYW0gc3RyIC0gQSBzdHJpbmcgYSBzZXIgdGVzdGFkYVxyXG4gICAgICogQHJldHVybnMgLSBUcnVlIHNlIGEgc3RyaW5nIGZvciB1bSBlLW1haWwsIGZhbHNlIGNhc28gY29udHLDoXJpby5cclxuICAgICAqL1xyXG4gICAgc3RhdGljIGlzRW1haWwoc3RyOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gQUdST19SRUdFWC5pc0VtYWlsLnRlc3Qoc3RyKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFZlcmlmaWNhIHNlIGEgc3RyaW5nIMOpIHVtIG7Dum1lcm8gaW50ZWlybyBwb3NpdGl2by5cclxuICAgICAqIEBwYXJhbSBzdHIgLSBBIHN0cmluZyBhIHNlciB0ZXN0YWRhXHJcbiAgICAgKiBAcmV0dXJucyAtIFRydWUgc2UgYSBzdHJpbmcgZm9yIHVtIG7Dum1lcm8gaW50ZWlybyBwb3NpdGl2bywgZmFsc2UgY2FzbyBjb250csOhcmlvLlxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgaXNQb3NpdGl2ZUludGVnZXIoc3RyOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gQUdST19SRUdFWC5wb3NpdGl2ZUludGVnZXIudGVzdChzdHIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVmVyaWZpY2Egc2UgYSBzdHJpbmcgw6kgdW0gbsO6bWVybyBkZWNpbWFsIHBvc2l0aXZvLlxyXG4gICAgICogQHBhcmFtIHN0ciAtIEEgc3RyaW5nIGEgc2VyIHRlc3RhZGFcclxuICAgICAqIEByZXR1cm5zIC0gVHJ1ZSBzZSBhIHN0cmluZyBmb3IgdW0gbsO6bWVybyBkZWNpbWFsIHBvc2l0aXZvLCBmYWxzZSBjYXNvIGNvbnRyw6FyaW8uXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBpc1Bvc2l0aXZlRGVjaW1hbChzdHI6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBBR1JPX1JFR0VYLnBvc2l0aXZlRGVjaW1hbC50ZXN0KHN0cik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBWZXJpZmljYSBzZSBhIHN0cmluZyDDqSB1bSBDRVAgKEPDs2RpZ28gUG9zdGFsKS5cclxuICAgICAqIEBwYXJhbSBzdHIgLSBBIHN0cmluZyBhIHNlciB0ZXN0YWRhXHJcbiAgICAgKiBAcmV0dXJucyAtIFRydWUgc2UgYSBzdHJpbmcgZm9yIHVtIENFUCwgZmFsc2UgY2FzbyBjb250csOhcmlvLlxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgaXNaaXBDb2RlKHN0cjogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIEFHUk9fUkVHRVguemlwQ29kZS50ZXN0KHN0cik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBWZXJpZmljYSBzZSBhIHN0cmluZyDDqSB1bSBVVUlELlxyXG4gICAgICogQHBhcmFtIHN0ciAtIEEgc3RyaW5nIGEgc2VyIHRlc3RhZGFcclxuICAgICAqIEByZXR1cm5zIC0gVHJ1ZSBzZSBhIHN0cmluZyBmb3IgdW0gVVVJRCwgZmFsc2UgY2FzbyBjb250csOhcmlvLlxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgaXNVVUlEKHN0cjogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIEFHUk9fUkVHRVguaXNVVUlELnRlc3Qoc3RyKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFZlcmlmaWNhIHNlIGEgc3RyaW5nIMOpIHVtIG7Dum1lcm8uXHJcbiAgICAgKiBAcGFyYW0gc3RyIC0gQSBzdHJpbmcgYSBzZXIgdGVzdGFkYVxyXG4gICAgICogQHJldHVybnMgLSBUcnVlIHNlIGEgc3RyaW5nIGZvciB1bSBuw7ptZXJvLCBmYWxzZSBjYXNvIGNvbnRyw6FyaW8uXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBpc051bWJlcihzdHI6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBBR1JPX1JFR0VYLmlzTnVtYmVyLnRlc3Qoc3RyKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldG9ybmEgYSBkaWZlcmVuw6dhIGVudHJlIGR1YXMgc3RyaW5ncy5cclxuICAgICAqIEBwYXJhbSBzdHIxXHJcbiAgICAgKiBAcGFyYW0gc3RyMlxyXG4gICAgICogQHJldHVybnNcclxuICAgICAqL1xyXG4gICAgc3RhdGljIGRpZmZlcmVuY2Uoc3RyMTogc3RyaW5nLCBzdHIyOiBzdHJpbmcpOiBudW1iZXIge1xyXG4gICAgICAgIGNvbnN0IGxlbjEgPSBzdHIxLmxlbmd0aDtcclxuICAgICAgICBjb25zdCBsZW4yID0gc3RyMi5sZW5ndGg7XHJcbiAgICAgICAgbGV0IGRpZmYgPSBNYXRoLmFicyhsZW4xIC0gbGVuMik7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IEFHUk9fTlVNQkVSUy5aRVJPOyBpIDwgTWF0aC5taW4obGVuMSwgbGVuMik7IGkrKykge1xyXG4gICAgICAgICAgICBpZiAoc3RyMVtpXSAhPT0gc3RyMltpXSkge1xyXG4gICAgICAgICAgICAgICAgZGlmZisrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBkaWZmO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0b3JuYSBzZSBhIHN0cmluZyB0ZXJtaW5hIGNvbSBhIHN0cmluZyBmb3JuZWNpZGEuXHJcbiAgICAgKiBAcGFyYW0gc3RyMVxyXG4gICAgICogQHBhcmFtIHN0cjJcclxuICAgICAqIEByZXR1cm5zXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBlbmRzV2l0aChzdHIxOiBzdHJpbmcsIHN0cjI6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBzdHIxLmVuZHNXaXRoKHN0cjIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0b3JuYSBzZSBhIHN0cmluZyBjb21lw6dhIGNvbSBhIHN0cmluZyBmb3JuZWNpZGEuXHJcbiAgICAgKiBAcGFyYW0gc3RyMVxyXG4gICAgICogQHBhcmFtIHN0cjJcclxuICAgICAqIEByZXR1cm5zXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBzdGFydHNXaXRoKHN0cjE6IHN0cmluZywgc3RyMjogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHN0cjEuc3RhcnRzV2l0aChzdHIyKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldG9ybmEgc2UgYSBzdHJpbmcgY29udMOpbSBhIHN0cmluZyBmb3JuZWNpZGEuXHJcbiAgICAgKiBAcGFyYW0gc3RyMVxyXG4gICAgICogQHBhcmFtIHN0cjJcclxuICAgICAqIEByZXR1cm5zXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBjb250YWlucyhzdHIxOiBzdHJpbmcsIHN0cjI6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBzdHIxLmluY2x1ZGVzKHN0cjIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0b3JuYSBzZSBhIHN0cmluZyBjb21lw6dhIGNvbSBhIHN0cmluZyBmb3JuZWNpZGEgaWdub3JhbmRvIG1hacO6c2N1bGFzIGUgbWluw7pzY3VsYXMuXHJcbiAgICAgKiBAcGFyYW0gc3RyMVxyXG4gICAgICogQHBhcmFtIHN0cjJcclxuICAgICAqIEByZXR1cm5zXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBzdGFydHNXaXRoSWdub3JlQ2FzZShzdHIxOiBzdHJpbmcsIHN0cjI6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBzdHIxLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aChzdHIyLnRvTG93ZXJDYXNlKCkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0b3JuYSBzZSBhIHN0cmluZyB0ZXJtaW5hIGNvbSBhIHN0cmluZyBmb3JuZWNpZGEgaWdub3JhbmRvIG1hacO6c2N1bGFzIGUgbWluw7pzY3VsYXMuXHJcbiAgICAgKiBAcGFyYW0gc3RyMVxyXG4gICAgICogQHBhcmFtIHN0cjJcclxuICAgICAqIEByZXR1cm5zXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBlbmRzV2l0aElnbm9yZUNhc2Uoc3RyMTogc3RyaW5nLCBzdHIyOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gc3RyMS50b0xvd2VyQ2FzZSgpLmVuZHNXaXRoKHN0cjIudG9Mb3dlckNhc2UoKSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDb252ZXJ0ZSB1bWEgc3RyaW5nIHBhcmEgbGV0cmFzIG1hacO6c2N1bGFzLlxyXG4gICAgICogQHBhcmFtIHN0ciAtIEEgc3RyaW5nIGEgc2VyIGNvbnZlcnRpZGEuXHJcbiAgICAgKiBAcmV0dXJucyBBIHN0cmluZyBjb252ZXJ0aWRhIHBhcmEgbGV0cmFzIG1hacO6c2N1bGFzLlxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgdG9VcHBlckNhc2Uoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBzdHIudG9VcHBlckNhc2UoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENvbnZlcnRlIHVtYSBzdHJpbmcgcGFyYSBsZXRyYXMgbWluw7pzY3VsYXMuXHJcbiAgICAgKiBAcGFyYW0gc3RyIC0gQSBzdHJpbmcgYSBzZXIgY29udmVydGlkYS5cclxuICAgICAqIEByZXR1cm5zIEEgc3RyaW5nIGNvbnZlcnRpZGEgcGFyYSBsZXRyYXMgbWluw7pzY3VsYXMuXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyB0b0xvd2VyQ2FzZShzdHI6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHN0ci50b0xvd2VyQ2FzZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW52ZXJ0ZSBvIGNhc28gZGFzIGxldHJhcyBlbSB1bWEgc3RyaW5nLlxyXG4gICAgICogQHBhcmFtIHN0ciAtIEEgc3RyaW5nIGEgc2VyIGNvbnZlcnRpZGEuXHJcbiAgICAgKiBAcmV0dXJucyBBIHN0cmluZyBjb20gbyBjYXNvIGRhcyBsZXRyYXMgaW52ZXJ0aWRvLlxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgc3dhcENhc2Uoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIGxldCBzd2FwcGVkID0gXCJcIjtcclxuICAgICAgICBmb3IgKGxldCBpID0gQUdST19OVU1CRVJTLlpFUk87IGkgPCBzdHIubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgY29uc3QgY2hhciA9IHN0cltpXTtcclxuICAgICAgICAgICAgaWYgKGNoYXIgPT09IGNoYXIudG9VcHBlckNhc2UoKSkge1xyXG4gICAgICAgICAgICAgICAgc3dhcHBlZCArPSBjaGFyLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBzd2FwcGVkICs9IGNoYXIudG9VcHBlckNhc2UoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gc3dhcHBlZDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENvbnZlcnRlIGEgcHJpbWVpcmEgbGV0cmEgZGUgdW1hIHN0cmluZyBwYXJhIG1hacO6c2N1bGEuXHJcbiAgICAgKiBAcGFyYW0gc3RyIC0gQSBzdHJpbmcgYSBzZXIgY29udmVydGlkYS5cclxuICAgICAqIEByZXR1cm5zIEEgc3RyaW5nIGNvbSBhIHByaW1laXJhIGxldHJhIGVtIG1hacO6c2N1bGEuXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBjYXBpdGFsaXplKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gc3RyLmNoYXJBdChBR1JPX05VTUJFUlMuWkVSTykudG9VcHBlckNhc2UoKSArIHN0ci5zbGljZSgxKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENvbnZlcnRlIGEgcHJpbWVpcmEgbGV0cmEgZGUgdW1hIHN0cmluZyBwYXJhIG1pbsO6c2N1bGEuXHJcbiAgICAgKiBAcGFyYW0gc3RyIC0gQSBzdHJpbmcgYSBzZXIgY29udmVydGlkYS5cclxuICAgICAqIEByZXR1cm5zIEEgc3RyaW5nIGNvbSBhIHByaW1laXJhIGxldHJhIGVtIG1pbsO6c2N1bGEuXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyB1bmNhcGl0YWxpemUoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBzdHIuY2hhckF0KEFHUk9fTlVNQkVSUy5aRVJPKS50b0xvd2VyQ2FzZSgpICsgc3RyLnNsaWNlKDEpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29udGEgbyBuw7ptZXJvIGRlIG9jb3Jyw6puY2lhcyBkZSB1bWEgc3Vic3RyaW5nIGVtIHVtYSBzdHJpbmcuXHJcbiAgICAgKiBAcGFyYW0gc3RyIC0gQSBzdHJpbmcgb25kZSBhIGNvbnRhZ2VtIHNlcsOhIHJlYWxpemFkYS5cclxuICAgICAqIEBwYXJhbSBzdWJzdHJpbmcgLSBBIHN1YnN0cmluZyBhIHNlciBjb250YWRhLlxyXG4gICAgICogQHJldHVybnMgTyBuw7ptZXJvIGRlIG9jb3Jyw6puY2lhcyBkYSBzdWJzdHJpbmcgbmEgc3RyaW5nLlxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgY291bnRNYXRjaGVzKHN0cjogc3RyaW5nLCBzdWJzdHJpbmc6IHN0cmluZyk6IG51bWJlciB7XHJcbiAgICAgICAgY29uc3QgcmVnZXggPSBuZXcgUmVnRXhwKHN1YnN0cmluZywgXCJnXCIpO1xyXG4gICAgICAgIGNvbnN0IG1hdGNoZXMgPSBbXTtcclxuICAgICAgICBsZXQgbWF0Y2g7XHJcbiAgICAgICAgd2hpbGUgKChtYXRjaCA9IHJlZ2V4LmV4ZWMoc3RyKSkgIT09IG51bGwpIHtcclxuICAgICAgICAgICAgbWF0Y2hlcy5wdXNoKG1hdGNoWzBdKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG1hdGNoZXMgPyBtYXRjaGVzLmxlbmd0aCA6IEFHUk9fTlVNQkVSUy5aRVJPO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyB2YWxpZGF0ZUNQRihjcGY6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGNwZiA9IGNwZi5yZXBsYWNlKC9cXEQvZywgXCJcIik7XHJcblxyXG4gICAgICAgIGlmIChjcGYubGVuZ3RoICE9PSAxMSB8fCAvXihcXGQpXFwxKyQvLnRlc3QoY3BmKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBjYWxjVmVyaWZpZXIgPSAoY3BmOiBzdHJpbmcsIGxlbmd0aDogbnVtYmVyKTogbnVtYmVyID0+IHtcclxuICAgICAgICAgICAgbGV0IHN1bSA9IDA7XHJcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgICAgIHN1bSArPSBwYXJzZUludChjcGZbaV0pICogKGxlbmd0aCArIDEgLSBpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsZXQgcmVzdWx0ID0gc3VtICUgMTE7XHJcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQgPCAyID8gMCA6IDExIC0gcmVzdWx0O1xyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIGNvbnN0IGRpZ2l0MSA9IGNhbGNWZXJpZmllcihjcGYsIDkpO1xyXG4gICAgICAgIGNvbnN0IGRpZ2l0MiA9IGNhbGNWZXJpZmllcihjcGYsIDEwKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGRpZ2l0MSA9PT0gcGFyc2VJbnQoY3BmWzldKSAmJiBkaWdpdDIgPT09IHBhcnNlSW50KGNwZlsxMF0pO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyB2YWxpZGF0ZUNOUEooY25wajogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgLy8gUmVtb3ZlIHRvZG9zIG9zIGNhcmFjdGVyZXMgbsOjbyBudW3DqXJpY29zXHJcbiAgICAgICAgY25waiA9IGNucGoucmVwbGFjZSgvXFxEL2csIFwiXCIpO1xyXG5cclxuICAgICAgICAvLyBWZXJpZmljYSBzZSB0ZW0gMTQgZMOtZ2l0b3NcclxuICAgICAgICBpZiAoY25wai5sZW5ndGggIT09IDE0KSByZXR1cm4gZmFsc2U7XHJcblxyXG4gICAgICAgIC8vIFZlcmlmaWNhIHNlIG8gQ05QSiDDqSB1bWEgc2VxdcOqbmNpYSByZXBldGlkYSAoZXg6IDExMTExMTExMTExMTExLCAyMjIyMjIyMjIyMjIyMiwgZXRjLilcclxuICAgICAgICBpZiAoL14oXFxkKVxcMXsxM30kLy50ZXN0KGNucGopKSByZXR1cm4gZmFsc2U7XHJcblxyXG4gICAgICAgIC8vIEPDoWxjdWxvIGRvIHByaW1laXJvIGTDrWdpdG8gdmVyaWZpY2Fkb3JcclxuICAgICAgICBsZXQgc29tYSA9IDA7XHJcbiAgICAgICAgbGV0IHBlc29zMSA9IFs1LCA0LCAzLCAyLCA5LCA4LCA3LCA2LCA1LCA0LCAzLCAyXTtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IDEyOyBpKyspIHtcclxuICAgICAgICAgICAgc29tYSArPSBwYXJzZUludChjbnBqLmNoYXJBdChpKSkgKiBwZXNvczFbaV07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCByZXN0byA9IHNvbWEgJSAxMTtcclxuICAgICAgICBsZXQgZGlnaXRvMSA9IHJlc3RvIDwgMiA/IDAgOiAxMSAtIHJlc3RvO1xyXG5cclxuICAgICAgICAvLyBDw6FsY3VsbyBkbyBzZWd1bmRvIGTDrWdpdG8gdmVyaWZpY2Fkb3JcclxuICAgICAgICBzb21hID0gMDtcclxuICAgICAgICBsZXQgcGVzb3MyID0gWzYsIDUsIDQsIDMsIDIsIDksIDgsIDcsIDYsIDUsIDQsIDMsIDJdO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTM7IGkrKykge1xyXG4gICAgICAgICAgICBzb21hICs9IHBhcnNlSW50KGNucGouY2hhckF0KGkpKSAqIHBlc29zMltpXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmVzdG8gPSBzb21hICUgMTE7XHJcbiAgICAgICAgbGV0IGRpZ2l0bzIgPSByZXN0byA8IDIgPyAwIDogMTEgLSByZXN0bztcclxuXHJcbiAgICAgICAgLy8gVmVyaWZpY2Egc2Ugb3MgZMOtZ2l0b3MgdmVyaWZpY2Fkb3JlcyBzw6NvIHbDoWxpZG9zXHJcbiAgICAgICAgcmV0dXJuIHBhcnNlSW50KGNucGouY2hhckF0KDEyKSkgPT09IGRpZ2l0bzEgJiYgcGFyc2VJbnQoY25wai5jaGFyQXQoMTMpKSA9PT0gZGlnaXRvMjtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE3DqXRvZG8gcGFyYSBhcGxpY2FyIHVtYSBtw6FzY2FyYSBlbSB1bWEgc3RyaW5nLiBDb25zaWRlcmUgYSBtw6FzY2FyYSBjb20gdmFsb3JlcyA5IHBhcmEgYXBsaWNhw6fDo29cclxuICAgICAqIEBleGFtcGxlIEFncm9TdHJpbmdVdGlscy5hcHBseU1hc2soJzEyMzQ1Njc4OTAxJywgJzk5OS45OTkuOTk5LTk5JykgPT4gJzEyMy40NTYuNzg5LTAxJ1xyXG4gICAgICogQHBhcmFtIHZhbHVlXHJcbiAgICAgKiBAcGFyYW0gbWFza1xyXG4gICAgICogQHJldHVybnNcclxuICAgICAqL1xyXG4gICAgc3RhdGljIGFwcGx5TWFzayh2YWx1ZTogc3RyaW5nLCBtYXNrOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIGNvbnN0IHZhbHVlQ2hhcnMgPSB2YWx1ZS50b1N0cmluZygpLnNwbGl0KFwiXCIpO1xyXG4gICAgICAgIGNvbnN0IG1hc2tDaGFycyA9IG1hc2suc3BsaXQoXCJcIik7XHJcbiAgICAgICAgbGV0IG1hc2tlZFZhbHVlID0gXCJcIjtcclxuXHJcbiAgICAgICAgbGV0IGogPSAwO1xyXG4gICAgICAgIGZvciAoY29uc3QgbWFza0NoYXIgb2YgbWFza0NoYXJzKSB7XHJcbiAgICAgICAgICAgIGlmIChqID49IHZhbHVlQ2hhcnMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAobWFza0NoYXIgPT09IFwiOVwiKSB7XHJcbiAgICAgICAgICAgICAgICBtYXNrZWRWYWx1ZSArPSB2YWx1ZUNoYXJzW2orK107XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBtYXNrZWRWYWx1ZSArPSBtYXNrQ2hhcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIG1hc2tlZFZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVmVyaWZpY2Egc2UgdW1hIHN0cmluZyDDqSB2w6FsaWRhLlxyXG4gICAgICogQHBhcmFtIHN0ciAtIEEgc3RyaW5nIGEgc2VyIHZlcmlmaWNhZGEuXHJcbiAgICAgKiBAcmV0dXJucyBUcnVlIHNlIGEgc3RyaW5nIGZvciB2w6FsaWRhLCBmYWxzZSBjYXNvIGNvbnRyw6FyaW8uXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBpc1ZhbGlkKHN0cjogTnVsbGFibGVTdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAodHlwZW9mIHN0ciA9PT0gXCJ1bmRlZmluZWRcIiB8fCBzdHIgPT09IG51bGwpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKEFncm9TdHJpbmdVdGlscy5pc05vdEVtcHR5KHN0cikpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFZlcmlmaWNhIHNlIHVtYSBzdHJpbmcgw6kgaW52w6FsaWRhLlxyXG4gICAgICogQHBhcmFtIHN0ciAtIEEgc3RyaW5nIGEgc2VyIHZlcmlmaWNhZGEuXHJcbiAgICAgKiBAcmV0dXJucyBUcnVlIHNlIGEgc3RyaW5nIGZvciBpbnbDoWxpZGEsIGZhbHNlIGNhc28gY29udHLDoXJpby5cclxuICAgICAqL1xyXG4gICAgc3RhdGljIGlzSW52YWxpZChzdHI6IE51bGxhYmxlU3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuICFBZ3JvU3RyaW5nVXRpbHMuaXNWYWxpZChzdHIpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -10,18 +10,10 @@ let CancelEventDialogModule = class CancelEventDialogModule {
10
10
  };
11
11
  CancelEventDialogModule = __decorate([
12
12
  NgModule({
13
- imports: [
14
- CommonModule,
15
- ReactiveFormsModule,
16
- TooltipModule,
17
- ButtonModule,
18
- LibTranslationModule,
19
- DynamicFormModule,
20
- LoadingStateModule
21
- ],
13
+ imports: [CommonModule, ReactiveFormsModule, TooltipModule, ButtonModule, LibTranslationModule, DynamicFormModule, LoadingStateModule],
22
14
  declarations: [CancelEventDialogComponent],
23
15
  exports: [CancelEventDialogComponent],
24
16
  })
25
17
  ], CancelEventDialogModule);
26
18
  export { CancelEventDialogModule };
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuY2VsLWV2ZW50LWRpYWxvZy5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWFncm9uZWdvY2lvL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvY2FuY2VsLWV2ZW50LWRpYWxvZy9jYW5jZWwtZXZlbnQtZGlhbG9nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN6RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQWVyRCxJQUFhLHVCQUF1QixHQUFwQyxNQUFhLHVCQUF1QjtDQUFJLENBQUE7QUFBM0IsdUJBQXVCO0lBYm5DLFFBQVEsQ0FBQztRQUNOLE9BQU8sRUFBRTtZQUNMLFlBQVk7WUFDWixtQkFBbUI7WUFDbkIsYUFBYTtZQUNiLFlBQVk7WUFDWixvQkFBb0I7WUFDcEIsaUJBQWlCO1lBQ2pCLGtCQUFrQjtTQUNyQjtRQUNELFlBQVksRUFBRSxDQUFDLDBCQUEwQixDQUFDO1FBQzFDLE9BQU8sRUFBRSxDQUFDLDBCQUEwQixDQUFDO0tBQ3hDLENBQUM7R0FDVyx1QkFBdUIsQ0FBSTtTQUEzQix1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgVG9vbHRpcE1vZHVsZSB9IGZyb20gXCJwcmltZW5nL3Rvb2x0aXBcIjtcclxuaW1wb3J0IHsgQ2FuY2VsRXZlbnREaWFsb2dDb21wb25lbnQgfSBmcm9tIFwiLi9jYW5jZWwtZXZlbnQtZGlhbG9nLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBCdXR0b25Nb2R1bGUsIER5bmFtaWNGb3JtTW9kdWxlLCBMb2FkaW5nU3RhdGVNb2R1bGUgfSBmcm9tIFwiQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50c1wiO1xyXG5pbXBvcnQgeyBMaWJUcmFuc2xhdGlvbk1vZHVsZSB9IGZyb20gXCIuLi8uLi9saWItdHJhbnNsYXRpb24ubW9kdWxlXCI7XHJcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICAgICAgVG9vbHRpcE1vZHVsZSxcclxuICAgICAgICBCdXR0b25Nb2R1bGUsXHJcbiAgICAgICAgTGliVHJhbnNsYXRpb25Nb2R1bGUsXHJcbiAgICAgICAgRHluYW1pY0Zvcm1Nb2R1bGUsXHJcbiAgICAgICAgTG9hZGluZ1N0YXRlTW9kdWxlXHJcbiAgICBdLFxyXG4gICAgZGVjbGFyYXRpb25zOiBbQ2FuY2VsRXZlbnREaWFsb2dDb21wb25lbnRdLFxyXG4gICAgZXhwb3J0czogW0NhbmNlbEV2ZW50RGlhbG9nQ29tcG9uZW50XSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENhbmNlbEV2ZW50RGlhbG9nTW9kdWxlIHsgfSJdfQ==
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuY2VsLWV2ZW50LWRpYWxvZy5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWFncm9uZWdvY2lvL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvY2FuY2VsLWV2ZW50LWRpYWxvZy9jYW5jZWwtZXZlbnQtZGlhbG9nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN6RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU9yRCxJQUFhLHVCQUF1QixHQUFwQyxNQUFhLHVCQUF1QjtDQUFHLENBQUE7QUFBMUIsdUJBQXVCO0lBTG5DLFFBQVEsQ0FBQztRQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLGlCQUFpQixFQUFFLGtCQUFrQixDQUFDO1FBQ3RJLFlBQVksRUFBRSxDQUFDLDBCQUEwQixDQUFDO1FBQzFDLE9BQU8sRUFBRSxDQUFDLDBCQUEwQixDQUFDO0tBQ3hDLENBQUM7R0FDVyx1QkFBdUIsQ0FBRztTQUExQix1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgVG9vbHRpcE1vZHVsZSB9IGZyb20gXCJwcmltZW5nL3Rvb2x0aXBcIjtcclxuaW1wb3J0IHsgQ2FuY2VsRXZlbnREaWFsb2dDb21wb25lbnQgfSBmcm9tIFwiLi9jYW5jZWwtZXZlbnQtZGlhbG9nLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBCdXR0b25Nb2R1bGUsIER5bmFtaWNGb3JtTW9kdWxlLCBMb2FkaW5nU3RhdGVNb2R1bGUgfSBmcm9tIFwiQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50c1wiO1xyXG5pbXBvcnQgeyBMaWJUcmFuc2xhdGlvbk1vZHVsZSB9IGZyb20gXCIuLi8uLi9saWItdHJhbnNsYXRpb24ubW9kdWxlXCI7XHJcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBUb29sdGlwTW9kdWxlLCBCdXR0b25Nb2R1bGUsIExpYlRyYW5zbGF0aW9uTW9kdWxlLCBEeW5hbWljRm9ybU1vZHVsZSwgTG9hZGluZ1N0YXRlTW9kdWxlXSxcclxuICAgIGRlY2xhcmF0aW9uczogW0NhbmNlbEV2ZW50RGlhbG9nQ29tcG9uZW50XSxcclxuICAgIGV4cG9ydHM6IFtDYW5jZWxFdmVudERpYWxvZ0NvbXBvbmVudF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDYW5jZWxFdmVudERpYWxvZ01vZHVsZSB7fVxyXG4iXX0=
@@ -1,3 +1,3 @@
1
- export { CancelEventDialogComponent } from './cancel-event-dialog.component';
2
- export { CancelEventDialogModule } from './cancel-event-dialog.module';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWFncm9uZWdvY2lvL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvY2FuY2VsLWV2ZW50LWRpYWxvZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IENhbmNlbEV2ZW50RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jYW5jZWwtZXZlbnQtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IENhbmNlbEV2ZW50RGlhbG9nTW9kdWxlIH0gZnJvbSAnLi9jYW5jZWwtZXZlbnQtZGlhbG9nLm1vZHVsZSc7XHJcbmV4cG9ydCB7IENhbmNlbEV2ZW50RGlhbG9nQ29uZmlnIH0gZnJvbSAnLi9jYW5jZWwtZXZlbnQtZGlhbG9nLWNvbmZpZyc7Il19
1
+ export { CancelEventDialogComponent } from "./cancel-event-dialog.component";
2
+ export { CancelEventDialogModule } from "./cancel-event-dialog.module";
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWFncm9uZWdvY2lvL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvY2FuY2VsLWV2ZW50LWRpYWxvZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IENhbmNlbEV2ZW50RGlhbG9nQ29tcG9uZW50IH0gZnJvbSBcIi4vY2FuY2VsLWV2ZW50LWRpYWxvZy5jb21wb25lbnRcIjtcclxuZXhwb3J0IHsgQ2FuY2VsRXZlbnREaWFsb2dNb2R1bGUgfSBmcm9tIFwiLi9jYW5jZWwtZXZlbnQtZGlhbG9nLm1vZHVsZVwiO1xyXG5leHBvcnQgeyBDYW5jZWxFdmVudERpYWxvZ0NvbmZpZyB9IGZyb20gXCIuL2NhbmNlbC1ldmVudC1kaWFsb2ctY29uZmlnXCI7XHJcbiJdfQ==
@@ -4,4 +4,4 @@ export var ControlStatus;
4
4
  ControlStatus["EXIT"] = "EXIT";
5
5
  ControlStatus["CANCELED"] = "CANCELED";
6
6
  })(ControlStatus || (ControlStatus = {}));
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC1zdGF0dXMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWFncm9uZWdvY2lvL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvZXZlbnQtY29udHJvbC1ib2FyZC9jb21tb24vY29udHJvbC1zdGF0dXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksYUFJWDtBQUpELFdBQVksYUFBYTtJQUNyQixnQ0FBZSxDQUFBO0lBQ2YsOEJBQWEsQ0FBQTtJQUNiLHNDQUFxQixDQUFBO0FBQ3pCLENBQUMsRUFKVyxhQUFhLEtBQWIsYUFBYSxRQUl4QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIENvbnRyb2xTdGF0dXMge1xyXG4gICAgRU5UUlkgPSAnRU5UUlknLFxyXG4gICAgRVhJVCA9ICdFWElUJyxcclxuICAgIENBTkNFTEVEID0gJ0NBTkNFTEVEJyxcclxufVxyXG4iXX0=
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC1zdGF0dXMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWFncm9uZWdvY2lvL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvZXZlbnQtY29udHJvbC1ib2FyZC9jb21tb24vY29udHJvbC1zdGF0dXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksYUFJWDtBQUpELFdBQVksYUFBYTtJQUNyQixnQ0FBZSxDQUFBO0lBQ2YsOEJBQWEsQ0FBQTtJQUNiLHNDQUFxQixDQUFBO0FBQ3pCLENBQUMsRUFKVyxhQUFhLEtBQWIsYUFBYSxRQUl4QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIENvbnRyb2xTdGF0dXMge1xyXG4gICAgRU5UUlkgPSBcIkVOVFJZXCIsXHJcbiAgICBFWElUID0gXCJFWElUXCIsXHJcbiAgICBDQU5DRUxFRCA9IFwiQ0FOQ0VMRURcIixcclxufVxyXG4iXX0=
@@ -7,40 +7,81 @@ export const eventOrigin = [
7
7
  { label: "agro.angular_components.invoice_creating_event", value: EventOrigin.INVOICE },
8
8
  { label: "agro.angular_components.ticket_maintenance_header", value: EventOrigin.TICKET },
9
9
  { label: "agro.angular_components.change_request_event_summary", value: EventOrigin.CHANGE_REQUEST },
10
- { label: "agro.angular_components.transfer_cancellation_event", value: EventOrigin.TRANSFER_CANCELLATION }
10
+ { label: "agro.angular_components.transfer_cancellation_event", value: EventOrigin.TRANSFER_CANCELLATION },
11
11
  ];
12
12
  export const eventItem = [
13
13
  { label: "agro.angular_components.ticket_event", value: EventOperation.TICKET },
14
14
  { label: "agro.angular_components.provisional_event", value: EventOperation.PROVISIONAL },
15
- { label: "agro.angular_components.invoice_creating_event", value: EventOperation.CREATE_INVOICE, subLabelField: InputFields.AGRO_INVOICE_TYPE },
15
+ {
16
+ label: "agro.angular_components.invoice_creating_event",
17
+ value: EventOperation.CREATE_INVOICE,
18
+ subLabelField: InputFields.AGRO_INVOICE_TYPE,
19
+ },
16
20
  { label: "agro.angular_components.remove_provisional_event", value: EventOperation.REMOVE_PROVISIONAL },
17
21
  { label: "agro.angular_components.effective_event", value: EventOperation.EFFECTIVE },
18
22
  { label: "agro.angular_components.effective_confirmation_event", value: EventOperation.EFFECTIVE_CONFIRMATION },
19
23
  { label: "agro.angular_components.change_request_event_summary", value: EventOperation.CHANGE_REQUEST },
20
24
  { label: "agro.angular_components.change_response_event", value: EventOperation.CHANGE_RESPONSE },
21
25
  { label: "agro.angular_components.fixation_event", value: EventOperation.PROCESS_FIXATION },
22
- { label: `agro.angular_components.${EventOperation.CANCEL_INVOICE}`, value: EventOperation.CANCEL_INVOICE, subLabelField: InputFields.AGRO_INVOICE_TYPE },
26
+ {
27
+ label: `agro.angular_components.${EventOperation.CANCEL_INVOICE}`,
28
+ value: EventOperation.CANCEL_INVOICE,
29
+ subLabelField: InputFields.AGRO_INVOICE_TYPE,
30
+ },
23
31
  { label: `agro.angular_components.${EventOperation.REPROCESS_INVOICE}`, value: EventOperation.REPROCESS_INVOICE },
24
32
  { label: `agro.angular_components.${EventOperation.EFFECTIVE_CONFIRMATION}`, value: EventOperation.EFFECTIVE_CONFIRMATION },
25
33
  { label: `agro.angular_components.${EventOperation.CHANGE_REQUEST}`, value: EventOperation.CHANGE_REQUEST },
26
34
  { label: `agro.angular_components.${EventOperation.CHANGE_RESPONSE}`, value: EventOperation.CHANGE_RESPONSE },
27
35
  { label: `agro.angular_components.${EventOperation.PROCESS_FIXATION}`, value: EventOperation.PROCESS_FIXATION },
28
- { label: `agro.angular_components.${EventOperation.TRANSFER_CREATE_INCOMING_INVOICE}`, value: EventOperation.TRANSFER_CREATE_INCOMING_INVOICE },
29
- { label: `agro.angular_components.${EventOperation.TRANSFER_CREATE_OUTGOING_INVOICE}`, value: EventOperation.TRANSFER_CREATE_OUTGOING_INVOICE },
36
+ {
37
+ label: `agro.angular_components.${EventOperation.TRANSFER_CREATE_INCOMING_INVOICE}`,
38
+ value: EventOperation.TRANSFER_CREATE_INCOMING_INVOICE,
39
+ },
40
+ {
41
+ label: `agro.angular_components.${EventOperation.TRANSFER_CREATE_OUTGOING_INVOICE}`,
42
+ value: EventOperation.TRANSFER_CREATE_OUTGOING_INVOICE,
43
+ },
30
44
  { label: `agro.angular_components.${EventOperation.TRANSFER_PRODUCER_BALANCE}`, value: EventOperation.TRANSFER_PRODUCER_BALANCE },
31
45
  { label: `agro.angular_components.${EventOperation.FINISH_FINANCIAL_FIXATION}`, value: EventOperation.FINISH_FINANCIAL_FIXATION },
32
- { label: `agro.angular_components.${EventOperation.FINISH_PRODUCER_NET_VALUE_FIXATION}`, value: EventOperation.FINISH_PRODUCER_NET_VALUE_FIXATION },
46
+ {
47
+ label: `agro.angular_components.${EventOperation.FINISH_PRODUCER_NET_VALUE_FIXATION}`,
48
+ value: EventOperation.FINISH_PRODUCER_NET_VALUE_FIXATION,
49
+ },
33
50
  { label: `agro.angular_components.${EventOperation.CONCLUDE_FIXATION}`, value: EventOperation.CONCLUDE_FIXATION },
34
51
  { label: `agro.angular_components.${EventOperation.CANCEL_FINANCIAL_FIXATION}`, value: EventOperation.CANCEL_FINANCIAL_FIXATION },
35
- { label: `agro.angular_components.${EventOperation.CANCEL_PRODUCER_NET_VALUE_FIXATION}`, value: EventOperation.CANCEL_PRODUCER_NET_VALUE_FIXATION },
52
+ {
53
+ label: `agro.angular_components.${EventOperation.CANCEL_PRODUCER_NET_VALUE_FIXATION}`,
54
+ value: EventOperation.CANCEL_PRODUCER_NET_VALUE_FIXATION,
55
+ },
36
56
  { label: `agro.angular_components.${EventOperation.CANCEL_FIXATION}`, value: EventOperation.CANCEL_FIXATION },
37
- { label: `agro.angular_components.${EventOperation.TRANSFER_CANCEL_INCOMING_INVOICE}`, value: EventOperation.TRANSFER_CANCEL_INCOMING_INVOICE },
38
- { label: `agro.angular_components.${EventOperation.TRANSFER_CANCEL_OUTGOING_INVOICE}`, value: EventOperation.TRANSFER_CANCEL_OUTGOING_INVOICE },
39
- { label: `agro.angular_components.${EventOperation.TRANSFER_REVERSE_PRODUCER_BALANCE}`, value: EventOperation.TRANSFER_REVERSE_PRODUCER_BALANCE },
57
+ {
58
+ label: `agro.angular_components.${EventOperation.TRANSFER_CANCEL_INCOMING_INVOICE}`,
59
+ value: EventOperation.TRANSFER_CANCEL_INCOMING_INVOICE,
60
+ },
61
+ {
62
+ label: `agro.angular_components.${EventOperation.TRANSFER_CANCEL_OUTGOING_INVOICE}`,
63
+ value: EventOperation.TRANSFER_CANCEL_OUTGOING_INVOICE,
64
+ },
65
+ {
66
+ label: `agro.angular_components.${EventOperation.TRANSFER_REVERSE_PRODUCER_BALANCE}`,
67
+ value: EventOperation.TRANSFER_REVERSE_PRODUCER_BALANCE,
68
+ },
40
69
  { label: `agro.angular_components.${EventOperation.TRANSFER_CONCLUDE_CANCEL}`, value: EventOperation.TRANSFER_CONCLUDE_CANCEL },
41
- { label: `agro.angular_components.${EventOperation.CREATE_INVOICE_FIXATION}`, value: EventOperation.CREATE_INVOICE_FIXATION, subLabelField: InputFields.INVOICE_TYPE },
42
- { label: `agro.angular_components.${EventOperation.CANCEL_INVOICE_FIXATION}`, value: EventOperation.CANCEL_INVOICE_FIXATION, subLabelField: InputFields.INVOICE_TYPE },
43
- { label: `agro.angular_components.${EventOperation.CLOSE_INVOICE_FIXATION}`, value: EventOperation.CLOSE_INVOICE_FIXATION, subLabelField: InputFields.INVOICE_NUMBER },
70
+ {
71
+ label: `agro.angular_components.${EventOperation.CREATE_INVOICE_FIXATION}`,
72
+ value: EventOperation.CREATE_INVOICE_FIXATION,
73
+ subLabelField: InputFields.INVOICE_TYPE,
74
+ },
75
+ {
76
+ label: `agro.angular_components.${EventOperation.CANCEL_INVOICE_FIXATION}`,
77
+ value: EventOperation.CANCEL_INVOICE_FIXATION,
78
+ subLabelField: InputFields.INVOICE_TYPE,
79
+ },
80
+ {
81
+ label: `agro.angular_components.${EventOperation.CLOSE_INVOICE_FIXATION}`,
82
+ value: EventOperation.CLOSE_INVOICE_FIXATION,
83
+ subLabelField: InputFields.INVOICE_NUMBER,
84
+ },
44
85
  ];
45
86
  export const eventStatus = [
46
87
  { label: "agro.angular_components.panel_title_events_completed_successfully", value: EventStatus.SUCCESS },
@@ -55,4 +96,4 @@ export const inputFieldsPath = [
55
96
  { path: "invoiceCancelRecordIn.0", field: InputFields.INVOICE_TYPE, operation: EventOperation.CANCEL_INVOICE_FIXATION },
56
97
  { path: "invoiceCreateRecordIn.0", field: InputFields.INVOICE_NUMBER, operation: EventOperation.CLOSE_INVOICE_FIXATION },
57
98
  ];
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtY29udHJvbC1jb25zdGFudHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWFncm9uZWdvY2lvL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvZXZlbnQtY29udHJvbC1ib2FyZC9jb21tb24vZXZlbnQtY29udHJvbC1jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRztJQUN2QixFQUFFLEtBQUssRUFBRSxxREFBcUQsRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLHFCQUFxQixFQUFFO0lBQzFHLEVBQUUsS0FBSyxFQUFFLGdEQUFnRCxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsT0FBTyxFQUFFO0lBQ3ZGLEVBQUUsS0FBSyxFQUFFLG1EQUFtRCxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsTUFBTSxFQUFFO0lBQ3pGLEVBQUUsS0FBSyxFQUFFLHNEQUFzRCxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsY0FBYyxFQUFFO0lBQ3BHLEVBQUUsS0FBSyxFQUFFLHFEQUFxRCxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMscUJBQXFCLEVBQUU7Q0FDN0csQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRztJQUNyQixFQUFFLEtBQUssRUFBRSxzQ0FBc0MsRUFBRSxLQUFLLEVBQUUsY0FBYyxDQUFDLE1BQU0sRUFBRTtJQUMvRSxFQUFFLEtBQUssRUFBRSwyQ0FBMkMsRUFBRSxLQUFLLEVBQUUsY0FBYyxDQUFDLFdBQVcsRUFBRTtJ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QUssRUFBRSxXQUFXLENBQUMsT0FBTyxFQUFFO0lBQ3hFLEVBQUUsS0FBSyxFQUFFLG9DQUFvQyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsVUFBVSxFQUFFO0lBQzlFLEVBQUUsS0FBSyxFQUFFLGtDQUFrQyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsUUFBUSxFQUFFO0NBQzdFLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUc7SUFDM0IsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsaUJBQWlCLEVBQUU7SUFDekQsRUFBRSxJQUFJLEVBQUUseUJBQXlCLEVBQUUsS0FBSyxFQUFFLFdBQVcsQ0FBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLGNBQWMsQ0FBQyx1QkFBdUIsRUFBRTtJQUN2SCxFQUFFLElBQUksRUFBRSx5QkFBeUIsRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLFlBQVksRUFBRSxTQUFTLEVBQUUsY0FBYyxDQUFDLHVCQUF1QixFQUFFO0lBQ3ZILEVBQUUsSUFBSSxFQUFFLHlCQUF5QixFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsY0FBYyxFQUFFLFNBQVMsRUFBRSxjQUFjLENBQUMsc0JBQXNCLEVBQUU7Q0FDM0gsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50T3BlcmF0aW9uIH0gZnJvbSBcIi4vZXZlbnQtb3BlcmF0aW9uXCI7XHJcbmltcG9ydCB7IEV2ZW50T3JpZ2luIH0gZnJvbSBcIi4vZXZlbnQtb3JpZ2luXCI7XHJcbmltcG9ydCB7IEV2ZW50U3RhdHVzIH0gZnJvbSBcIi4vZXZlbnQtc3RhdHVzXCI7XHJcbmltcG9ydCB7IElucHV0RmllbGRzIH0gZnJvbSBcIi4vaW5wdXQtZmllbGRzXCI7XHJcblxyXG5leHBvcnQgY29uc3QgZXZlbnRPcmlnaW4gPSBbXHJcbiAgICB7IGxhYmVsOiBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmJhbGFuY2VfZW50cnlfY29udHJvbF9ldmVudFwiLCB2YWx1ZTogRXZlbnRPcmlnaW4uQkFMQU5DRV9FTlRSWV9DT05UUk9MIH0sXHJcbiAgICB7IGxhYmVsOiBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmludm9pY2VfY3JlYXRpbmdfZXZlbnRcIiwgdmFsdWU6IEV2ZW50T3JpZ2luLklOVk9JQ0UgfSxcclxuICAgIHsgbGFiZWw6IFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMudGlja2V0X21haW50ZW5hbmNlX2hlYWRlclwiLCB2YWx1ZTogRXZlbnRPcmlnaW4uVElDS0VUIH0sXHJcbiAgICB7IGxhYmVsOiBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmNoYW5nZV9yZXF1ZXN0X2V2ZW50X3N1bW1hcnlcIiwgdmFsdWU6IEV2ZW50T3JpZ2luLkNIQU5HRV9SRVFVRVNUIH0sXHJcbiAgICB7IGxhYmVsOiBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnRyYW5zZmVyX2NhbmNlbGxhdGlvbl9ldmVudFwiLCB2YWx1ZTogRXZlbnRPcmlnaW4uVFJBTlNGRVJfQ0FOQ0VMTEFUSU9OIH1cclxuXTtcclxuXHJcbmV4cG9ydCBjb25zdCBldmVudEl0ZW0gPSBbXHJcbiAgICB7IGxhYmVsOiBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnRpY2tldF9ldmVudFwiLCB2YWx1ZTogRXZlbnRPcGVyYXRpb24uVElDS0VUIH0sXHJcbiAgICB7IGxhYmVsOiBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnByb3Zpc2lvbmFsX2V2ZW50XCIsIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5QUk9WSVNJT05BTCB9LFxyXG4gICAgeyBsYWJlbDogXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5pbnZvaWNlX2NyZWF0aW5nX2V2ZW50XCIsIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5DUkVBVEVfSU5WT0lDRSwgc3ViTGFiZWxGaWVsZDogSW5wdXRGaWVsZHMuQUdST19JTlZPSUNFX1RZUEUgfSxcclxuICAgIHsgbGFiZWw6IFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMucmVtb3ZlX3Byb3Zpc2lvbmFsX2V2ZW50XCIsIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5SRU1PVkVfUFJPVklTSU9OQUwgfSxcclxuICAgIHsgbGFiZWw6IFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZWZmZWN0aXZlX2V2ZW50XCIsIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5FRkZFQ1RJVkUgfSxcclxuICAgIHsgbGFiZWw6IFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZWZmZWN0aXZlX2NvbmZpcm1hdGlvbl9ldmVudFwiLCB2YWx1ZTogRXZlbnRPcGVyYXRpb24uRUZGRUNUSVZFX0NPTkZJUk1BVElPTiB9LFxyXG4gICAgeyBsYWJlbDogXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5jaGFuZ2VfcmVxdWVzdF9ldmVudF9zdW1tYXJ5XCIsIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5DSEFOR0VfUkVRVUVTVCB9LFxyXG4gICAgeyBsYWJlbDogXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5jaGFuZ2VfcmVzcG9uc2VfZXZlbnRcIiwgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLkNIQU5HRV9SRVNQT05TRSB9LFxyXG4gICAgeyBsYWJlbDogXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5maXhhdGlvbl9ldmVudFwiLCB2YWx1ZTogRXZlbnRPcGVyYXRpb24uUFJPQ0VTU19GSVhBVElPTiB9LFxyXG4gICAgeyBsYWJlbDogYGFncm8uYW5ndWxhcl9jb21wb25lbnRzLiR7RXZlbnRPcGVyYXRpb24uQ0FOQ0VMX0lOVk9JQ0V9YCwgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLkNBTkNFTF9JTlZPSUNFLCBzdWJMYWJlbEZpZWxkOiBJbnB1dEZpZWxkcy5BR1JPX0lOVk9JQ0VfVFlQRSB9LFxyXG4gICAgeyBsYWJlbDogYGFncm8uYW5ndWxhcl9jb21wb25lbnRzLiR7RXZlbnRPcGVyYXRpb24uUkVQUk9DRVNTX0lOVk9JQ0V9YCwgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLlJFUFJPQ0VTU19JTlZPSUNFIH0sXHJcbiAgICB7IGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5FRkZFQ1RJVkVfQ09ORklSTUFUSU9OfWAsIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5FRkZFQ1RJVkVfQ09ORklSTUFUSU9OIH0sXHJcbiAgICB7IGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5DSEFOR0VfUkVRVUVTVH1gLCB2YWx1ZTogRXZlbnRPcGVyYXRpb24uQ0hBTkdFX1JFUVVFU1QgfSxcclxuICAgIHsgbGFiZWw6IGBhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy4ke0V2ZW50T3BlcmF0aW9uLkNIQU5HRV9SRVNQT05TRX1gLCB2YWx1ZTogRXZlbnRPcGVyYXRpb24uQ0hBTkdFX1JFU1BPTlNFIH0sXHJcbiAgICB7IGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5QUk9DRVNTX0ZJWEFUSU9OfWAsIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5QUk9DRVNTX0ZJWEFUSU9OIH0sXHJcbiAgICB7IGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5UUkFOU0ZFUl9DUkVBVEVfSU5DT01JTkdfSU5WT0lDRX1gLCB2YWx1ZTogRXZlbnRPcGVyYXRpb24uVFJBTlNGRVJfQ1JFQVRFX0lOQ09NSU5HX0lOVk9JQ0UgfSxcclxuICAgIHsgbGFiZWw6IGBhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy4ke0V2ZW50T3BlcmF0aW9uLlRSQU5TRkVSX0NSRUFURV9PVVRHT0lOR19JTlZPSUNFfWAsIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5UUkFOU0ZFUl9DUkVBVEVfT1VUR09JTkdfSU5WT0lDRSB9LFxyXG4gICAgeyBsYWJlbDogYGFncm8uYW5ndWxhcl9jb21wb25lbnRzLiR7RXZlbnRPcGVyYXRpb24uVFJBTlNGRVJfUFJPRFVDRVJfQkFMQU5DRX1gLCB2YWx1ZTogRXZlbnRPcGVyYXRpb24uVFJBTlNGRVJfUFJPRFVDRVJfQkFMQU5DRSB9LFxyXG4gICAgeyBsYWJlbDogYGFncm8uYW5ndWxhcl9jb21wb25lbnRzLiR7RXZlbnRPcGVyYXRpb24uRklOSVNIX0ZJTkFOQ0lBTF9GSVhBVElPTn1gLCB2YWx1ZTogRXZlbnRPcGVyYXRpb24uRklOSVNIX0ZJTkFOQ0lBTF9GSVhBVElPTiB9LFxyXG4gICAgeyBsYWJlbDogYGFncm8uYW5ndWxhcl9jb21wb25lbnRzLiR7RXZlbnRPcGVyYXRpb24uRklOSVNIX1BST0RVQ0VSX05FVF9WQUxVRV9GSVhBVElPTn1gLCB2YWx1ZTogRXZlbnRPcGVyYXRpb24uRklOSVNIX1BST0RVQ0VSX05FVF9WQUxVRV9GSVhBVElPTiB9LFxyXG4gICAgeyBsYWJlbDogYGFncm8uYW5ndWxhcl9jb21wb25lbnRzLiR7RXZlbnRPcGVyYXRpb24uQ09OQ0xVREVfRklYQVRJT059YCwgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLkNPTkNMVURFX0ZJWEFUSU9OIH0sXHJcbiAgICB7IGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5DQU5DRUxfRklOQU5DSUFMX0ZJWEFUSU9OfWAsIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5DQU5DRUxfRklOQU5DSUFMX0ZJWEFUSU9OIH0sXHJcbiAgICB7IGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5DQU5DRUxfUFJPRFVDRVJfTkVUX1ZBTFVFX0ZJWEFUSU9OfWAsIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5DQU5DRUxfUFJPRFVDRVJfTkVUX1ZBTFVFX0ZJWEFUSU9OIH0sXHJcbiAgICB7IGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5DQU5DRUxfRklYQVRJT059YCwgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLkNBTkNFTF9GSVhBVElPTiB9LFxyXG4gICAgeyBsYWJlbDogYGFncm8uYW5ndWxhcl9jb21wb25lbnRzLiR7RXZlbnRPcGVyYXRpb24uVFJBTlNGRVJfQ0FOQ0VMX0lOQ09NSU5HX0lOVk9JQ0V9YCwgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLlRSQU5TRkVSX0NBTkNFTF9JTkNPTUlOR19JTlZPSUNFIH0sXHJcbiAgICB7IGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5UUkFOU0ZFUl9DQU5DRUxfT1VUR09JTkdfSU5WT0lDRX1gLCB2YWx1ZTogRXZlbnRPcGVyYXRpb24uVFJBTlNGRVJfQ0FOQ0VMX09VVEdPSU5HX0lOVk9JQ0UgfSxcclxuICAgIHsgbGFiZWw6IGBhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy4ke0V2ZW50T3BlcmF0aW9uLlRSQU5TRkVSX1JFVkVSU0VfUFJPRFVDRVJfQkFMQU5DRX1gLCB2YWx1ZTogRXZlbnRPcGVyYXRpb24uVFJBTlNGRVJfUkVWRVJTRV9QUk9EVUNFUl9CQUxBTkNFIH0sXHJcbiAgICB7IGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5UUkFOU0ZFUl9DT05DTFVERV9DQU5DRUx9YCwgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLlRSQU5TRkVSX0NPTkNMVURFX0NBTkNFTCB9LFxyXG4gICAgeyBsYWJlbDogYGFncm8uYW5ndWxhcl9jb21wb25lbnRzLiR7RXZlbnRPcGVyYXRpb24uQ1JFQVRFX0lOVk9JQ0VfRklYQVRJT059YCwgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLkNSRUFURV9JTlZPSUNFX0ZJWEFUSU9OLCBzdWJMYWJlbEZpZWxkOiBJbnB1dEZpZWxkcy5JTlZPSUNFX1RZUEUgfSxcclxuICAgIHsgbGFiZWw6IGBhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy4ke0V2ZW50T3BlcmF0aW9uLkNBTkNFTF9JTlZPSUNFX0ZJWEFUSU9OfWAsIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5DQU5DRUxfSU5WT0lDRV9GSVhBVElPTiwgc3ViTGFiZWxGaWVsZDogSW5wdXRGaWVsZHMuSU5WT0lDRV9UWVBFIH0sXHJcbiAgICB7IGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5DTE9TRV9JTlZPSUNFX0ZJWEFUSU9OfWAsIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5DTE9TRV9JTlZPSUNFX0ZJWEFUSU9OLCBzdWJMYWJlbEZpZWxkOiBJbnB1dEZpZWxkcy5JTlZPSUNFX05VTUJFUiB9LFxyXG5dO1xyXG5cclxuZXhwb3J0IGNvbnN0IGV2ZW50U3RhdHVzID0gW1xyXG4gICAgeyBsYWJlbDogXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5wYW5lbF90aXRsZV9ldmVudHNfY29tcGxldGVkX3N1Y2Nlc3NmdWxseVwiLCB2YWx1ZTogRXZlbnRTdGF0dXMuU1VDQ0VTUyB9LFxyXG4gICAgeyBsYWJlbDogXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5wYW5lbF90aXRsZV9ldmVudHNfZW5kZWRfd2l0aF9lcnJvclwiLCB2YWx1ZTogRXZlbnRTdGF0dXMuRkFJTEVEIH0sXHJcbiAgICB7IGxhYmVsOiBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnBlbmRpbmdcIiwgdmFsdWU6IEV2ZW50U3RhdHVzLlBFTkRJTkcgfSxcclxuICAgIHsgbGFiZWw6IFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMucHJvY2Vzc2luZ1wiLCB2YWx1ZTogRXZlbnRTdGF0dXMuUFJPQ0VTU0lORyB9LFxyXG4gICAgeyBsYWJlbDogXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5jYW5jZWxlZFwiLCB2YWx1ZTogRXZlbnRTdGF0dXMuQ0FOQ0VMRUQgfSxcclxuXTtcclxuXHJcbmV4cG9ydCBjb25zdCBpbnB1dEZpZWxkc1BhdGggPSBbXHJcbiAgICB7IHBhdGg6IFwiaW52b2ljZVwiLCBmaWVsZDogSW5wdXRGaWVsZHMuQUdST19JTlZPSUNFX1RZUEUgfSxcclxuICAgIHsgcGF0aDogXCJpbnZvaWNlQ3JlYXRlUmVjb3JkSW4uMFwiLCBmaWVsZDogSW5wdXRGaWVsZHMuSU5WT0lDRV9UWVBFLCBvcGVyYXRpb246IEV2ZW50T3BlcmF0aW9uLkNSRUFURV9JTlZPSUNFX0ZJWEFUSU9OIH0sXHJcbiAgICB7IHBhdGg6IFwiaW52b2ljZUNhbmNlbFJlY29yZEluLjBcIiwgZmllbGQ6IElucHV0RmllbGRzLklOVk9JQ0VfVFlQRSwgb3BlcmF0aW9uOiBFdmVudE9wZXJhdGlvbi5DQU5DRUxfSU5WT0lDRV9GSVhBVElPTiB9LFxyXG4gICAgeyBwYXRoOiBcImludm9pY2VDcmVhdGVSZWNvcmRJbi4wXCIsIGZpZWxkOiBJbnB1dEZpZWxkcy5JTlZPSUNFX05VTUJFUiwgb3BlcmF0aW9uOiBFdmVudE9wZXJhdGlvbi5DTE9TRV9JTlZPSUNFX0ZJWEFUSU9OIH0sXHJcbl1cclxuXHJcblxyXG5cclxuIl19
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtY29udHJvbC1jb25zdGFudHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWFncm9uZWdvY2lvL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvZXZlbnQtY29udHJvbC1ib2FyZC9jb21tb24vZXZlbnQtY29udHJvbC1jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRztJQUN2QixFQUFFLEtBQUssRUFBRSxxREFBcUQsRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLHFCQUFxQixFQUFFO0lBQzFHLEVBQUUsS0FBSyxFQUFFLGdEQUFnRCxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsT0FBTyxFQUFFO0lBQ3ZGLEVBQUUsS0FBSyxFQUFFLG1EQUFtRCxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsTUFBTSxFQUFFO0lBQ3pGLEVBQUUsS0FBSyxFQUFFLHNEQUFzRCxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsY0FBYyxFQUFFO0lBQ3BHLEVBQUUsS0FBSyxFQUFFLHFEQUFxRCxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMscUJBQXFCLEVBQUU7Q0FDN0csQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRztJQUNyQixFQUFFLEtBQUssRUFBRSxzQ0FBc0MsRUFBRSxLQUFLLEVBQUUsY0FBYyxDQUFDLE1BQU0sRUFBRTtJQUMvRSxFQUFFLEtBQUssRUFBRSwyQ0FBMkMsRUFBRSxLQUFLLEVBQUUsY0FBYyxDQUFDLFdBQVcsRUFBRTtJ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QUUsaUNBQWlDLEVBQUUsS0FBSyxFQUFFLFdBQVcsQ0FBQyxPQUFPLEVBQUU7SUFDeEUsRUFBRSxLQUFLLEVBQUUsb0NBQW9DLEVBQUUsS0FBSyxFQUFFLFdBQVcsQ0FBQyxVQUFVLEVBQUU7SUFDOUUsRUFBRSxLQUFLLEVBQUUsa0NBQWtDLEVBQUUsS0FBSyxFQUFFLFdBQVcsQ0FBQyxRQUFRLEVBQUU7Q0FDN0UsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRztJQUMzQixFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFdBQVcsQ0FBQyxpQkFBaUIsRUFBRTtJQUN6RCxFQUFFLElBQUksRUFBRSx5QkFBeUIsRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLFlBQVksRUFBRSxTQUFTLEVBQUUsY0FBYyxDQUFDLHVCQUF1QixFQUFFO0lBQ3ZILEVBQUUsSUFBSSxFQUFFLHlCQUF5QixFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsWUFBWSxFQUFFLFNBQVMsRUFBRSxjQUFjLENBQUMsdUJBQXVCLEVBQUU7SUFDdkgsRUFBRSxJQUFJLEVBQUUseUJBQXlCLEVBQUUsS0FBSyxFQUFFLFdBQVcsQ0FBQyxjQUFjLEVBQUUsU0FBUyxFQUFFLGNBQWMsQ0FBQyxzQkFBc0IsRUFBRTtDQUMzSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRPcGVyYXRpb24gfSBmcm9tIFwiLi9ldmVudC1vcGVyYXRpb25cIjtcclxuaW1wb3J0IHsgRXZlbnRPcmlnaW4gfSBmcm9tIFwiLi9ldmVudC1vcmlnaW5cIjtcclxuaW1wb3J0IHsgRXZlbnRTdGF0dXMgfSBmcm9tIFwiLi9ldmVudC1zdGF0dXNcIjtcclxuaW1wb3J0IHsgSW5wdXRGaWVsZHMgfSBmcm9tIFwiLi9pbnB1dC1maWVsZHNcIjtcclxuXHJcbmV4cG9ydCBjb25zdCBldmVudE9yaWdpbiA9IFtcclxuICAgIHsgbGFiZWw6IFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuYmFsYW5jZV9lbnRyeV9jb250cm9sX2V2ZW50XCIsIHZhbHVlOiBFdmVudE9yaWdpbi5CQUxBTkNFX0VOVFJZX0NPTlRST0wgfSxcclxuICAgIHsgbGFiZWw6IFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuaW52b2ljZV9jcmVhdGluZ19ldmVudFwiLCB2YWx1ZTogRXZlbnRPcmlnaW4uSU5WT0lDRSB9LFxyXG4gICAgeyBsYWJlbDogXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy50aWNrZXRfbWFpbnRlbmFuY2VfaGVhZGVyXCIsIHZhbHVlOiBFdmVudE9yaWdpbi5USUNLRVQgfSxcclxuICAgIHsgbGFiZWw6IFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuY2hhbmdlX3JlcXVlc3RfZXZlbnRfc3VtbWFyeVwiLCB2YWx1ZTogRXZlbnRPcmlnaW4uQ0hBTkdFX1JFUVVFU1QgfSxcclxuICAgIHsgbGFiZWw6IFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMudHJhbnNmZXJfY2FuY2VsbGF0aW9uX2V2ZW50XCIsIHZhbHVlOiBFdmVudE9yaWdpbi5UUkFOU0ZFUl9DQU5DRUxMQVRJT04gfSxcclxuXTtcclxuXHJcbmV4cG9ydCBjb25zdCBldmVudEl0ZW0gPSBbXHJcbiAgICB7IGxhYmVsOiBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnRpY2tldF9ldmVudFwiLCB2YWx1ZTogRXZlbnRPcGVyYXRpb24uVElDS0VUIH0sXHJcbiAgICB7IGxhYmVsOiBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnByb3Zpc2lvbmFsX2V2ZW50XCIsIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5QUk9WSVNJT05BTCB9LFxyXG4gICAge1xyXG4gICAgICAgIGxhYmVsOiBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmludm9pY2VfY3JlYXRpbmdfZXZlbnRcIixcclxuICAgICAgICB2YWx1ZTogRXZlbnRPcGVyYXRpb24uQ1JFQVRFX0lOVk9JQ0UsXHJcbiAgICAgICAgc3ViTGFiZWxGaWVsZDogSW5wdXRGaWVsZHMuQUdST19JTlZPSUNFX1RZUEUsXHJcbiAgICB9LFxyXG4gICAgeyBsYWJlbDogXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5yZW1vdmVfcHJvdmlzaW9uYWxfZXZlbnRcIiwgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLlJFTU9WRV9QUk9WSVNJT05BTCB9LFxyXG4gICAgeyBsYWJlbDogXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lZmZlY3RpdmVfZXZlbnRcIiwgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLkVGRkVDVElWRSB9LFxyXG4gICAgeyBsYWJlbDogXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lZmZlY3RpdmVfY29uZmlybWF0aW9uX2V2ZW50XCIsIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5FRkZFQ1RJVkVfQ09ORklSTUFUSU9OIH0sXHJcbiAgICB7IGxhYmVsOiBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmNoYW5nZV9yZXF1ZXN0X2V2ZW50X3N1bW1hcnlcIiwgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLkNIQU5HRV9SRVFVRVNUIH0sXHJcbiAgICB7IGxhYmVsOiBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmNoYW5nZV9yZXNwb25zZV9ldmVudFwiLCB2YWx1ZTogRXZlbnRPcGVyYXRpb24uQ0hBTkdFX1JFU1BPTlNFIH0sXHJcbiAgICB7IGxhYmVsOiBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmZpeGF0aW9uX2V2ZW50XCIsIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5QUk9DRVNTX0ZJWEFUSU9OIH0sXHJcbiAgICB7XHJcbiAgICAgICAgbGFiZWw6IGBhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy4ke0V2ZW50T3BlcmF0aW9uLkNBTkNFTF9JTlZPSUNFfWAsXHJcbiAgICAgICAgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLkNBTkNFTF9JTlZPSUNFLFxyXG4gICAgICAgIHN1YkxhYmVsRmllbGQ6IElucHV0RmllbGRzLkFHUk9fSU5WT0lDRV9UWVBFLFxyXG4gICAgfSxcclxuICAgIHsgbGFiZWw6IGBhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy4ke0V2ZW50T3BlcmF0aW9uLlJFUFJPQ0VTU19JTlZPSUNFfWAsIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5SRVBST0NFU1NfSU5WT0lDRSB9LFxyXG4gICAgeyBsYWJlbDogYGFncm8uYW5ndWxhcl9jb21wb25lbnRzLiR7RXZlbnRPcGVyYXRpb24uRUZGRUNUSVZFX0NPTkZJUk1BVElPTn1gLCB2YWx1ZTogRXZlbnRPcGVyYXRpb24uRUZGRUNUSVZFX0NPTkZJUk1BVElPTiB9LFxyXG4gICAgeyBsYWJlbDogYGFncm8uYW5ndWxhcl9jb21wb25lbnRzLiR7RXZlbnRPcGVyYXRpb24uQ0hBTkdFX1JFUVVFU1R9YCwgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLkNIQU5HRV9SRVFVRVNUIH0sXHJcbiAgICB7IGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5DSEFOR0VfUkVTUE9OU0V9YCwgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLkNIQU5HRV9SRVNQT05TRSB9LFxyXG4gICAgeyBsYWJlbDogYGFncm8uYW5ndWxhcl9jb21wb25lbnRzLiR7RXZlbnRPcGVyYXRpb24uUFJPQ0VTU19GSVhBVElPTn1gLCB2YWx1ZTogRXZlbnRPcGVyYXRpb24uUFJPQ0VTU19GSVhBVElPTiB9LFxyXG4gICAge1xyXG4gICAgICAgIGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5UUkFOU0ZFUl9DUkVBVEVfSU5DT01JTkdfSU5WT0lDRX1gLFxyXG4gICAgICAgIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5UUkFOU0ZFUl9DUkVBVEVfSU5DT01JTkdfSU5WT0lDRSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgbGFiZWw6IGBhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy4ke0V2ZW50T3BlcmF0aW9uLlRSQU5TRkVSX0NSRUFURV9PVVRHT0lOR19JTlZPSUNFfWAsXHJcbiAgICAgICAgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLlRSQU5TRkVSX0NSRUFURV9PVVRHT0lOR19JTlZPSUNFLFxyXG4gICAgfSxcclxuICAgIHsgbGFiZWw6IGBhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy4ke0V2ZW50T3BlcmF0aW9uLlRSQU5TRkVSX1BST0RVQ0VSX0JBTEFOQ0V9YCwgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLlRSQU5TRkVSX1BST0RVQ0VSX0JBTEFOQ0UgfSxcclxuICAgIHsgbGFiZWw6IGBhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy4ke0V2ZW50T3BlcmF0aW9uLkZJTklTSF9GSU5BTkNJQUxfRklYQVRJT059YCwgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLkZJTklTSF9GSU5BTkNJQUxfRklYQVRJT04gfSxcclxuICAgIHtcclxuICAgICAgICBsYWJlbDogYGFncm8uYW5ndWxhcl9jb21wb25lbnRzLiR7RXZlbnRPcGVyYXRpb24uRklOSVNIX1BST0RVQ0VSX05FVF9WQUxVRV9GSVhBVElPTn1gLFxyXG4gICAgICAgIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5GSU5JU0hfUFJPRFVDRVJfTkVUX1ZBTFVFX0ZJWEFUSU9OLFxyXG4gICAgfSxcclxuICAgIHsgbGFiZWw6IGBhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy4ke0V2ZW50T3BlcmF0aW9uLkNPTkNMVURFX0ZJWEFUSU9OfWAsIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5DT05DTFVERV9GSVhBVElPTiB9LFxyXG4gICAgeyBsYWJlbDogYGFncm8uYW5ndWxhcl9jb21wb25lbnRzLiR7RXZlbnRPcGVyYXRpb24uQ0FOQ0VMX0ZJTkFOQ0lBTF9GSVhBVElPTn1gLCB2YWx1ZTogRXZlbnRPcGVyYXRpb24uQ0FOQ0VMX0ZJTkFOQ0lBTF9GSVhBVElPTiB9LFxyXG4gICAge1xyXG4gICAgICAgIGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5DQU5DRUxfUFJPRFVDRVJfTkVUX1ZBTFVFX0ZJWEFUSU9OfWAsXHJcbiAgICAgICAgdmFsdWU6IEV2ZW50T3BlcmF0aW9uLkNBTkNFTF9QUk9EVUNFUl9ORVRfVkFMVUVfRklYQVRJT04sXHJcbiAgICB9LFxyXG4gICAgeyBsYWJlbDogYGFncm8uYW5ndWxhcl9jb21wb25lbnRzLiR7RXZlbnRPcGVyYXRpb24uQ0FOQ0VMX0ZJWEFUSU9OfWAsIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5DQU5DRUxfRklYQVRJT04gfSxcclxuICAgIHtcclxuICAgICAgICBsYWJlbDogYGFncm8uYW5ndWxhcl9jb21wb25lbnRzLiR7RXZlbnRPcGVyYXRpb24uVFJBTlNGRVJfQ0FOQ0VMX0lOQ09NSU5HX0lOVk9JQ0V9YCxcclxuICAgICAgICB2YWx1ZTogRXZlbnRPcGVyYXRpb24uVFJBTlNGRVJfQ0FOQ0VMX0lOQ09NSU5HX0lOVk9JQ0UsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGxhYmVsOiBgYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuJHtFdmVudE9wZXJhdGlvbi5UUkFOU0ZFUl9DQU5DRUxfT1VUR09JTkdfSU5WT0lDRX1gLFxyXG4gICAgICAgIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5UUkFOU0ZFUl9DQU5DRUxfT1VUR09JTkdfSU5WT0lDRSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgbGFiZWw6IGBhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy4ke0V2ZW50T3BlcmF0aW9uLlRSQU5TRkVSX1JFVkVSU0VfUFJPRFVDRVJfQkFMQU5DRX1gLFxyXG4gICAgICAgIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5UUkFOU0ZFUl9SRVZFUlNFX1BST0RVQ0VSX0JBTEFOQ0UsXHJcbiAgICB9LFxyXG4gICAgeyBsYWJlbDogYGFncm8uYW5ndWxhcl9jb21wb25lbnRzLiR7RXZlbnRPcGVyYXRpb24uVFJBTlNGRVJfQ09OQ0xVREVfQ0FOQ0VMfWAsIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5UUkFOU0ZFUl9DT05DTFVERV9DQU5DRUwgfSxcclxuICAgIHtcclxuICAgICAgICBsYWJlbDogYGFncm8uYW5ndWxhcl9jb21wb25lbnRzLiR7RXZlbnRPcGVyYXRpb24uQ1JFQVRFX0lOVk9JQ0VfRklYQVRJT059YCxcclxuICAgICAgICB2YWx1ZTogRXZlbnRPcGVyYXRpb24uQ1JFQVRFX0lOVk9JQ0VfRklYQVRJT04sXHJcbiAgICAgICAgc3ViTGFiZWxGaWVsZDogSW5wdXRGaWVsZHMuSU5WT0lDRV9UWVBFLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBsYWJlbDogYGFncm8uYW5ndWxhcl9jb21wb25lbnRzLiR7RXZlbnRPcGVyYXRpb24uQ0FOQ0VMX0lOVk9JQ0VfRklYQVRJT059YCxcclxuICAgICAgICB2YWx1ZTogRXZlbnRPcGVyYXRpb24uQ0FOQ0VMX0lOVk9JQ0VfRklYQVRJT04sXHJcbiAgICAgICAgc3ViTGFiZWxGaWVsZDogSW5wdXRGaWVsZHMuSU5WT0lDRV9UWVBFLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBsYWJlbDogYGFncm8uYW5ndWxhcl9jb21wb25lbnRzLiR7RXZlbnRPcGVyYXRpb24uQ0xPU0VfSU5WT0lDRV9GSVhBVElPTn1gLFxyXG4gICAgICAgIHZhbHVlOiBFdmVudE9wZXJhdGlvbi5DTE9TRV9JTlZPSUNFX0ZJWEFUSU9OLFxyXG4gICAgICAgIHN1YkxhYmVsRmllbGQ6IElucHV0RmllbGRzLklOVk9JQ0VfTlVNQkVSLFxyXG4gICAgfSxcclxuXTtcclxuXHJcbmV4cG9ydCBjb25zdCBldmVudFN0YXR1cyA9IFtcclxuICAgIHsgbGFiZWw6IFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMucGFuZWxfdGl0bGVfZXZlbnRzX2NvbXBsZXRlZF9zdWNjZXNzZnVsbHlcIiwgdmFsdWU6IEV2ZW50U3RhdHVzLlNVQ0NFU1MgfSxcclxuICAgIHsgbGFiZWw6IFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMucGFuZWxfdGl0bGVfZXZlbnRzX2VuZGVkX3dpdGhfZXJyb3JcIiwgdmFsdWU6IEV2ZW50U3RhdHVzLkZBSUxFRCB9LFxyXG4gICAgeyBsYWJlbDogXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5wZW5kaW5nXCIsIHZhbHVlOiBFdmVudFN0YXR1cy5QRU5ESU5HIH0sXHJcbiAgICB7IGxhYmVsOiBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnByb2Nlc3NpbmdcIiwgdmFsdWU6IEV2ZW50U3RhdHVzLlBST0NFU1NJTkcgfSxcclxuICAgIHsgbGFiZWw6IFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuY2FuY2VsZWRcIiwgdmFsdWU6IEV2ZW50U3RhdHVzLkNBTkNFTEVEIH0sXHJcbl07XHJcblxyXG5leHBvcnQgY29uc3QgaW5wdXRGaWVsZHNQYXRoID0gW1xyXG4gICAgeyBwYXRoOiBcImludm9pY2VcIiwgZmllbGQ6IElucHV0RmllbGRzLkFHUk9fSU5WT0lDRV9UWVBFIH0sXHJcbiAgICB7IHBhdGg6IFwiaW52b2ljZUNyZWF0ZVJlY29yZEluLjBcIiwgZmllbGQ6IElucHV0RmllbGRzLklOVk9JQ0VfVFlQRSwgb3BlcmF0aW9uOiBFdmVudE9wZXJhdGlvbi5DUkVBVEVfSU5WT0lDRV9GSVhBVElPTiB9LFxyXG4gICAgeyBwYXRoOiBcImludm9pY2VDYW5jZWxSZWNvcmRJbi4wXCIsIGZpZWxkOiBJbnB1dEZpZWxkcy5JTlZPSUNFX1RZUEUsIG9wZXJhdGlvbjogRXZlbnRPcGVyYXRpb24uQ0FOQ0VMX0lOVk9JQ0VfRklYQVRJT04gfSxcclxuICAgIHsgcGF0aDogXCJpbnZvaWNlQ3JlYXRlUmVjb3JkSW4uMFwiLCBmaWVsZDogSW5wdXRGaWVsZHMuSU5WT0lDRV9OVU1CRVIsIG9wZXJhdGlvbjogRXZlbnRPcGVyYXRpb24uQ0xPU0VfSU5WT0lDRV9GSVhBVElPTiB9LFxyXG5dO1xyXG4iXX0=