@gipisistemas/ng-core 1.1.5 → 1.1.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (134) hide show
  1. package/bundles/gipisistemas-ng-core.umd.js +350 -191
  2. package/bundles/gipisistemas-ng-core.umd.js.map +1 -1
  3. package/bundles/gipisistemas-ng-core.umd.min.js +8 -8
  4. package/bundles/gipisistemas-ng-core.umd.min.js.map +1 -1
  5. package/core/guards/auth.guard.d.ts +3 -3
  6. package/core/guards/permission.guard.d.ts +3 -3
  7. package/core/guards/public.guard.d.ts +3 -3
  8. package/core/models/dto/confirmation.dto.d.ts +1 -1
  9. package/core/models/dto/dialog.dto.d.ts +4 -4
  10. package/core/models/dto/menu.dto.d.ts +1 -0
  11. package/core/services/dialog.service.d.ts +5 -1
  12. package/core/services/message.service.d.ts +1 -1
  13. package/core/services/nav.service.d.ts +1 -1
  14. package/core/services/svg-register.service.d.ts +7 -1
  15. package/esm2015/core/gipi-components/services/file.service.js +2 -4
  16. package/esm2015/core/guards/auth.guard.js +13 -14
  17. package/esm2015/core/guards/permission.guard.js +12 -13
  18. package/esm2015/core/guards/public.guard.js +12 -13
  19. package/esm2015/core/models/dto/confirmation.dto.js +1 -5
  20. package/esm2015/core/models/dto/dialog.dto.js +1 -1
  21. package/esm2015/core/models/dto/menu.dto.js +2 -1
  22. package/esm2015/core/services/authentication.service.js +5 -6
  23. package/esm2015/core/services/breakpoint-observer.service.js +2 -4
  24. package/esm2015/core/services/confirmation.service.js +2 -4
  25. package/esm2015/core/services/dialog.service.js +54 -14
  26. package/esm2015/core/services/message.service.js +3 -5
  27. package/esm2015/core/services/nav.service.js +2 -4
  28. package/esm2015/core/services/svg-register.service.js +16 -5
  29. package/esm2015/shared/components/checkbox/checkbox.component.js +15 -11
  30. package/esm2015/shared/components/input/input.component.js +1 -1
  31. package/esm2015/shared/components/input-currency/input-currency.component.js +1 -1
  32. package/esm2015/shared/components/input-file/input-file.component.js +1 -1
  33. package/esm2015/shared/components/popover/popover.service.js +6 -7
  34. package/esm2015/shared/components/radio-group-entity/radio-group-entity.component.js +1 -1
  35. package/esm2015/shared/components/radio-group-enum/radio-group-enum.component.js +1 -1
  36. package/esm2015/shared/components/select-entity/select-entity.component.js +1 -1
  37. package/esm2015/shared/components/select-entity-paged/select-entity-paged.component.js +3 -3
  38. package/esm2015/shared/components/select-entity-paged/shared/default-options.js +1 -2
  39. package/esm2015/shared/components/select-entity-paged/shared/select-search/select-search.component.js +2 -8
  40. package/esm2015/shared/components/select-enum/select-enum.component.js +1 -1
  41. package/esm2015/shared/components/select-month-period/select-month-period.component.js +1 -1
  42. package/esm2015/shared/components/table/table.component.js +28 -9
  43. package/esm2015/shared/components/textarea/textarea.component.js +1 -1
  44. package/esm2015/shared/gipi-components/abstract-form/abstract-form.component.js +65 -3
  45. package/esm2015/shared/gipi-components/confirmation-dialog/confirmation-dialog.component.js +3 -3
  46. package/esm2015/shared/gipi-components/datepicker/date-range-picker/date-range-picker.component.js +1 -1
  47. package/esm2015/shared/gipi-components/datepicker/datepicker/datepicker.component.js +1 -1
  48. package/esm2015/shared/gipi-components/dropdown-menu/dropdown-menu.component.js +1 -1
  49. package/esm2015/shared/gipi-components/form-field/form-field.component.js +1 -1
  50. package/esm2015/shared/gipi-components/input-checkbox/input-checkbox.component.js +1 -1
  51. package/esm2015/shared/gipi-components/input-currency/input-currency.component.js +1 -1
  52. package/esm2015/shared/gipi-components/input-monthpicker/input-monthpicker.component.js +1 -1
  53. package/esm2015/shared/gipi-components/input-select/input-select.component.js +1 -1
  54. package/esm2015/shared/gipi-components/input-select-enum/input-select-enum.component.js +1 -1
  55. package/esm2015/shared/gipi-components/input-select-listbox/input-select-listbox.component.js +1 -1
  56. package/esm2015/shared/gipi-components/input-select-paged/input-search/input-search.component.js +2 -2
  57. package/esm2015/shared/gipi-components/input-select-paged/input-select-paged.component.js +1 -1
  58. package/esm2015/shared/gipi-components/input-select-radio/input-select-radio.component.js +1 -1
  59. package/esm2015/shared/gipi-components/layout-grid/services/breakpoint.service.js +2 -4
  60. package/esm2015/shared/gipi-components/layout-grid/services/resize.service.js +2 -4
  61. package/esm2015/shared/gipi-components/month-year-picker/month-year-picker.component.js +3 -3
  62. package/esm2015/shared/gipi-components/radio-group/radio-group.component.js +1 -1
  63. package/esm2015/shared/gipi-components/select/select.component.js +1 -1
  64. package/esm2015/shared/gipi-components/sidebar/sidenav/sidenav.component.js +33 -10
  65. package/esm2015/shared/gipi-components/tabs/tab/tab.component.js +13 -1
  66. package/esm2015/shared/gipi-components/tabs/tab-group/tab-group.component.js +18 -4
  67. package/esm2015/shared/gipi-components/textarea/textarea.component.js +1 -1
  68. package/esm5/core/gipi-components/services/file.service.js +2 -4
  69. package/esm5/core/guards/auth.guard.js +13 -14
  70. package/esm5/core/guards/permission.guard.js +12 -13
  71. package/esm5/core/guards/public.guard.js +12 -13
  72. package/esm5/core/models/dto/confirmation.dto.js +2 -4
  73. package/esm5/core/models/dto/dialog.dto.js +1 -1
  74. package/esm5/core/models/dto/menu.dto.js +2 -1
  75. package/esm5/core/services/authentication.service.js +5 -6
  76. package/esm5/core/services/breakpoint-observer.service.js +2 -4
  77. package/esm5/core/services/confirmation.service.js +2 -4
  78. package/esm5/core/services/dialog.service.js +54 -14
  79. package/esm5/core/services/message.service.js +3 -5
  80. package/esm5/core/services/nav.service.js +2 -4
  81. package/esm5/core/services/svg-register.service.js +16 -5
  82. package/esm5/shared/components/checkbox/checkbox.component.js +15 -11
  83. package/esm5/shared/components/input/input.component.js +1 -1
  84. package/esm5/shared/components/input-currency/input-currency.component.js +1 -1
  85. package/esm5/shared/components/input-file/input-file.component.js +1 -1
  86. package/esm5/shared/components/popover/popover.service.js +6 -7
  87. package/esm5/shared/components/radio-group-entity/radio-group-entity.component.js +1 -1
  88. package/esm5/shared/components/radio-group-enum/radio-group-enum.component.js +1 -1
  89. package/esm5/shared/components/select-entity/select-entity.component.js +1 -1
  90. package/esm5/shared/components/select-entity-paged/select-entity-paged.component.js +3 -3
  91. package/esm5/shared/components/select-entity-paged/shared/default-options.js +1 -2
  92. package/esm5/shared/components/select-entity-paged/shared/select-search/select-search.component.js +2 -8
  93. package/esm5/shared/components/select-enum/select-enum.component.js +1 -1
  94. package/esm5/shared/components/select-month-period/select-month-period.component.js +1 -1
  95. package/esm5/shared/components/table/table.component.js +28 -9
  96. package/esm5/shared/components/textarea/textarea.component.js +1 -1
  97. package/esm5/shared/gipi-components/abstract-form/abstract-form.component.js +66 -3
  98. package/esm5/shared/gipi-components/confirmation-dialog/confirmation-dialog.component.js +3 -3
  99. package/esm5/shared/gipi-components/datepicker/date-range-picker/date-range-picker.component.js +1 -1
  100. package/esm5/shared/gipi-components/datepicker/datepicker/datepicker.component.js +1 -1
  101. package/esm5/shared/gipi-components/dropdown-menu/dropdown-menu.component.js +1 -1
  102. package/esm5/shared/gipi-components/form-field/form-field.component.js +1 -1
  103. package/esm5/shared/gipi-components/input-checkbox/input-checkbox.component.js +1 -1
  104. package/esm5/shared/gipi-components/input-currency/input-currency.component.js +1 -1
  105. package/esm5/shared/gipi-components/input-monthpicker/input-monthpicker.component.js +1 -1
  106. package/esm5/shared/gipi-components/input-select/input-select.component.js +1 -1
  107. package/esm5/shared/gipi-components/input-select-enum/input-select-enum.component.js +1 -1
  108. package/esm5/shared/gipi-components/input-select-listbox/input-select-listbox.component.js +1 -1
  109. package/esm5/shared/gipi-components/input-select-paged/input-search/input-search.component.js +2 -2
  110. package/esm5/shared/gipi-components/input-select-paged/input-select-paged.component.js +1 -1
  111. package/esm5/shared/gipi-components/input-select-radio/input-select-radio.component.js +1 -1
  112. package/esm5/shared/gipi-components/layout-grid/services/breakpoint.service.js +2 -4
  113. package/esm5/shared/gipi-components/layout-grid/services/resize.service.js +2 -4
  114. package/esm5/shared/gipi-components/month-year-picker/month-year-picker.component.js +3 -3
  115. package/esm5/shared/gipi-components/radio-group/radio-group.component.js +1 -1
  116. package/esm5/shared/gipi-components/select/select.component.js +1 -1
  117. package/esm5/shared/gipi-components/sidebar/sidenav/sidenav.component.js +38 -10
  118. package/esm5/shared/gipi-components/tabs/tab/tab.component.js +13 -1
  119. package/esm5/shared/gipi-components/tabs/tab-group/tab-group.component.js +18 -4
  120. package/esm5/shared/gipi-components/textarea/textarea.component.js +1 -1
  121. package/fesm2015/gipisistemas-ng-core.js +344 -193
  122. package/fesm2015/gipisistemas-ng-core.js.map +1 -1
  123. package/fesm5/gipisistemas-ng-core.js +355 -196
  124. package/fesm5/gipisistemas-ng-core.js.map +1 -1
  125. package/gipisistemas-ng-core.metadata.json +1 -1
  126. package/package.json +1 -1
  127. package/shared/components/checkbox/checkbox.component.d.ts +6 -4
  128. package/shared/components/popover/popover.service.d.ts +1 -1
  129. package/shared/components/select-entity-paged/shared/default-options.d.ts +2 -2
  130. package/shared/components/select-entity-paged/shared/select-search/select-search.component.d.ts +0 -1
  131. package/shared/gipi-components/abstract-form/abstract-form.component.d.ts +10 -2
  132. package/shared/gipi-components/sidebar/sidenav/sidenav.component.d.ts +5 -2
  133. package/shared/gipi-components/tabs/tab/tab.component.d.ts +3 -0
  134. package/shared/gipi-components/tabs/tab-group/tab-group.component.d.ts +3 -0
@@ -415,7 +415,7 @@ var GIPIInputMonthPickerComponent = /** @class */ (function () {
415
415
  'class': 'gipi-input-monthpicker',
416
416
  },
417
417
  changeDetection: ChangeDetectionStrategy.OnPush,
418
- styles: [".input-monthpicker-container{display:flex;flex-direction:column;gap:12px;width:100%}.input-monthpicker-container .input-monthpicker-label{color:#131313;font-size:1.4rem;line-height:100%}.input-monthpicker-container .input-monthpicker-label>span{color:#d14014;font-size:inherit;line-height:inherit}.input-monthpicker-container .input-monthpicker-content{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:12px;width:100%;max-height:4rem;border-radius:5px;cursor:text;background-color:#fff;border:1px solid rgba(0,0,0,.12);color:#696969;caret-color:#9a9da2;transition:.2s;position:relative}.input-monthpicker-container .input-monthpicker-content:focus-within,.input-monthpicker-container .input-monthpicker-content:has(.input-monthpicker-input:active),.input-monthpicker-container .input-monthpicker-content:has(.input-monthpicker-input:focus){box-shadow:0 0 0 .2rem #f0f0f0}.input-monthpicker-container .input-monthpicker-content:focus-within,.input-monthpicker-container .input-monthpicker-content:hover{border-color:#bfbfbf!important}.input-monthpicker-container .input-monthpicker-content:has(.input-monthpicker-input:disabled){border-color:#e0e1e2!important;color:#d1d2d4!important;box-shadow:none!important;cursor:not-allowed!important;caret-color:#d1d2d4!important;pointer-events:none!important}.input-monthpicker-container .input-monthpicker-content:has(.input-monthpicker-input:disabled) .input-monthpicker-input,.input-monthpicker-container .input-monthpicker-content:has(.input-monthpicker-input:disabled) .input-monthpicker-suffix .input-monthpicker-button{cursor:not-allowed!important;pointer-events:none!important}.input-monthpicker-container .input-monthpicker-content:has(.input-monthpicker-input:disabled) .input-monthpicker-suffix .input-monthpicker-trigger{border-color:#e0e1e2!important;pointer-events:none!important}.input-monthpicker-container .input-monthpicker-content:has(.input-monthpicker-input:disabled) mat-icon{color:#d1d2d4!important;fill:#d1d2d4!important;cursor:not-allowed!important;pointer-events:none!important}.input-monthpicker-container .input-monthpicker-content .input-monthpicker-input{height:16px;max-width:84%;outline:0;border:none;background-color:transparent;color:inherit;flex:1}.input-monthpicker-container .input-monthpicker-content .input-monthpicker-suffix{display:flex;flex-direction:row;align-items:center;gap:16px}.input-monthpicker-container .input-monthpicker-content .input-monthpicker-suffix .input-monthpicker-button{display:flex;align-items:center;justify-content:center;outline:0;border:none;cursor:pointer;background-color:transparent}.input-monthpicker-container .input-monthpicker-content .input-monthpicker-suffix .input-monthpicker-button:hover:not(:disabled)>mat-icon{transform:scale(1.08)}.input-monthpicker-icon{width:1.6rem;height:1.6rem;font-size:1.6rem;color:#131313;fill:#131313}::ng-deep .calendar{width:100%;display:flex;flex-direction:column}::ng-deep .calendar .calendar-header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid #aeb1b5;margin-bottom:8px}::ng-deep .calendar .calendar-header .calendar-title{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:1.6rem;line-height:1.8rem;font-weight:600;cursor:default;border-radius:8px;padding:8px;white-space:nowrap}::ng-deep .calendar .calendar-header .calendar-title>mat-icon{font-size:2rem;width:20px;height:20px}::ng-deep .calendar .calendar-header .calendar-title.month:hover{cursor:pointer;background-color:#f0f0f0}::ng-deep .calendar .calendar-header .calendar-controls{display:flex;flex-direction:row;align-items:center;gap:8px}::ng-deep .calendar .calendar-header .calendar-controls>button{display:flex;align-items:center;justify-content:center;padding:8px;border-radius:8px;background-color:#e0313e;cursor:pointer;transition:.3s;border:0;outline:0;color:#fff}::ng-deep .calendar .calendar-header .calendar-controls>button:hover{background-color:#cc2d38}::ng-deep .calendar .calendar-header .calendar-controls>button>mat-icon{font-size:1.8rem;width:18px;height:18px}::ng-deep .calendar .table-months{display:-ms-grid;display:grid;-ms-grid-columns:(1fr)[3];grid-template-columns:repeat(3,1fr);gap:4px}::ng-deep .calendar .table-months .month{display:flex;align-items:center;justify-content:center;padding:8px;border-radius:8px;font-size:1.4rem;line-height:1.7rem;color:#555659;background-color:#f0f0f0;transition:background-color .1s;cursor:pointer}::ng-deep .calendar .table-months .month.disabled{color:#bbbdc1;background-color:#e0e1e2}::ng-deep .calendar .table-months .month:not(.disabled).selected,::ng-deep .calendar .table-months .month:not(.disabled):hover{color:#fff;background-color:#e0313e}::ng-deep .calendar .table-months .month:not(.disabled).selected:hover{background-color:#cc2d38}::ng-deep .calendar .table-years{display:-ms-grid;display:grid;-ms-grid-columns:(1fr)[4];grid-template-columns:repeat(4,1fr);gap:4px}::ng-deep .calendar .table-years .year{display:flex;align-items:center;justify-content:center;padding:8px;border-radius:8px;font-size:1.4rem;line-height:1.7rem;color:#555659;background-color:#f0f0f0;transition:background-color .1s;cursor:pointer}::ng-deep .calendar .table-years .year.disabled{color:#bbbdc1;background-color:#e0e1e2}::ng-deep .calendar .table-years .year:not(.disabled).selected,::ng-deep .calendar .table-years .year:not(.disabled):hover{color:#fff;background-color:#e0313e}::ng-deep .calendar .table-years .year:not(.disabled).selected:hover{background-color:#cc2d38}"]
418
+ styles: [":host{display:block;min-width:0;max-width:100%;flex:1}.input-monthpicker-container{display:flex;flex-direction:column;gap:1rem;width:100%}.input-monthpicker-container .input-monthpicker-label{color:#131313;font-size:1.4rem;line-height:100%}.input-monthpicker-container .input-monthpicker-label>span{color:#d14014;font-size:inherit;line-height:inherit}.input-monthpicker-container .input-monthpicker-content{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:12px;width:100%;max-height:4rem;border-radius:5px;cursor:text;background-color:#fff;border:1px solid rgba(0,0,0,.12);color:#696969;caret-color:#9a9da2;transition:.2s;position:relative}.input-monthpicker-container .input-monthpicker-content:focus-within,.input-monthpicker-container .input-monthpicker-content:has(.input-monthpicker-input:active),.input-monthpicker-container .input-monthpicker-content:has(.input-monthpicker-input:focus){box-shadow:0 0 0 .2rem #f0f0f0}.input-monthpicker-container .input-monthpicker-content:focus-within,.input-monthpicker-container .input-monthpicker-content:hover{border-color:#bfbfbf!important}.input-monthpicker-container .input-monthpicker-content:has(.input-monthpicker-input:disabled){border-color:#e0e1e2!important;color:#d1d2d4!important;box-shadow:none!important;cursor:not-allowed!important;caret-color:#d1d2d4!important;pointer-events:none!important}.input-monthpicker-container .input-monthpicker-content:has(.input-monthpicker-input:disabled) .input-monthpicker-input,.input-monthpicker-container .input-monthpicker-content:has(.input-monthpicker-input:disabled) .input-monthpicker-suffix .input-monthpicker-button{cursor:not-allowed!important;pointer-events:none!important}.input-monthpicker-container .input-monthpicker-content:has(.input-monthpicker-input:disabled) .input-monthpicker-suffix .input-monthpicker-trigger{border-color:#e0e1e2!important;pointer-events:none!important}.input-monthpicker-container .input-monthpicker-content:has(.input-monthpicker-input:disabled) mat-icon{color:#d1d2d4!important;fill:#d1d2d4!important;cursor:not-allowed!important;pointer-events:none!important}.input-monthpicker-container .input-monthpicker-content .input-monthpicker-input{height:16px;max-width:84%;outline:0;border:none;background-color:transparent;color:inherit;flex:1}.input-monthpicker-container .input-monthpicker-content .input-monthpicker-suffix{display:flex;flex-direction:row;align-items:center;gap:16px}.input-monthpicker-container .input-monthpicker-content .input-monthpicker-suffix .input-monthpicker-button{display:flex;align-items:center;justify-content:center;outline:0;border:none;cursor:pointer;background-color:transparent}.input-monthpicker-container .input-monthpicker-content .input-monthpicker-suffix .input-monthpicker-button:hover:not(:disabled)>mat-icon{transform:scale(1.08)}.input-monthpicker-icon{width:1.6rem;height:1.6rem;font-size:1.6rem;color:#131313;fill:#131313}::ng-deep .calendar{width:100%;display:flex;flex-direction:column}::ng-deep .calendar .calendar-header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid #aeb1b5;margin-bottom:8px}::ng-deep .calendar .calendar-header .calendar-title{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:1.6rem;line-height:1.8rem;font-weight:600;cursor:default;border-radius:8px;padding:8px;white-space:nowrap}::ng-deep .calendar .calendar-header .calendar-title>mat-icon{font-size:2rem;width:20px;height:20px}::ng-deep .calendar .calendar-header .calendar-title.month:hover{cursor:pointer;background-color:#f0f0f0}::ng-deep .calendar .calendar-header .calendar-controls{display:flex;flex-direction:row;align-items:center;gap:8px}::ng-deep .calendar .calendar-header .calendar-controls>button{display:flex;align-items:center;justify-content:center;padding:8px;border-radius:8px;background-color:#e0313e;cursor:pointer;transition:.3s;border:0;outline:0;color:#fff}::ng-deep .calendar .calendar-header .calendar-controls>button:hover{background-color:#cc2d38}::ng-deep .calendar .calendar-header .calendar-controls>button>mat-icon{font-size:1.8rem;width:18px;height:18px}::ng-deep .calendar .table-months{display:-ms-grid;display:grid;-ms-grid-columns:(1fr)[3];grid-template-columns:repeat(3,1fr);gap:4px}::ng-deep .calendar .table-months .month{display:flex;align-items:center;justify-content:center;padding:8px;border-radius:8px;font-size:1.4rem;line-height:1.7rem;color:#555659;background-color:#f0f0f0;transition:background-color .1s;cursor:pointer}::ng-deep .calendar .table-months .month.disabled{color:#bbbdc1;background-color:#e0e1e2}::ng-deep .calendar .table-months .month:not(.disabled).selected,::ng-deep .calendar .table-months .month:not(.disabled):hover{color:#fff;background-color:#e0313e}::ng-deep .calendar .table-months .month:not(.disabled).selected:hover{background-color:#cc2d38}::ng-deep .calendar .table-years{display:-ms-grid;display:grid;-ms-grid-columns:(1fr)[4];grid-template-columns:repeat(4,1fr);gap:4px}::ng-deep .calendar .table-years .year{display:flex;align-items:center;justify-content:center;padding:8px;border-radius:8px;font-size:1.4rem;line-height:1.7rem;color:#555659;background-color:#f0f0f0;transition:background-color .1s;cursor:pointer}::ng-deep .calendar .table-years .year.disabled{color:#bbbdc1;background-color:#e0e1e2}::ng-deep .calendar .table-years .year:not(.disabled).selected,::ng-deep .calendar .table-years .year:not(.disabled):hover{color:#fff;background-color:#e0313e}::ng-deep .calendar .table-years .year:not(.disabled).selected:hover{background-color:#cc2d38}"]
419
419
  }),
420
420
  __metadata("design:paramtypes", [ChangeDetectorRef,
421
421
  GIPINgConfig])
@@ -695,7 +695,7 @@ var GIPIInputSelectComponent = /** @class */ (function () {
695
695
  'class': 'gipi-input-select',
696
696
  },
697
697
  changeDetection: ChangeDetectionStrategy.OnPush,
698
- styles: ["::ng-deep .overlay-select{padding:0!important;overflow:hidden!important}::ng-deep .select-virtual-scroll-viewport{width:100%!important;max-height:240px;overflow:auto}::ng-deep .select-virtual-scroll-viewport .cdk-virtual-scroll-content-wrapper{width:100%!important;position:relative!important}::ng-deep .select-virtual-scroll-viewport::-webkit-scrollbar{width:15px}::ng-deep .select-virtual-scroll-viewport::-webkit-scrollbar-thumb{background-color:#e0e1e2;border-radius:10px;border:4px solid transparent;background-clip:padding-box}::ng-deep .select-row{display:flex;align-items:center;padding:0 16px;cursor:pointer;font-size:1.3rem;line-height:100%;gap:12px}::ng-deep .select-row:hover{background:#f5f5f6}::ng-deep .select-row:active{background:#e0e1e2}::ng-deep .select-row.disabled{background-color:#d1d2d4!important;color:#9a9da2!important;cursor:not-allowed!important;pointer-events:none!important}::ng-deep .select-row>span{display:-webkit-box;line-clamp:2;box-orient:vertical;-webkit-line-clamp:2;-webkit-box-orient:vertical;text-overflow:ellipsis;overflow:hidden}.select-search{display:flex;align-items:center;font-size:1.4rem;line-height:100%;gap:12px;padding:8px 12px}.select-option-all{border-bottom:1px solid rgba(0,0,0,.12)}.select-not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:600;font-size:1.2rem;gap:8px;color:#131313;cursor:default;padding:0 0 16px}.select-not-found>mat-icon{width:2.8rem;height:2.8rem;font-size:2.8rem;line-height:2.8rem;color:#131313}.select-loading{height:4rem;width:100%;background-color:#fff;display:flex;align-items:center;justify-content:center}.select-loading .dot-pulse{position:relative;left:-9999px;width:5px;height:5px;border-radius:50%;background-color:#e0313e;color:#e0313e;box-shadow:9999px 0 0 -5px;-webkit-animation:1.5s linear .25s infinite dot-pulse;animation:1.5s linear .25s infinite dot-pulse}.select-loading .dot-pulse::after,.select-loading .dot-pulse::before{content:\"\";display:inline-block;position:absolute;top:0;width:5px;height:5px;border-radius:50%;background-color:#e0313e;color:#e0313e}.select-loading .dot-pulse::before{box-shadow:9984px 0 0 -5px;-webkit-animation:1.5s linear infinite dot-pulse-before;animation:1.5s linear infinite dot-pulse-before}.select-loading .dot-pulse::after{box-shadow:10014px 0 0 -5px;-webkit-animation:1.5s linear .5s infinite dot-pulse-after;animation:1.5s linear .5s infinite dot-pulse-after}@-webkit-keyframes dot-pulse-before{0%,100%,60%{box-shadow:9984px 0 0 -5px}30%{box-shadow:9984px 0 0 2px}}@keyframes dot-pulse-before{0%,100%,60%{box-shadow:9984px 0 0 -5px}30%{box-shadow:9984px 0 0 2px}}@-webkit-keyframes dot-pulse{0%,100%,60%{box-shadow:9999px 0 0 -5px}30%{box-shadow:9999px 0 0 2px}}@keyframes dot-pulse{0%,100%,60%{box-shadow:9999px 0 0 -5px}30%{box-shadow:9999px 0 0 2px}}@-webkit-keyframes dot-pulse-after{0%,100%,60%{box-shadow:10014px 0 0 -5px}30%{box-shadow:10014px 0 0 2px}}@keyframes dot-pulse-after{0%,100%,60%{box-shadow:10014px 0 0 -5px}30%{box-shadow:10014px 0 0 2px}}.select-footer{display:flex;align-items:center;gap:12px;padding:8px 12px;border-top:1px solid #bfbfbf}::ng-deep .select-mat-option-pseudo-checkbox{margin:0!important}"]
698
+ styles: [":host{display:block;min-width:0;max-width:100%;flex:1}::ng-deep .overlay-select{padding:0!important;overflow:hidden!important}::ng-deep .select-virtual-scroll-viewport{width:100%!important;max-height:240px;overflow:auto}::ng-deep .select-virtual-scroll-viewport .cdk-virtual-scroll-content-wrapper{width:100%!important;position:relative!important}::ng-deep .select-virtual-scroll-viewport::-webkit-scrollbar{width:15px}::ng-deep .select-virtual-scroll-viewport::-webkit-scrollbar-thumb{background-color:#e0e1e2;border-radius:10px;border:4px solid transparent;background-clip:padding-box}::ng-deep .select-row{display:flex;align-items:center;padding:0 16px;cursor:pointer;font-size:1.3rem;line-height:100%;gap:1rem}::ng-deep .select-row:hover{background:#f5f5f6}::ng-deep .select-row:active{background:#e0e1e2}::ng-deep .select-row.disabled{background-color:#d1d2d4!important;color:#9a9da2!important;cursor:not-allowed!important;pointer-events:none!important}::ng-deep .select-row>span{display:-webkit-box;line-clamp:2;box-orient:vertical;-webkit-line-clamp:2;-webkit-box-orient:vertical;text-overflow:ellipsis;overflow:hidden}.select-search{display:flex;align-items:center;font-size:1.4rem;line-height:100%;gap:1rem;padding:8px 12px}.select-option-all{border-bottom:1px solid rgba(0,0,0,.12)}.select-not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:600;font-size:1.2rem;gap:8px;color:#131313;cursor:default;padding:0 0 16px}.select-not-found>mat-icon{width:2.8rem;height:2.8rem;font-size:2.8rem;line-height:2.8rem;color:#131313}.select-loading{height:4rem;width:100%;background-color:#fff;display:flex;align-items:center;justify-content:center}.select-loading .dot-pulse{position:relative;left:-9999px;width:5px;height:5px;border-radius:50%;background-color:#e0313e;color:#e0313e;box-shadow:9999px 0 0 -5px;-webkit-animation:1.5s linear .25s infinite dot-pulse;animation:1.5s linear .25s infinite dot-pulse}.select-loading .dot-pulse::after,.select-loading .dot-pulse::before{content:\"\";display:inline-block;position:absolute;top:0;width:5px;height:5px;border-radius:50%;background-color:#e0313e;color:#e0313e}.select-loading .dot-pulse::before{box-shadow:9984px 0 0 -5px;-webkit-animation:1.5s linear infinite dot-pulse-before;animation:1.5s linear infinite dot-pulse-before}.select-loading .dot-pulse::after{box-shadow:10014px 0 0 -5px;-webkit-animation:1.5s linear .5s infinite dot-pulse-after;animation:1.5s linear .5s infinite dot-pulse-after}@-webkit-keyframes dot-pulse-before{0%,100%,60%{box-shadow:9984px 0 0 -5px}30%{box-shadow:9984px 0 0 2px}}@keyframes dot-pulse-before{0%,100%,60%{box-shadow:9984px 0 0 -5px}30%{box-shadow:9984px 0 0 2px}}@-webkit-keyframes dot-pulse{0%,100%,60%{box-shadow:9999px 0 0 -5px}30%{box-shadow:9999px 0 0 2px}}@keyframes dot-pulse{0%,100%,60%{box-shadow:9999px 0 0 -5px}30%{box-shadow:9999px 0 0 2px}}@-webkit-keyframes dot-pulse-after{0%,100%,60%{box-shadow:10014px 0 0 -5px}30%{box-shadow:10014px 0 0 2px}}@keyframes dot-pulse-after{0%,100%,60%{box-shadow:10014px 0 0 -5px}30%{box-shadow:10014px 0 0 2px}}.select-footer{display:flex;align-items:center;gap:1rem;padding:8px 12px;border-top:1px solid #bfbfbf}::ng-deep .select-mat-option-pseudo-checkbox{margin:0!important}"]
699
699
  }),
700
700
  __metadata("design:paramtypes", [ChangeDetectorRef])
701
701
  ], GIPIInputSelectComponent);
@@ -340,7 +340,7 @@ var GIPIInputSelectEnumComponent = /** @class */ (function () {
340
340
  'class': 'gipi-input-select-enum',
341
341
  },
342
342
  changeDetection: ChangeDetectionStrategy.OnPush,
343
- styles: ["::ng-deep .overlay-select{padding:0!important;overflow:hidden!important}::ng-deep .select-virtual-scroll-viewport{width:100%!important;max-height:240px;overflow:auto}::ng-deep .select-virtual-scroll-viewport .cdk-virtual-scroll-content-wrapper{width:100%!important;position:relative!important}::ng-deep .select-virtual-scroll-viewport::-webkit-scrollbar{width:15px}::ng-deep .select-virtual-scroll-viewport::-webkit-scrollbar-thumb{background-color:#e0e1e2;border-radius:10px;border:4px solid transparent;background-clip:padding-box}::ng-deep .select-row{display:flex;align-items:center;padding:0 16px;cursor:pointer;font-size:1.4rem;line-height:100%;gap:12px}::ng-deep .select-row:hover{background:#f5f5f6}::ng-deep .select-row:active{background:#e0e1e2}.select-not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:600;font-size:1.2rem;gap:8px;color:#131313;cursor:default;padding:0 0 16px}.select-not-found>mat-icon{width:2.8rem;height:2.8rem;font-size:2.8rem;line-height:2.8rem;color:#131313}.select-loading{height:4.8rem;width:100%;background-color:#fff;display:flex;align-items:center;justify-content:center}.select-loading .dot-pulse{position:relative;left:-9999px;width:5px;height:5px;border-radius:50%;background-color:#e0313e;color:#e0313e;box-shadow:9999px 0 0 -5px;-webkit-animation:1.5s linear .25s infinite dot-pulse;animation:1.5s linear .25s infinite dot-pulse}.select-loading .dot-pulse::after,.select-loading .dot-pulse::before{content:\"\";display:inline-block;position:absolute;top:0;width:5px;height:5px;border-radius:50%;background-color:#e0313e;color:#e0313e}.select-loading .dot-pulse::before{box-shadow:9984px 0 0 -5px;-webkit-animation:1.5s linear infinite dot-pulse-before;animation:1.5s linear infinite dot-pulse-before}.select-loading .dot-pulse::after{box-shadow:10014px 0 0 -5px;-webkit-animation:1.5s linear .5s infinite dot-pulse-after;animation:1.5s linear .5s infinite dot-pulse-after}@-webkit-keyframes dot-pulse-before{0%,100%,60%{box-shadow:9984px 0 0 -5px}30%{box-shadow:9984px 0 0 2px}}@keyframes dot-pulse-before{0%,100%,60%{box-shadow:9984px 0 0 -5px}30%{box-shadow:9984px 0 0 2px}}@-webkit-keyframes dot-pulse{0%,100%,60%{box-shadow:9999px 0 0 -5px}30%{box-shadow:9999px 0 0 2px}}@keyframes dot-pulse{0%,100%,60%{box-shadow:9999px 0 0 -5px}30%{box-shadow:9999px 0 0 2px}}@-webkit-keyframes dot-pulse-after{0%,100%,60%{box-shadow:10014px 0 0 -5px}30%{box-shadow:10014px 0 0 2px}}@keyframes dot-pulse-after{0%,100%,60%{box-shadow:10014px 0 0 -5px}30%{box-shadow:10014px 0 0 2px}}.select-enum-popover-content{background-color:#fff;border-radius:4px;box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12);padding:8px}"]
343
+ styles: [":host{display:block;min-width:0;max-width:100%;flex:1}::ng-deep .overlay-select{padding:0!important;overflow:hidden!important}::ng-deep .select-virtual-scroll-viewport{width:100%!important;max-height:240px;overflow:auto}::ng-deep .select-virtual-scroll-viewport .cdk-virtual-scroll-content-wrapper{width:100%!important;position:relative!important}::ng-deep .select-virtual-scroll-viewport::-webkit-scrollbar{width:15px}::ng-deep .select-virtual-scroll-viewport::-webkit-scrollbar-thumb{background-color:#e0e1e2;border-radius:10px;border:4px solid transparent;background-clip:padding-box}::ng-deep .select-row{display:flex;align-items:center;padding:0 16px;cursor:pointer;font-size:1.4rem;line-height:100%;gap:1rem}::ng-deep .select-row:hover{background:#f5f5f6}::ng-deep .select-row:active{background:#e0e1e2}.select-not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:600;font-size:1.2rem;gap:8px;color:#131313;cursor:default;padding:0 0 16px}.select-not-found>mat-icon{width:2.8rem;height:2.8rem;font-size:2.8rem;line-height:2.8rem;color:#131313}.select-loading{height:4.8rem;width:100%;background-color:#fff;display:flex;align-items:center;justify-content:center}.select-loading .dot-pulse{position:relative;left:-9999px;width:5px;height:5px;border-radius:50%;background-color:#e0313e;color:#e0313e;box-shadow:9999px 0 0 -5px;-webkit-animation:1.5s linear .25s infinite dot-pulse;animation:1.5s linear .25s infinite dot-pulse}.select-loading .dot-pulse::after,.select-loading .dot-pulse::before{content:\"\";display:inline-block;position:absolute;top:0;width:5px;height:5px;border-radius:50%;background-color:#e0313e;color:#e0313e}.select-loading .dot-pulse::before{box-shadow:9984px 0 0 -5px;-webkit-animation:1.5s linear infinite dot-pulse-before;animation:1.5s linear infinite dot-pulse-before}.select-loading .dot-pulse::after{box-shadow:10014px 0 0 -5px;-webkit-animation:1.5s linear .5s infinite dot-pulse-after;animation:1.5s linear .5s infinite dot-pulse-after}@-webkit-keyframes dot-pulse-before{0%,100%,60%{box-shadow:9984px 0 0 -5px}30%{box-shadow:9984px 0 0 2px}}@keyframes dot-pulse-before{0%,100%,60%{box-shadow:9984px 0 0 -5px}30%{box-shadow:9984px 0 0 2px}}@-webkit-keyframes dot-pulse{0%,100%,60%{box-shadow:9999px 0 0 -5px}30%{box-shadow:9999px 0 0 2px}}@keyframes dot-pulse{0%,100%,60%{box-shadow:9999px 0 0 -5px}30%{box-shadow:9999px 0 0 2px}}@-webkit-keyframes dot-pulse-after{0%,100%,60%{box-shadow:10014px 0 0 -5px}30%{box-shadow:10014px 0 0 2px}}@keyframes dot-pulse-after{0%,100%,60%{box-shadow:10014px 0 0 -5px}30%{box-shadow:10014px 0 0 2px}}.select-enum-popover-content{background-color:#fff;border-radius:4px;box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12);padding:8px}"]
344
344
  }),
345
345
  __metadata("design:paramtypes", [ElementRef,
346
346
  ChangeDetectorRef])
@@ -425,7 +425,7 @@ var GIPIInputSelectListboxComponent = /** @class */ (function () {
425
425
  'class': 'gipi-input-select-listbox',
426
426
  },
427
427
  changeDetection: ChangeDetectionStrategy.OnPush,
428
- styles: ["::ng-deep .overlay-select-listbox{padding:0!important}::ng-deep .listbox-radio-group{display:flex;align-items:center;justify-content:center;flex-direction:row;gap:16px}.overlay-select-listbox-content{display:flex;flex-direction:column;align-items:stretch;justify-content:center;padding:12px;width:100%;gap:12px;position:relative}.overlay-select-listbox-content .overlay-select-listbox-backdrop{background:rgba(0,0,0,.32);opacity:1;position:absolute;top:0;bottom:0;left:0;right:0;z-index:1;border-radius:4px;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}.overlay-select-listbox-content .listbox-selected{display:flex;flex-direction:column;gap:16px;background-color:#f5f5f6;border-radius:4px;padding:8px;overflow:hidden;width:100%}.overlay-select-listbox-content .listbox-selected>span{font-size:1.4rem;font-weight:600;line-height:100%;color:#131313}.overlay-select-listbox-content .listbox-selected .list{display:flex;flex-direction:column;gap:4px;width:100%;height:9rem;overflow-x:hidden;overflow-y:auto}.overlay-select-listbox-content .listbox-selected .list::-webkit-scrollbar{width:15px}.overlay-select-listbox-content .listbox-selected .list::-webkit-scrollbar-thumb{background-color:#d1d2d4;border-radius:10px;border:4px solid transparent;background-clip:padding-box}.overlay-select-listbox-content .listbox-selected .list .option{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:4px 12px;gap:8px;font-weight:400;font-size:1.4rem;line-height:1.6rem;color:#595959;transition:.1s;border-radius:4px}.overlay-select-listbox-content .listbox-selected .list .option:hover{background-color:#e0e1e2}.overlay-select-listbox-content .listbox-selected .list .option:hover>button{visibility:visible!important}.overlay-select-listbox-content .listbox-selected .list .option>button{display:flex;align-items:center;justify-content:center;outline:0;border:none;padding:2px;border-radius:4px;cursor:pointer;background-color:transparent;visibility:hidden}.overlay-select-listbox-content .listbox-selected .list .option>button>svg{width:1.4rem;height:1.4rem;line-height:1.6rem}.overlay-select-listbox-content .listbox-selected .list .option>button:hover>svg{transform:scale(1.08)}.overlay-select-listbox-content .footer{border-top:1px solid #bfbfbf;padding-top:12px;display:flex;align-items:center;gap:12px}"]
428
+ styles: [":host{display:block;min-width:0;max-width:100%;flex:1}::ng-deep .overlay-select-listbox{padding:0!important}::ng-deep .listbox-radio-group{display:flex;align-items:center;justify-content:center;flex-direction:row;gap:16px}.overlay-select-listbox-content{display:flex;flex-direction:column;align-items:stretch;justify-content:center;padding:12px;width:100%;gap:1rem;position:relative}.overlay-select-listbox-content .overlay-select-listbox-backdrop{background:rgba(0,0,0,.32);opacity:1;position:absolute;top:0;bottom:0;left:0;right:0;z-index:1;border-radius:4px;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}.overlay-select-listbox-content .listbox-selected{display:flex;flex-direction:column;gap:16px;background-color:#f5f5f6;border-radius:4px;padding:8px;overflow:hidden;width:100%}.overlay-select-listbox-content .listbox-selected>span{font-size:1.4rem;font-weight:600;line-height:100%;color:#131313}.overlay-select-listbox-content .listbox-selected .list{display:flex;flex-direction:column;gap:4px;width:100%;height:9rem;overflow-x:hidden;overflow-y:auto}.overlay-select-listbox-content .listbox-selected .list::-webkit-scrollbar{width:15px}.overlay-select-listbox-content .listbox-selected .list::-webkit-scrollbar-thumb{background-color:#d1d2d4;border-radius:10px;border:4px solid transparent;background-clip:padding-box}.overlay-select-listbox-content .listbox-selected .list .option{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:4px 12px;gap:8px;font-weight:400;font-size:1.4rem;line-height:1.6rem;color:#595959;transition:.1s;border-radius:4px}.overlay-select-listbox-content .listbox-selected .list .option:hover{background-color:#e0e1e2}.overlay-select-listbox-content .listbox-selected .list .option:hover>button{visibility:visible!important}.overlay-select-listbox-content .listbox-selected .list .option>button{display:flex;align-items:center;justify-content:center;outline:0;border:none;padding:2px;border-radius:4px;cursor:pointer;background-color:transparent;visibility:hidden}.overlay-select-listbox-content .listbox-selected .list .option>button>svg{width:1.4rem;height:1.4rem;line-height:1.6rem}.overlay-select-listbox-content .listbox-selected .list .option>button:hover>svg{transform:scale(1.08)}.overlay-select-listbox-content .footer{border-top:1px solid #bfbfbf;padding-top:12px;display:flex;align-items:center;gap:1rem}"]
429
429
  }),
430
430
  __metadata("design:paramtypes", [ChangeDetectorRef,
431
431
  ElementRef,
@@ -368,7 +368,7 @@ var GIPIInputSearchComponent = /** @class */ (function () {
368
368
  Component({
369
369
  selector: "gipi-input-search",
370
370
  exportAs: 'gipiInputSearch',
371
- template: "<!-- Espa\u00E7o reservado para ajustar o deslocamento vertical dos elementos mat-option -->\n<input matInput\n class=\"mat-select-search-input mat-select-search-hidden\" />\n\n<!-- Note: o mat-datepicker-content mat-tab-header \u00E9 necess\u00E1rio para herdar as cores do tema do material, consulte PR n\u00BA 22 -->\n<div #innerSelectSearch\n class=\"mat-select-search-inner mat-typography mat-datepicker-content mat-tab-header\">\n\n <input class=\"mat-select-search-input mat-input-element\"\n aria-label=\"Pesquisa suspensa\"\n aria-hidden=\"false\"\n autocomplete=\"off\"\n type=\"text\"\n #searchSelectInput\n [placeholder]=\"placeholderLabel\"\n [formControl]=\"_formControl\"\n (keydown)=\"_handleKeydown($event)\"\n (keyup)=\"_handleKeyup($event)\"\n (blur)=\"onBlur()\">\n\n <mat-spinner *ngIf=\"searching\"\n class=\"mat-select-search-spinner\"\n diameter=\"16\">\n </mat-spinner>\n\n <button *ngIf=\"!hideClearSearchButton && value && !searching\"\n class=\"mat-select-search-clear\"\n aria-label=\"Limpar\"\n mat-icon-button\n (click)=\"_reset(true)\">\n <mat-icon> close </mat-icon>\n </button>\n\n <mat-divider> </mat-divider>\n</div>\n\n<div *ngIf=\"(_showNoEntriesFound$ | async) && !searching\"\n class=\"mat-select-search-no-entries-found\">\n <mat-icon>sentiment_very_dissatisfied</mat-icon>\n Nenhum registro foi encontrado\n</div>",
371
+ template: "<!-- Espa\u00E7o reservado para ajustar o deslocamento vertical dos elementos mat-option -->\n<input matInput\n class=\"mat-select-search-input mat-select-search-hidden\" />\n\n<!-- Note: o mat-datepicker-content mat-tab-header \u00E9 necess\u00E1rio para herdar as cores do tema do material, consulte PR n\u00BA 22 -->\n<div #innerSelectSearch\n class=\"mat-select-search-inner mat-typography mat-datepicker-content mat-tab-header\">\n\n <input class=\"mat-select-search-input mat-input-element\"\n autocomplete=\"off\"\n type=\"text\"\n #searchSelectInput\n [placeholder]=\"placeholderLabel\"\n [formControl]=\"_formControl\"\n (keydown)=\"_handleKeydown($event)\"\n (keyup)=\"_handleKeyup($event)\"\n (blur)=\"onBlur()\">\n\n <mat-spinner *ngIf=\"searching\"\n class=\"mat-select-search-spinner\"\n diameter=\"16\">\n </mat-spinner>\n\n <button *ngIf=\"!hideClearSearchButton && value && !searching\"\n class=\"mat-select-search-clear\"\n aria-label=\"Limpar\"\n mat-icon-button\n (click)=\"_reset(true)\">\n <mat-icon> close </mat-icon>\n </button>\n\n <mat-divider> </mat-divider>\n</div>\n\n<div *ngIf=\"(_showNoEntriesFound$ | async) && !searching\"\n class=\"mat-select-search-no-entries-found\">\n <mat-icon>sentiment_very_dissatisfied</mat-icon>\n Nenhum registro foi encontrado\n</div>",
372
372
  providers: [
373
373
  {
374
374
  provide: NG_VALUE_ACCESSOR,
@@ -394,4 +394,4 @@ var GIPIInputSearchComponent = /** @class */ (function () {
394
394
  return GIPIInputSearchComponent;
395
395
  }());
396
396
  export { GIPIInputSearchComponent };
397
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtc2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BnaXBpc2lzdGVtYXMvbmctY29yZS8iLCJzb3VyY2VzIjpbInNoYXJlZC9naXBpLWNvbXBvbmVudHMvaW5wdXQtc2VsZWN0LXBhZ2VkL2lucHV0LXNlYXJjaC9pbnB1dC1zZWFyY2guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2hILE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZOLE9BQU8sRUFBd0IsV0FBVyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEYsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBYyxPQUFPLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBbUJoRztJQXFGSSxrQ0FD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SUFBSSxFQUFFLENBQUM7a0NBQW9CLFVBQVU7dUVBQUM7SUFLbEc7UUFEQyxXQUFXLENBQUMsMkNBQTJDLENBQUM7OztxRUFHeEQ7SUFuRlEsd0JBQXdCO1FBakJwQyxTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsbUJBQW1CO1lBQzdCLFFBQVEsRUFBRSxpQkFBaUI7WUFDM0Isb2pEQUE0QztZQUU1QyxTQUFTLEVBQUU7Z0JBQ1A7b0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjtvQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxjQUF1QyxPQUFBLDBCQUF3QixFQUF4QixDQUF3QixDQUFDO29CQUN4RixLQUFLLEVBQUUsSUFBSTtpQkFDZDthQUNKO1lBQ0QsSUFBSSxFQUFFO2dCQUNGLE9BQU8sRUFBRSxtQkFBbUI7YUFDL0I7WUFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7U0FDbEQsQ0FBQztRQXVGTyxXQUFBLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUdqQixXQUFBLFFBQVEsRUFBRSxDQUFBLEVBQUUsV0FBQSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDN0IsV0FBQSxRQUFRLEVBQUUsQ0FBQSxFQUFFLFdBQUEsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFBO3lDQUpJLFNBQVM7WUFDcEIsaUJBQWlCO1lBQ25CLGFBQWE7WUFDWSxTQUFTO1lBQ0gsWUFBWTtPQTFGOUQsd0JBQXdCLENBZ1hwQztJQUFELCtCQUFDO0NBQUEsQUFoWEQsSUFnWEM7U0FoWFksd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aXZlRGVzY2VuZGFudEtleU1hbmFnZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBBLCBET1dOX0FSUk9XLCBFTkQsIEVOVEVSLCBFU0NBUEUsIEhPTUUsIE5JTkUsIFNQQUNFLCBVUF9BUlJPVywgWiwgWkVSTyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQgeyBWaWV3cG9ydFJ1bGVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIEluamVjdCwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsLCBRdWVyeUxpc3QsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZCwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1Db250cm9sLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZCwgTWF0T3B0aW9uLCBNYXRTZWxlY3QgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWxheSwgZmlsdGVyLCBtYXAsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwLCB0YWtlLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IGBnaXBpLWlucHV0LXNlYXJjaGAsXG4gICAgZXhwb3J0QXM6ICdnaXBpSW5wdXRTZWFyY2gnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1zZWFyY2guY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2lucHV0LXNlYXJjaC5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpOiB0eXBlb2YgR0lQSUlucHV0U2VhcmNoQ29tcG9uZW50ID0+IEdJUElJbnB1dFNlYXJjaENvbXBvbmVudCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICB9XG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdjbGFzcyc6ICdnaXBpLWlucHV0LXNlYXJjaCcsXG4gICAgfSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBHSVBJSW5wdXRTZWFyY2hDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzLCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG5cbiAgICAvLyBWYWxvciBkZSBwZXNxdWlzYSBhdHVhbFxuICAgIGdldCB2YWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fZm9ybUNvbnRyb2wudmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfbGFzdEV4dGVybmFsSW5wdXRWYWx1ZTogc3RyaW5nO1xuXG4gICAgLy8gUmVmZXLDqm5jaWEgw6BzIG9ww6fDtWVzIE1hdFNlbGVjdFxuICAgIHB1YmxpYyBfb3B0aW9ucyQ6IEJlaGF2aW9yU3ViamVjdDxRdWVyeUxpc3Q8TWF0T3B0aW9uPj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFF1ZXJ5TGlzdDxNYXRPcHRpb24+PihudWxsKTtcbiAgICBwdWJsaWMgc2V0IF9vcHRpb25zKF9vcHRpb25zOiBRdWVyeUxpc3Q8TWF0T3B0aW9uPikge1xuICAgICAgICB0aGlzLl9vcHRpb25zJC5uZXh0KF9vcHRpb25zKTtcbiAgICB9XG4gICAgcHVibGljIGdldCBfb3B0aW9ucygpOiBRdWVyeUxpc3Q8TWF0T3B0aW9uPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9vcHRpb25zJC5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgb3B0aW9uc0xpc3QkOiBPYnNlcnZhYmxlPE1hdE9wdGlvbltdPiA9IHRoaXMuX29wdGlvbnMkLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoX29wdGlvbnM6IFF1ZXJ5TGlzdDxNYXRPcHRpb24+KTogT2JzZXJ2YWJsZTxhbnk+ID0+IF9vcHRpb25zXG4gICAgICAgICAgICA/IF9vcHRpb25zLmNoYW5nZXMucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKG9wdGlvbnM6IGFueSk6IGFueSA9PiBvcHRpb25zLnRvQXJyYXkoKSksXG4gICAgICAgICAgICAgICAgc3RhcnRXaXRoPE1hdE9wdGlvbltdPihfb3B0aW9ucy50b0FycmF5KCkpLClcbiAgICAgICAgICAgIDogb2YobnVsbClcbiAgICAgICAgKVxuICAgICk7XG5cbiAgICBwcml2YXRlIG9wdGlvbnNMZW5ndGgkOiBPYnNlcnZhYmxlPG51bWJlcj4gPSB0aGlzLm9wdGlvbnNMaXN0JC5waXBlKFxuICAgICAgICBtYXAoKG9wdGlvbnM6IE1hdE9wdGlvbltdKTogbnVtYmVyID0+IG9wdGlvbnMgPyBvcHRpb25zLmxlbmd0aCA6IDApXG4gICAgKTtcblxuICAgIHB1YmxpYyBfZm9ybUNvbnRyb2w6IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKCcnKTtcblxuICAgIC8vIFNlIGRldmUgbW9zdHJhciBhIG1lbnNhZ2VtIHNlbSBlbnRyYWRhcyBlbmNvbnRyYWRhc1xuICAgIHB1YmxpYyBfc2hvd05vRW50cmllc0ZvdW5kJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICB0aGlzLl9mb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMsXG4gICAgICAgIHRoaXMub3B0aW9uc0xlbmd0aCRcbiAgICBdKS5waXBlKFxuICAgICAgICBtYXAoKFt2YWx1ZSwgb3B0aW9uc0xlbmd0aF06IFthbnksIG51bWJlcl0pOiBib29sZWFuID0+IHZhbHVlICYmIG9wdGlvbnNMZW5ndGggPT09IHRoaXMuZ2V0T3B0aW9uc0xlbmd0aE9mZnNldCgpKVxuICAgICk7XG5cbiAgICAvLyBTdWJqZWN0IGVtaXRpZG8gcXVhbmRvIG8gY29tcG9uZW50ZSBmb2kgZGVzdHJ1w61kb1xuICAgIHByaXZhdGUgX29uRGVzdHJveTogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvLyBSZWZlcsOqbmNpYSBhbyBkZXNjZW5kZW50ZSBhdGl2byBwYXJhIHN1cG9ydGUgQVJJQS5cbiAgICBwcml2YXRlIGFjdGl2ZURlc2NlbmRhbnQ6IEhUTUxFbGVtZW50O1xuXG4gICAgQElucHV0KCkgcGxhY2Vob2xkZXJMYWJlbDogc3RyaW5nID0gJ1Blc3F1aXNhcic7XG5cbiAgICBASW5wdXQoKSBjbGVhclNlYXJjaElucHV0OiBib29sZWFuID0gdHJ1ZTtcblxuICAgIC8vIFNlIGRldmUgbW9zdHJhciBvIGluZGljYWRvciBkZSBwZXNxdWlzYSBlbSBhbmRhbWVudG9cbiAgICBASW5wdXQoKSBzZWFyY2hpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8vIERlc2F0aXZhIG8gZm9jbyBpbmljaWFsIGRvIGNhbXBvIGRlIGVudHJhZGFcbiAgICBASW5wdXQoKSBkaXNhYmxlSW5pdGlhbEZvY3VzOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvLyBBdGl2YXIgbGltcGFyIGlucHV0IGFvIHByZXNzaW9uYXIgZXNjYXBlXG4gICAgQElucHV0KCkgZW5hYmxlQ2xlYXJPbkVzY2FwZVByZXNzZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEltcGVkZSBxdWUgYSBjaGF2ZSBob21lL2VuZCBzZWphIHByb3BhZ2FkYSBwYXJhIG1hdC1zZWxlY3QsXG4gICAgICogcGVybWl0aW5kbyBtb3ZlciBvIGN1cnNvciBkZW50cm8gZGEgZW50cmFkYSBkZSBwZXNxdWlzYSBlbSB2ZXogZGUgbmF2ZWdhciBwZWxhcyBvcMOnw7Vlc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHByZXZlbnRIb21lRW5kS2V5UHJvcGFnYXRpb246IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8vIERlc2F0aXZhIGEgcm9sYWdlbSBwYXJhIGFzIG9ww6fDtWVzIGF0aXZhcyBxdWFuZG8gYSBsaXN0YSBkZSBvcMOnw7VlcyDDqSBhbHRlcmFkYS4gw5p0aWwgcGFyYSBwZXNxdWlzYSBkbyBsYWRvIGRvIHNlcnZpZG9yXG4gICAgQElucHV0KCkgZGlzYWJsZVNjcm9sbFRvQWN0aXZlT25PcHRpb25zQ2hhbmdlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLy8gTW9zdHJhci9vY3VsdGFyIG8gYm90w6NvIGxpbXBhciBwZXNxdWlzYSBkYSBlbnRyYWRhIGRlIHBlc3F1aXNhXG4gICAgQElucHV0KCkgaGlkZUNsZWFyU2VhcmNoQnV0dG9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvLyBSZWZlcsOqbmNpYSBhbyBjYW1wbyBkZSBlbnRyYWRhIGRlIHBlc3F1aXNhXG4gICAgQFZpZXdDaGlsZCgnc2VhcmNoU2VsZWN0SW5wdXQnLCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogdHJ1ZSB9KSBzZWFyY2hTZWxlY3RJbnB1dDogRWxlbWVudFJlZjtcblxuICAgIC8vIFJlZmVyw6puY2lhIGFvIGNhbXBvIGRlIGVudHJhZGEgZGUgcGVzcXVpc2FcbiAgICBAVmlld0NoaWxkKCdpbm5lclNlbGVjdFNlYXJjaCcsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiB0cnVlIH0pIGlubmVyU2VsZWN0U2VhcmNoOiBFbGVtZW50UmVmO1xuXG4gICAgLy8gQWRpY2lvbmEgYSBjbGFzc2UgbWF0LXNlbGVjdC1zZWFyY2gtaW5zaWRlLW1hdC1vcHRpb24gc2UgbyBpdHNzLWlucHV0LXNlYXJjaCBlc3RpdmVyXG4gICAgLy8gZGVudHJvIGRvIG1hdC1vcHRpb25cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLm1hdC1zZWxlY3Qtc2VhcmNoLWluc2lkZS1tYXQtb3B0aW9uJylcbiAgICBnZXQgaXNJbnNpZGVNYXRPcHRpb24oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMubWF0T3B0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KE1hdFNlbGVjdCkgcHVibGljIG1hdFNlbGVjdDogTWF0U2VsZWN0LFxuICAgICAgICBwdWJsaWMgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIF92aWV3cG9ydFJ1bGVyOiBWaWV3cG9ydFJ1bGVyLFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE1hdE9wdGlvbikgcHVibGljIG1hdE9wdGlvbjogTWF0T3B0aW9uID0gbnVsbCxcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChNYXRGb3JtRmllbGQpIHB1YmxpYyBtYXRGb3JtRmllbGQ6IE1hdEZvcm1GaWVsZCA9IG51bGwsXG4gICAgKSB7IH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICAvLyBEZWZpbmlyIGNsYXNzZSBkZSBvcMOnw6NvIG1hdCBwZXJzb25hbGl6YWRhIHNlIG8gY29tcG9uZW50ZSBmb2kgY29sb2NhZG8gZGVudHJvIGRlIHVtYSBvcMOnw6NvIG1hdFxuICAgICAgICBpZiAodGhpcy5tYXRPcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMubWF0T3B0aW9uLmRpc2FibGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMubWF0T3B0aW9uLl9nZXRIb3N0RWxlbWVudCgpLmNsYXNzTGlzdC5hZGQoJ2NvbnRhaW5zLW1hdC1zZWxlY3Qtc2VhcmNoJyk7XG4gICAgICAgICAgICB0aGlzLm1hdE9wdGlvbi5fZ2V0SG9zdEVsZW1lbnQoKS5zZXRBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJywgJ3RydWUnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJzxnaXBpLXNlbGVjdC1zZWFyY2g+IGRldmUgc2VyIGNvbG9jYWRvIGRlbnRybyBkZSB1bSBlbGVtZW50byA8bWF0LW9wdGlvbj4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFF1YW5kbyBvIHBhaW5lbCBzdXNwZW5zbyBkZSBzZWxlw6fDo28gw6kgYWJlcnRvIG91IGZlY2hhZG9cbiAgICAgICAgdGhpcy5tYXRTZWxlY3Qub3BlbmVkQ2hhbmdlXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBkZWxheSgxKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95KVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgob3BlbmVkOiBib29sZWFuKTogdm9pZCA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG9wZW5lZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUlucHV0V2lkdGgoKTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBGb2NhciBvIGNhbXBvIGRlIHBlc3F1aXNhIGFvIGFicmlyXG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5kaXNhYmxlSW5pdGlhbEZvY3VzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9mb2N1cygpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gTGltcMOhLWxvIGFvIGZlY2hhclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5jbGVhclNlYXJjaElucHV0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9yZXNldCgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gRGVmaW5pciBvIHByaW1laXJvIGl0ZW0gYXRpdm8gYXDDs3MgYXMgb3DDp8O1ZXMgYWx0ZXJhZGFzXG4gICAgICAgIHRoaXMubWF0U2VsZWN0Lm9wZW5lZENoYW5nZVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKCk6IE9ic2VydmFibGU8YW55PiA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX29wdGlvbnMgPSB0aGlzLm1hdFNlbGVjdC5vcHRpb25zO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIFZhcmnDoXZlbCBkZSBmZWNoYW1lbnRvIHBhcmEgcmFzdHJlYXIgYSBwcmltZWlyYSBvcMOnw6NvIG1haXMgcmVjZW50ZS5cbiAgICAgICAgICAgICAgICAgICAgLy8gUGFyYSBldml0YXIgcXVlIGEgbGlzdGEgcm9sZSBwYXJhIG8gdG9wbyBxdWFuZG8gYXMgb3DDp8O1ZXMgc8OjbyBhZGljaW9uYWRhcyBhbyBmaW5hbCBkYSBsaXN0YVxuICAgICAgICAgICAgICAgICAgICAvLyAocG9yIGV4ZW1wbG86IHJvbGFnZW0gaW5maW5pdGEpLCBjb21wYXJhbW9zIGFwZW5hcyBhcyBhbHRlcmHDp8O1ZXMgbmFzIHByaW1laXJhcyBvcMOnw7VlcyBwYXJhXG4gICAgICAgICAgICAgICAgICAgIC8vIGRldGVybWluYXIgc2UgZGV2ZW1vcyBkZWZpbmlyIG8gcHJpbWVpcm8gaXRlbSBjb21vIGF0aXZvLiBJc3NvIGV2aXRhIGEgcm9sYWdlbSBkZXNuZWNlc3PDoXJpYVxuICAgICAgICAgICAgICAgICAgICAvLyBwYXJhIG8gdG9wbyBkYSBsaXN0YSBxdWFuZG8gYXMgb3DDp8O1ZXMgc8OjbyBhbmV4YWRhcywgbWFzIHBlcm1pdGUgcXVlIG8gcHJpbWVpcm8gaXRlbSBkYSBsaXN0YVxuICAgICAgICAgICAgICAgICAgICAvLyBzZWphIGRlZmluaWRvIGNvbW8gYXRpdm8gcG9yIHBhZHLDo28gcXVhbmRvIG7Do28gaMOhIHNlbGXDp8OjbyBhdGl2YS5cbiAgICAgICAgICAgICAgICAgICAgbGV0IHByZXZpb3VzRmlyc3RPcHRpb246IE1hdE9wdGlvbiA9IHRoaXMuX29wdGlvbnMudG9BcnJheSgpW3RoaXMuZ2V0T3B0aW9uc0xlbmd0aE9mZnNldCgpXTtcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fb3B0aW9ucy5jaGFuZ2VzXG4gICAgICAgICAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXAoKCk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBFdml0YXIgbyBlcnJvIFwiZXhwcmVzc2lvbiBoYXMgYmVlbiBjaGFuZ2VkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKTogdm9pZCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBDb252ZXJ0ZXIgYSBRdWVyeUxpc3QgZW0gdW1hIG1hdHJpelxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9uczogTWF0T3B0aW9uW10gPSB0aGlzLl9vcHRpb25zLnRvQXJyYXkoKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTyB2ZXJkYWRlaXJvIHByaW1laXJvIGl0ZW0gw6kgY29tcGVuc2FkbyBwb3IgMVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY3VycmVudEZpcnN0T3B0aW9uOiBNYXRPcHRpb24gPSBvcHRpb25zW3RoaXMuZ2V0T3B0aW9uc0xlbmd0aE9mZnNldCgpXTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qga2V5TWFuYWdlcjogQWN0aXZlRGVzY2VuZGFudEtleU1hbmFnZXI8TWF0T3B0aW9uPiA9IHRoaXMubWF0U2VsZWN0Ll9rZXlNYW5hZ2VyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGtleU1hbmFnZXIgJiYgdGhpcy5tYXRTZWxlY3QucGFuZWxPcGVuKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBEZWZpbmlyIHByaW1laXJvIGl0ZW0gYXRpdm8gZSBsYXJndXJhIGRlIGVudHJhZGFcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFZlcmlmaXF1ZSBzZSBhIHByaW1laXJhIG9ww6fDo28gbmVzc2FzIGFsdGVyYcOnw7VlcyDDqSBkaWZlcmVudGUgZGEgYW50ZXJpb3IuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZmlyc3RPcHRpb25Jc0NoYW5nZWQ6IGJvb2xlYW4gPSAhdGhpcy5tYXRTZWxlY3QuY29tcGFyZVdpdGgocHJldmlvdXNGaXJzdE9wdGlvbiwgY3VycmVudEZpcnN0T3B0aW9uKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIENBU086IEEgcHJpbWVpcmEgb3DDp8OjbyDDqSBkaWZlcmVudGUgYWdvcmEuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSW5kaWNhIHF1ZSBkZXZlbW9zIGRlZmluaS1sbyBjb21vIGF0aXZvIGUgcm9sYXIgcGFyYSBvIHRvcG8uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZpcnN0T3B0aW9uSXNDaGFuZ2VkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8ICFrZXlNYW5hZ2VyLmFjdGl2ZUl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgIW9wdGlvbnMuZmluZCgob3B0aW9uOiBNYXRPcHRpb24pOiBib29sZWFuID0+IHRoaXMubWF0U2VsZWN0LmNvbXBhcmVXaXRoKG9wdGlvbiwga2V5TWFuYWdlci5hY3RpdmVJdGVtKSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5TWFuYWdlci5zZXRGaXJzdEl0ZW1BY3RpdmUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBBZ3VhcmRlIGFzIGFsdGVyYcOnw7VlcyBuYSBsYXJndXJhIGRvIHBhaW5lbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUlucHV0V2lkdGgoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQXR1YWxpemUgbm9zc2EgcmVmZXLDqm5jaWFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXZpb3VzRmlyc3RPcHRpb24gPSBjdXJyZW50Rmlyc3RPcHRpb247XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95KSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcblxuICAgICAgICAvLyBBZGljaW9uZSBvdSByZW1vdmEgYSBjbGFzc2UgY3NzIGRlcGVuZGVuZG8gc2UgZGVzZWphIG1vc3RyYXIgYSBtZW5zYWdlbSBzZW0gZW50cmFkYXMgZW5jb250cmFkYXNcbiAgICAgICAgLy8gb2JzOiBpc3NvIMOpIGhhY2t5XG4gICAgICAgIHRoaXMuX3Nob3dOb0VudHJpZXNGb3VuZCQucGlwZShcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kpXG4gICAgICAgICkuc3Vic2NyaWJlKChzaG93Tm9FbnRyaWVzRm91bmQ6IGJvb2xlYW4pOiB2b2lkID0+IHtcbiAgICAgICAgICAgIC8vIERlZmluaXIgbmVuaHVtYSBjbGFzc2UgZGUgZW50cmFkYSBlbmNvbnRyYWRhIG5hIG1hdC1vcHRpb25cbiAgICAgICAgICAgIGlmICh0aGlzLm1hdE9wdGlvbikge1xuICAgICAgICAgICAgICAgIGlmIChzaG93Tm9FbnRyaWVzRm91bmQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tYXRPcHRpb24uX2dldEhvc3RFbGVtZW50KCkuY2xhc3NMaXN0LmFkZCgnbWF0LXNlbGVjdC1zZWFyY2gtbm8tZW50cmllcy1mb3VuZCcpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWF0T3B0aW9uLl9nZXRIb3N0RWxlbWVudCgpLmNsYXNzTGlzdC5yZW1vdmUoJ21hdC1zZWxlY3Qtc2VhcmNoLW5vLWVudHJpZXMtZm91bmQnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIFJlZGltZW5zaW9uZSBhIGxhcmd1cmEgZGUgZW50cmFkYSBxdWFuZG8gYSB2aWV3cG9ydCBmb3IgcmVkaW1lbnNpb25hZGEsXG4gICAgICAgIC8vIG91IHNlamEsIGEgbGFyZ3VyYSBkbyBhY2lvbmFkb3IgcG9kZSBzZXIgcmVkaW1lbnNpb25hZGEuXG4gICAgICAgIHRoaXMuX3ZpZXdwb3J0UnVsZXIuY2hhbmdlKClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKTogdm9pZCA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMubWF0U2VsZWN0LnBhbmVsT3Blbikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUlucHV0V2lkdGgoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLm9wdGlvbnNMaXN0JC5waXBlKFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSlcbiAgICAgICAgKS5zdWJzY3JpYmUoKCk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgLy8gQXR1YWxpemFyIHZpc3VhbGl6YcOnw6NvIHF1YW5kbyBhcyBvcMOnw7VlcyBkaXNwb27DrXZlaXMgbXVkYXJlbVxuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zZWFyY2hpbmcpIHtcbiAgICAgICAgICAgIHRoaXMuX2Zvcm1Db250cm9sLmRpc2FibGUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2Zvcm1Db250cm9sLmVuYWJsZSgpO1xuICAgICAgICAgICAgdGhpcy5fZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9vbkRlc3Ryb3kubmV4dCgpO1xuICAgICAgICB0aGlzLl9vbkRlc3Ryb3kuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBvblRvdWNoZWQ6IEZ1bmN0aW9uID0gKF86IGFueSk6IHZvaWQgPT4geyB9O1xuXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIoKHZhbHVlOiBhbnkpOiBib29sZWFuID0+IHZhbHVlICE9PSB0aGlzLl9sYXN0RXh0ZXJuYWxJbnB1dFZhbHVlKSxcbiAgICAgICAgICAgIHRhcCgoKTogYW55ID0+IHRoaXMuX2xhc3RFeHRlcm5hbElucHV0VmFsdWUgPSB1bmRlZmluZWQpLFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSlcbiAgICAgICAgKS5zdWJzY3JpYmUoZm4pO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBGdW5jdGlvbik6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICAgIH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLl9sYXN0RXh0ZXJuYWxJbnB1dFZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMuX2Zvcm1Db250cm9sLnNldFZhbHVlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNYW5pcHVsYSBvIGV2ZW50byBkZSB0ZWNsYSBwcmVzc2lvbmFkYSBjb20gTWF0U2VsZWN0LlxuICAgICAqIFBlcm1pdGUsIHBvciBleC4gc2VsZWNpb25hbmRvIGNvbSBhIHRlY2xhIGVudGVyLCBuYXZlZ2FuZG8gY29tIGFzIHRlY2xhcyBkZSBzZXRhLCBldGMuXG4gICAgICogQHBhcmFtIGV2ZW50XG4gICAgICovXG4gICAgX2hhbmRsZUtleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgLy8gRXZpdGUgYSBwcm9wYWdhw6fDo28gZGUgdG9kb3Mgb3MgY2FyYWN0ZXJlcyBhbGZhbnVtw6lyaWNvcyBwYXJhIGV2aXRhciBwcm9ibGVtYXMgZGUgc2VsZcOnw6NvXG4gICAgICAgIGlmICgoZXZlbnQua2V5ICYmIGV2ZW50LmtleS5sZW5ndGggPT09IDEpIHx8XG4gICAgICAgICAgICAoZXZlbnQua2V5Q29kZSA+PSBBICYmIGV2ZW50LmtleUNvZGUgPD0gWikgfHxcbiAgICAgICAgICAgIChldmVudC5rZXlDb2RlID49IFpFUk8gJiYgZXZlbnQua2V5Q29kZSA8PSBOSU5FKSB8fFxuICAgICAgICAgICAgKGV2ZW50LmtleUNvZGUgPT09IFNQQUNFKVxuICAgICAgICAgICAgfHwgKHRoaXMucHJldmVudEhvbWVFbmRLZXlQcm9wYWdhdGlvbiAmJiAoZXZlbnQua2V5Q29kZSA9PT0gSE9NRSB8fCBldmVudC5rZXlDb2RlID09PSBFTkQpKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMubWF0U2VsZWN0Lm11bHRpcGxlICYmIGV2ZW50LmtleSAmJiBldmVudC5rZXlDb2RlID09PSBFTlRFUikge1xuICAgICAgICAgICAgLy8gUmVjdXBlcmUgbyBmb2NvIGFww7NzIGEgc2VsZcOnw6NvIG3Dumx0aXBsYSwgcGFyYSBxdWUgcG9zc2Ftb3MgZGlnaXRhciBhaW5kYSBtYWlzXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpOiB2b2lkID0+IHRoaXMuX2ZvY3VzKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ2FzbyBlc3BlY2lhbCwgc2UgY2xpY2FyIGVtIEVzY2FwZSwgc2UgYSBlbnRyYWRhIGVzdGl2ZXIgdmF6aWEsIGZlY2hlIG8gbWVudSBzdXNwZW5zbywgY2FzbyBjb250csOhcmlvLCBlc3ZhemllIG8gY2FtcG8gZGUgcGVzcXVpc2FcbiAgICAgICAgaWYgKHRoaXMuZW5hYmxlQ2xlYXJPbkVzY2FwZVByZXNzZWQgPT09IHRydWUgJiYgZXZlbnQua2V5Q29kZSA9PT0gRVNDQVBFICYmIHRoaXMudmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuX3Jlc2V0KHRydWUpO1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNYW5pcHVsYSBvIGV2ZW50byBkZSBhdGl2YcOnw6NvIGRlIGNoYXZlIGNvbSBNYXRTZWxlY3QuXG4gICAgICogUGVybWl0ZSwgcG9yIGV4LiBvIGFuw7puY2lvIGRvIERlc2NlbmRlbnRlIGF0dWFsbWVudGUgYXRpdm8gcG9yIGxlaXRvcmVzIGRlIHRlbGEuXG4gICAgICovXG4gICAgX2hhbmRsZUtleXVwKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChldmVudC5rZXlDb2RlID09PSBVUF9BUlJPVyB8fCBldmVudC5rZXlDb2RlID09PSBET1dOX0FSUk9XKSB7XG4gICAgICAgICAgICBjb25zdCBhcmlhQWN0aXZlRGVzY2VuZGFudElkOiBzdHJpbmcgPSB0aGlzLm1hdFNlbGVjdC5fZ2V0QXJpYUFjdGl2ZURlc2NlbmRhbnQoKTtcbiAgICAgICAgICAgIGNvbnN0IGluZGV4OiBudW1iZXIgPSB0aGlzLl9vcHRpb25zLnRvQXJyYXkoKS5maW5kSW5kZXgoKGl0ZW06IE1hdE9wdGlvbik6IGJvb2xlYW4gPT4gaXRlbS5pZCA9PT0gYXJpYUFjdGl2ZURlc2NlbmRhbnRJZCk7XG4gICAgICAgICAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgdGhpcy51bnNlbGVjdEFjdGl2ZURlc2NlbmRhbnQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZURlc2NlbmRhbnQgPSB0aGlzLl9vcHRpb25zLnRvQXJyYXkoKVtpbmRleF0uX2dldEhvc3RFbGVtZW50KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5hY3RpdmVEZXNjZW5kYW50LnNldEF0dHJpYnV0ZSgnYXJpYS1zZWxlY3RlZCcsICd0cnVlJyk7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWFyY2hTZWxlY3RJbnB1dC5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgnYXJpYS1hY3RpdmVkZXNjZW5kYW50JywgYXJpYUFjdGl2ZURlc2NlbmRhbnRJZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkJsdXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudW5zZWxlY3RBY3RpdmVEZXNjZW5kYW50KCk7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRm9jYWxpemEgbyBjYW1wbyBkZSBlbnRyYWRhIGRlIHBlc3F1aXNhXG4gICAgICovXG4gICAgcHVibGljIF9mb2N1cygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLnNlYXJjaFNlbGVjdElucHV0IHx8ICF0aGlzLm1hdFNlbGVjdC5wYW5lbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIC8vIHNhbHZlIGUgcmVzdGF1cmUgbyBzY3JvbGxUb3AgZG8gcGFpbmVsLCBwb2lzIHNlcsOhIHJlZGVmaW5pZG8gcG9yIGZvY3VzICgpXG4gICAgICAgIC8vIG9iczogaXNzbyDDqSBoYWNreVxuICAgICAgICBjb25zdCBwYW5lbDogYW55ID0gdGhpcy5tYXRTZWxlY3QucGFuZWwubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3Qgc2Nyb2xsVG9wOiBhbnkgPSBwYW5lbC5zY3JvbGxUb3A7XG5cbiAgICAgICAgLy8gU2V0YSBvIGZvY29cbiAgICAgICAgdGhpcy5zZWFyY2hTZWxlY3RJbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG5cbiAgICAgICAgcGFuZWwuc2Nyb2xsVG9wID0gc2Nyb2xsVG9wO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlZGVmaW5lIG8gdmFsb3IgZGUgcGVzcXVpc2EgYXR1YWxcbiAgICAgKiBAcGFyYW0gZm9jdXMgc2UgZGV2ZSBmb2NhciBhcMOzcyBhIHJlZGVmaW5pw6fDo29cbiAgICAgKi9cbiAgICBwdWJsaWMgX3Jlc2V0KGZvY3VzPzogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLl9mb3JtQ29udHJvbC5zZXRWYWx1ZSgnJyk7XG4gICAgICAgIGlmIChmb2N1cykge1xuICAgICAgICAgICAgdGhpcy5fZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqICBEZWZpbmEgYSBsYXJndXJhIGRvIGlubmVyU2VsZWN0U2VhcmNoIHBhcmEgYWp1c3RhciBhdMOpIG1lc21vIGFzIGJhcnJhcyBkZSByb2xhZ2VtIHBlcnNvbmFsaXphZGFzXG4gICAgICogIEUgYXBvaWFyIHRvZG9zIG9zIHNpc3RlbWFzIGRlIG9wZXJhw6fDo29cbiAgICAgKi9cbiAgICBwdWJsaWMgdXBkYXRlSW5wdXRXaWR0aCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmlubmVyU2VsZWN0U2VhcmNoIHx8ICF0aGlzLmlubmVyU2VsZWN0U2VhcmNoLm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBsZXQgZWxlbWVudDogSFRNTEVsZW1lbnQgPSB0aGlzLmlubmVyU2VsZWN0U2VhcmNoLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGxldCBwYW5lbEVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuICAgICAgICB3aGlsZSAoZWxlbWVudCA9IGVsZW1lbnQucGFyZW50RWxlbWVudCkge1xuICAgICAgICAgICAgaWYgKGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdtYXQtc2VsZWN0LXBhbmVsJykpIHtcbiAgICAgICAgICAgICAgICBwYW5lbEVsZW1lbnQgPSBlbGVtZW50O1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChwYW5lbEVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuaW5uZXJTZWxlY3RTZWFyY2gubmF0aXZlRWxlbWVudC5zdHlsZS53aWR0aCA9IHBhbmVsRWxlbWVudC5jbGllbnRXaWR0aCArICdweCc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZXRlcm1pbmUgbyBkZXNsb2NhbWVudG8gcGFyYSBvIGNvbXByaW1lbnRvIHF1ZSBwb2RlIHNlciBjYXVzYWRvIHBlbG8gbWF0T3B0aW9uIG9wY2lvbmFsIHVzYWRvIGNvbW8gdW1hIGVudHJhZGEgZGUgcGVzcXVpc2EuXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXRPcHRpb25zTGVuZ3RoT2Zmc2V0KCk6IG51bWJlciB7XG4gICAgICAgIGlmICh0aGlzLm1hdE9wdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuIDE7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdW5zZWxlY3RBY3RpdmVEZXNjZW5kYW50KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5hY3RpdmVEZXNjZW5kYW50KSB7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZURlc2NlbmRhbnQucmVtb3ZlQXR0cmlidXRlKCdhcmlhLXNlbGVjdGVkJyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZWFyY2hTZWxlY3RJbnB1dC5uYXRpdmVFbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgnYXJpYS1hY3RpdmVkZXNjZW5kYW50Jyk7XG4gICAgfVxuXG59XG4iXX0=
397
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtc2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BnaXBpc2lzdGVtYXMvbmctY29yZS8iLCJzb3VyY2VzIjpbInNoYXJlZC9naXBpLWNvbXBvbmVudHMvaW5wdXQtc2VsZWN0LXBhZ2VkL2lucHV0LXNlYXJjaC9pbnB1dC1zZWFyY2guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2hILE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZOLE9BQU8sRUFBd0IsV0FBVyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEYsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBYyxPQUFPLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBbUJoRztJQXFGSSxrQ0FD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SUFBSSxFQUFFLENBQUM7a0NBQW9CLFVBQVU7dUVBQUM7SUFLbEc7UUFEQyxXQUFXLENBQUMsMkNBQTJDLENBQUM7OztxRUFHeEQ7SUFuRlEsd0JBQXdCO1FBakJwQyxTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsbUJBQW1CO1lBQzdCLFFBQVEsRUFBRSxpQkFBaUI7WUFDM0IscStDQUE0QztZQUU1QyxTQUFTLEVBQUU7Z0JBQ1A7b0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjtvQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxjQUF1QyxPQUFBLDBCQUF3QixFQUF4QixDQUF3QixDQUFDO29CQUN4RixLQUFLLEVBQUUsSUFBSTtpQkFDZDthQUNKO1lBQ0QsSUFBSSxFQUFFO2dCQUNGLE9BQU8sRUFBRSxtQkFBbUI7YUFDL0I7WUFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7U0FDbEQsQ0FBQztRQXVGTyxXQUFBLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUdqQixXQUFBLFFBQVEsRUFBRSxDQUFBLEVBQUUsV0FBQSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDN0IsV0FBQSxRQUFRLEVBQUUsQ0FBQSxFQUFFLFdBQUEsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFBO3lDQUpJLFNBQVM7WUFDcEIsaUJBQWlCO1lBQ25CLGFBQWE7WUFDWSxTQUFTO1lBQ0gsWUFBWTtPQTFGOUQsd0JBQXdCLENBZ1hwQztJQUFELCtCQUFDO0NBQUEsQUFoWEQsSUFnWEM7U0FoWFksd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aXZlRGVzY2VuZGFudEtleU1hbmFnZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBBLCBET1dOX0FSUk9XLCBFTkQsIEVOVEVSLCBFU0NBUEUsIEhPTUUsIE5JTkUsIFNQQUNFLCBVUF9BUlJPVywgWiwgWkVSTyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQgeyBWaWV3cG9ydFJ1bGVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIEluamVjdCwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsLCBRdWVyeUxpc3QsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZCwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1Db250cm9sLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZCwgTWF0T3B0aW9uLCBNYXRTZWxlY3QgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWxheSwgZmlsdGVyLCBtYXAsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwLCB0YWtlLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IGBnaXBpLWlucHV0LXNlYXJjaGAsXG4gICAgZXhwb3J0QXM6ICdnaXBpSW5wdXRTZWFyY2gnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1zZWFyY2guY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2lucHV0LXNlYXJjaC5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpOiB0eXBlb2YgR0lQSUlucHV0U2VhcmNoQ29tcG9uZW50ID0+IEdJUElJbnB1dFNlYXJjaENvbXBvbmVudCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICB9XG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdjbGFzcyc6ICdnaXBpLWlucHV0LXNlYXJjaCcsXG4gICAgfSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBHSVBJSW5wdXRTZWFyY2hDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzLCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG5cbiAgICAvLyBWYWxvciBkZSBwZXNxdWlzYSBhdHVhbFxuICAgIGdldCB2YWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fZm9ybUNvbnRyb2wudmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfbGFzdEV4dGVybmFsSW5wdXRWYWx1ZTogc3RyaW5nO1xuXG4gICAgLy8gUmVmZXLDqm5jaWEgw6BzIG9ww6fDtWVzIE1hdFNlbGVjdFxuICAgIHB1YmxpYyBfb3B0aW9ucyQ6IEJlaGF2aW9yU3ViamVjdDxRdWVyeUxpc3Q8TWF0T3B0aW9uPj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFF1ZXJ5TGlzdDxNYXRPcHRpb24+PihudWxsKTtcbiAgICBwdWJsaWMgc2V0IF9vcHRpb25zKF9vcHRpb25zOiBRdWVyeUxpc3Q8TWF0T3B0aW9uPikge1xuICAgICAgICB0aGlzLl9vcHRpb25zJC5uZXh0KF9vcHRpb25zKTtcbiAgICB9XG4gICAgcHVibGljIGdldCBfb3B0aW9ucygpOiBRdWVyeUxpc3Q8TWF0T3B0aW9uPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9vcHRpb25zJC5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgb3B0aW9uc0xpc3QkOiBPYnNlcnZhYmxlPE1hdE9wdGlvbltdPiA9IHRoaXMuX29wdGlvbnMkLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoX29wdGlvbnM6IFF1ZXJ5TGlzdDxNYXRPcHRpb24+KTogT2JzZXJ2YWJsZTxhbnk+ID0+IF9vcHRpb25zXG4gICAgICAgICAgICA/IF9vcHRpb25zLmNoYW5nZXMucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKG9wdGlvbnM6IGFueSk6IGFueSA9PiBvcHRpb25zLnRvQXJyYXkoKSksXG4gICAgICAgICAgICAgICAgc3RhcnRXaXRoPE1hdE9wdGlvbltdPihfb3B0aW9ucy50b0FycmF5KCkpLClcbiAgICAgICAgICAgIDogb2YobnVsbClcbiAgICAgICAgKVxuICAgICk7XG5cbiAgICBwcml2YXRlIG9wdGlvbnNMZW5ndGgkOiBPYnNlcnZhYmxlPG51bWJlcj4gPSB0aGlzLm9wdGlvbnNMaXN0JC5waXBlKFxuICAgICAgICBtYXAoKG9wdGlvbnM6IE1hdE9wdGlvbltdKTogbnVtYmVyID0+IG9wdGlvbnMgPyBvcHRpb25zLmxlbmd0aCA6IDApXG4gICAgKTtcblxuICAgIHB1YmxpYyBfZm9ybUNvbnRyb2w6IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKCcnKTtcblxuICAgIC8vIFNlIGRldmUgbW9zdHJhciBhIG1lbnNhZ2VtIHNlbSBlbnRyYWRhcyBlbmNvbnRyYWRhc1xuICAgIHB1YmxpYyBfc2hvd05vRW50cmllc0ZvdW5kJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICB0aGlzLl9mb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMsXG4gICAgICAgIHRoaXMub3B0aW9uc0xlbmd0aCRcbiAgICBdKS5waXBlKFxuICAgICAgICBtYXAoKFt2YWx1ZSwgb3B0aW9uc0xlbmd0aF06IFthbnksIG51bWJlcl0pOiBib29sZWFuID0+IHZhbHVlICYmIG9wdGlvbnNMZW5ndGggPT09IHRoaXMuZ2V0T3B0aW9uc0xlbmd0aE9mZnNldCgpKVxuICAgICk7XG5cbiAgICAvLyBTdWJqZWN0IGVtaXRpZG8gcXVhbmRvIG8gY29tcG9uZW50ZSBmb2kgZGVzdHJ1w61kb1xuICAgIHByaXZhdGUgX29uRGVzdHJveTogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvLyBSZWZlcsOqbmNpYSBhbyBkZXNjZW5kZW50ZSBhdGl2byBwYXJhIHN1cG9ydGUgQVJJQS5cbiAgICBwcml2YXRlIGFjdGl2ZURlc2NlbmRhbnQ6IEhUTUxFbGVtZW50O1xuXG4gICAgQElucHV0KCkgcGxhY2Vob2xkZXJMYWJlbDogc3RyaW5nID0gJ1Blc3F1aXNhcic7XG5cbiAgICBASW5wdXQoKSBjbGVhclNlYXJjaElucHV0OiBib29sZWFuID0gdHJ1ZTtcblxuICAgIC8vIFNlIGRldmUgbW9zdHJhciBvIGluZGljYWRvciBkZSBwZXNxdWlzYSBlbSBhbmRhbWVudG9cbiAgICBASW5wdXQoKSBzZWFyY2hpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8vIERlc2F0aXZhIG8gZm9jbyBpbmljaWFsIGRvIGNhbXBvIGRlIGVudHJhZGFcbiAgICBASW5wdXQoKSBkaXNhYmxlSW5pdGlhbEZvY3VzOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvLyBBdGl2YXIgbGltcGFyIGlucHV0IGFvIHByZXNzaW9uYXIgZXNjYXBlXG4gICAgQElucHV0KCkgZW5hYmxlQ2xlYXJPbkVzY2FwZVByZXNzZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEltcGVkZSBxdWUgYSBjaGF2ZSBob21lL2VuZCBzZWphIHByb3BhZ2FkYSBwYXJhIG1hdC1zZWxlY3QsXG4gICAgICogcGVybWl0aW5kbyBtb3ZlciBvIGN1cnNvciBkZW50cm8gZGEgZW50cmFkYSBkZSBwZXNxdWlzYSBlbSB2ZXogZGUgbmF2ZWdhciBwZWxhcyBvcMOnw7Vlc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHByZXZlbnRIb21lRW5kS2V5UHJvcGFnYXRpb246IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8vIERlc2F0aXZhIGEgcm9sYWdlbSBwYXJhIGFzIG9ww6fDtWVzIGF0aXZhcyBxdWFuZG8gYSBsaXN0YSBkZSBvcMOnw7VlcyDDqSBhbHRlcmFkYS4gw5p0aWwgcGFyYSBwZXNxdWlzYSBkbyBsYWRvIGRvIHNlcnZpZG9yXG4gICAgQElucHV0KCkgZGlzYWJsZVNjcm9sbFRvQWN0aXZlT25PcHRpb25zQ2hhbmdlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLy8gTW9zdHJhci9vY3VsdGFyIG8gYm90w6NvIGxpbXBhciBwZXNxdWlzYSBkYSBlbnRyYWRhIGRlIHBlc3F1aXNhXG4gICAgQElucHV0KCkgaGlkZUNsZWFyU2VhcmNoQnV0dG9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvLyBSZWZlcsOqbmNpYSBhbyBjYW1wbyBkZSBlbnRyYWRhIGRlIHBlc3F1aXNhXG4gICAgQFZpZXdDaGlsZCgnc2VhcmNoU2VsZWN0SW5wdXQnLCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogdHJ1ZSB9KSBzZWFyY2hTZWxlY3RJbnB1dDogRWxlbWVudFJlZjtcblxuICAgIC8vIFJlZmVyw6puY2lhIGFvIGNhbXBvIGRlIGVudHJhZGEgZGUgcGVzcXVpc2FcbiAgICBAVmlld0NoaWxkKCdpbm5lclNlbGVjdFNlYXJjaCcsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiB0cnVlIH0pIGlubmVyU2VsZWN0U2VhcmNoOiBFbGVtZW50UmVmO1xuXG4gICAgLy8gQWRpY2lvbmEgYSBjbGFzc2UgbWF0LXNlbGVjdC1zZWFyY2gtaW5zaWRlLW1hdC1vcHRpb24gc2UgbyBpdHNzLWlucHV0LXNlYXJjaCBlc3RpdmVyXG4gICAgLy8gZGVudHJvIGRvIG1hdC1vcHRpb25cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLm1hdC1zZWxlY3Qtc2VhcmNoLWluc2lkZS1tYXQtb3B0aW9uJylcbiAgICBnZXQgaXNJbnNpZGVNYXRPcHRpb24oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMubWF0T3B0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KE1hdFNlbGVjdCkgcHVibGljIG1hdFNlbGVjdDogTWF0U2VsZWN0LFxuICAgICAgICBwdWJsaWMgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIF92aWV3cG9ydFJ1bGVyOiBWaWV3cG9ydFJ1bGVyLFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE1hdE9wdGlvbikgcHVibGljIG1hdE9wdGlvbjogTWF0T3B0aW9uID0gbnVsbCxcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChNYXRGb3JtRmllbGQpIHB1YmxpYyBtYXRGb3JtRmllbGQ6IE1hdEZvcm1GaWVsZCA9IG51bGwsXG4gICAgKSB7IH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICAvLyBEZWZpbmlyIGNsYXNzZSBkZSBvcMOnw6NvIG1hdCBwZXJzb25hbGl6YWRhIHNlIG8gY29tcG9uZW50ZSBmb2kgY29sb2NhZG8gZGVudHJvIGRlIHVtYSBvcMOnw6NvIG1hdFxuICAgICAgICBpZiAodGhpcy5tYXRPcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMubWF0T3B0aW9uLmRpc2FibGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMubWF0T3B0aW9uLl9nZXRIb3N0RWxlbWVudCgpLmNsYXNzTGlzdC5hZGQoJ2NvbnRhaW5zLW1hdC1zZWxlY3Qtc2VhcmNoJyk7XG4gICAgICAgICAgICB0aGlzLm1hdE9wdGlvbi5fZ2V0SG9zdEVsZW1lbnQoKS5zZXRBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJywgJ3RydWUnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJzxnaXBpLXNlbGVjdC1zZWFyY2g+IGRldmUgc2VyIGNvbG9jYWRvIGRlbnRybyBkZSB1bSBlbGVtZW50byA8bWF0LW9wdGlvbj4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFF1YW5kbyBvIHBhaW5lbCBzdXNwZW5zbyBkZSBzZWxlw6fDo28gw6kgYWJlcnRvIG91IGZlY2hhZG9cbiAgICAgICAgdGhpcy5tYXRTZWxlY3Qub3BlbmVkQ2hhbmdlXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBkZWxheSgxKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95KVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgob3BlbmVkOiBib29sZWFuKTogdm9pZCA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG9wZW5lZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUlucHV0V2lkdGgoKTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBGb2NhciBvIGNhbXBvIGRlIHBlc3F1aXNhIGFvIGFicmlyXG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5kaXNhYmxlSW5pdGlhbEZvY3VzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9mb2N1cygpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gTGltcMOhLWxvIGFvIGZlY2hhclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5jbGVhclNlYXJjaElucHV0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9yZXNldCgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gRGVmaW5pciBvIHByaW1laXJvIGl0ZW0gYXRpdm8gYXDDs3MgYXMgb3DDp8O1ZXMgYWx0ZXJhZGFzXG4gICAgICAgIHRoaXMubWF0U2VsZWN0Lm9wZW5lZENoYW5nZVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKCk6IE9ic2VydmFibGU8YW55PiA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX29wdGlvbnMgPSB0aGlzLm1hdFNlbGVjdC5vcHRpb25zO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIFZhcmnDoXZlbCBkZSBmZWNoYW1lbnRvIHBhcmEgcmFzdHJlYXIgYSBwcmltZWlyYSBvcMOnw6NvIG1haXMgcmVjZW50ZS5cbiAgICAgICAgICAgICAgICAgICAgLy8gUGFyYSBldml0YXIgcXVlIGEgbGlzdGEgcm9sZSBwYXJhIG8gdG9wbyBxdWFuZG8gYXMgb3DDp8O1ZXMgc8OjbyBhZGljaW9uYWRhcyBhbyBmaW5hbCBkYSBsaXN0YVxuICAgICAgICAgICAgICAgICAgICAvLyAocG9yIGV4ZW1wbG86IHJvbGFnZW0gaW5maW5pdGEpLCBjb21wYXJhbW9zIGFwZW5hcyBhcyBhbHRlcmHDp8O1ZXMgbmFzIHByaW1laXJhcyBvcMOnw7VlcyBwYXJhXG4gICAgICAgICAgICAgICAgICAgIC8vIGRldGVybWluYXIgc2UgZGV2ZW1vcyBkZWZpbmlyIG8gcHJpbWVpcm8gaXRlbSBjb21vIGF0aXZvLiBJc3NvIGV2aXRhIGEgcm9sYWdlbSBkZXNuZWNlc3PDoXJpYVxuICAgICAgICAgICAgICAgICAgICAvLyBwYXJhIG8gdG9wbyBkYSBsaXN0YSBxdWFuZG8gYXMgb3DDp8O1ZXMgc8OjbyBhbmV4YWRhcywgbWFzIHBlcm1pdGUgcXVlIG8gcHJpbWVpcm8gaXRlbSBkYSBsaXN0YVxuICAgICAgICAgICAgICAgICAgICAvLyBzZWphIGRlZmluaWRvIGNvbW8gYXRpdm8gcG9yIHBhZHLDo28gcXVhbmRvIG7Do28gaMOhIHNlbGXDp8OjbyBhdGl2YS5cbiAgICAgICAgICAgICAgICAgICAgbGV0IHByZXZpb3VzRmlyc3RPcHRpb246IE1hdE9wdGlvbiA9IHRoaXMuX29wdGlvbnMudG9BcnJheSgpW3RoaXMuZ2V0T3B0aW9uc0xlbmd0aE9mZnNldCgpXTtcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fb3B0aW9ucy5jaGFuZ2VzXG4gICAgICAgICAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXAoKCk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBFdml0YXIgbyBlcnJvIFwiZXhwcmVzc2lvbiBoYXMgYmVlbiBjaGFuZ2VkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKTogdm9pZCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBDb252ZXJ0ZXIgYSBRdWVyeUxpc3QgZW0gdW1hIG1hdHJpelxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9uczogTWF0T3B0aW9uW10gPSB0aGlzLl9vcHRpb25zLnRvQXJyYXkoKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTyB2ZXJkYWRlaXJvIHByaW1laXJvIGl0ZW0gw6kgY29tcGVuc2FkbyBwb3IgMVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY3VycmVudEZpcnN0T3B0aW9uOiBNYXRPcHRpb24gPSBvcHRpb25zW3RoaXMuZ2V0T3B0aW9uc0xlbmd0aE9mZnNldCgpXTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qga2V5TWFuYWdlcjogQWN0aXZlRGVzY2VuZGFudEtleU1hbmFnZXI8TWF0T3B0aW9uPiA9IHRoaXMubWF0U2VsZWN0Ll9rZXlNYW5hZ2VyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGtleU1hbmFnZXIgJiYgdGhpcy5tYXRTZWxlY3QucGFuZWxPcGVuKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBEZWZpbmlyIHByaW1laXJvIGl0ZW0gYXRpdm8gZSBsYXJndXJhIGRlIGVudHJhZGFcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFZlcmlmaXF1ZSBzZSBhIHByaW1laXJhIG9ww6fDo28gbmVzc2FzIGFsdGVyYcOnw7VlcyDDqSBkaWZlcmVudGUgZGEgYW50ZXJpb3IuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZmlyc3RPcHRpb25Jc0NoYW5nZWQ6IGJvb2xlYW4gPSAhdGhpcy5tYXRTZWxlY3QuY29tcGFyZVdpdGgocHJldmlvdXNGaXJzdE9wdGlvbiwgY3VycmVudEZpcnN0T3B0aW9uKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIENBU086IEEgcHJpbWVpcmEgb3DDp8OjbyDDqSBkaWZlcmVudGUgYWdvcmEuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSW5kaWNhIHF1ZSBkZXZlbW9zIGRlZmluaS1sbyBjb21vIGF0aXZvIGUgcm9sYXIgcGFyYSBvIHRvcG8uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZpcnN0T3B0aW9uSXNDaGFuZ2VkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8ICFrZXlNYW5hZ2VyLmFjdGl2ZUl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgIW9wdGlvbnMuZmluZCgob3B0aW9uOiBNYXRPcHRpb24pOiBib29sZWFuID0+IHRoaXMubWF0U2VsZWN0LmNvbXBhcmVXaXRoKG9wdGlvbiwga2V5TWFuYWdlci5hY3RpdmVJdGVtKSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5TWFuYWdlci5zZXRGaXJzdEl0ZW1BY3RpdmUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBBZ3VhcmRlIGFzIGFsdGVyYcOnw7VlcyBuYSBsYXJndXJhIGRvIHBhaW5lbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUlucHV0V2lkdGgoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQXR1YWxpemUgbm9zc2EgcmVmZXLDqm5jaWFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXZpb3VzRmlyc3RPcHRpb24gPSBjdXJyZW50Rmlyc3RPcHRpb247XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95KSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcblxuICAgICAgICAvLyBBZGljaW9uZSBvdSByZW1vdmEgYSBjbGFzc2UgY3NzIGRlcGVuZGVuZG8gc2UgZGVzZWphIG1vc3RyYXIgYSBtZW5zYWdlbSBzZW0gZW50cmFkYXMgZW5jb250cmFkYXNcbiAgICAgICAgLy8gb2JzOiBpc3NvIMOpIGhhY2t5XG4gICAgICAgIHRoaXMuX3Nob3dOb0VudHJpZXNGb3VuZCQucGlwZShcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kpXG4gICAgICAgICkuc3Vic2NyaWJlKChzaG93Tm9FbnRyaWVzRm91bmQ6IGJvb2xlYW4pOiB2b2lkID0+IHtcbiAgICAgICAgICAgIC8vIERlZmluaXIgbmVuaHVtYSBjbGFzc2UgZGUgZW50cmFkYSBlbmNvbnRyYWRhIG5hIG1hdC1vcHRpb25cbiAgICAgICAgICAgIGlmICh0aGlzLm1hdE9wdGlvbikge1xuICAgICAgICAgICAgICAgIGlmIChzaG93Tm9FbnRyaWVzRm91bmQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tYXRPcHRpb24uX2dldEhvc3RFbGVtZW50KCkuY2xhc3NMaXN0LmFkZCgnbWF0LXNlbGVjdC1zZWFyY2gtbm8tZW50cmllcy1mb3VuZCcpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWF0T3B0aW9uLl9nZXRIb3N0RWxlbWVudCgpLmNsYXNzTGlzdC5yZW1vdmUoJ21hdC1zZWxlY3Qtc2VhcmNoLW5vLWVudHJpZXMtZm91bmQnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIFJlZGltZW5zaW9uZSBhIGxhcmd1cmEgZGUgZW50cmFkYSBxdWFuZG8gYSB2aWV3cG9ydCBmb3IgcmVkaW1lbnNpb25hZGEsXG4gICAgICAgIC8vIG91IHNlamEsIGEgbGFyZ3VyYSBkbyBhY2lvbmFkb3IgcG9kZSBzZXIgcmVkaW1lbnNpb25hZGEuXG4gICAgICAgIHRoaXMuX3ZpZXdwb3J0UnVsZXIuY2hhbmdlKClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKTogdm9pZCA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMubWF0U2VsZWN0LnBhbmVsT3Blbikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUlucHV0V2lkdGgoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLm9wdGlvbnNMaXN0JC5waXBlKFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSlcbiAgICAgICAgKS5zdWJzY3JpYmUoKCk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgLy8gQXR1YWxpemFyIHZpc3VhbGl6YcOnw6NvIHF1YW5kbyBhcyBvcMOnw7VlcyBkaXNwb27DrXZlaXMgbXVkYXJlbVxuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zZWFyY2hpbmcpIHtcbiAgICAgICAgICAgIHRoaXMuX2Zvcm1Db250cm9sLmRpc2FibGUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2Zvcm1Db250cm9sLmVuYWJsZSgpO1xuICAgICAgICAgICAgdGhpcy5fZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9vbkRlc3Ryb3kubmV4dCgpO1xuICAgICAgICB0aGlzLl9vbkRlc3Ryb3kuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBvblRvdWNoZWQ6IEZ1bmN0aW9uID0gKF86IGFueSk6IHZvaWQgPT4geyB9O1xuXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIoKHZhbHVlOiBhbnkpOiBib29sZWFuID0+IHZhbHVlICE9PSB0aGlzLl9sYXN0RXh0ZXJuYWxJbnB1dFZhbHVlKSxcbiAgICAgICAgICAgIHRhcCgoKTogYW55ID0+IHRoaXMuX2xhc3RFeHRlcm5hbElucHV0VmFsdWUgPSB1bmRlZmluZWQpLFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSlcbiAgICAgICAgKS5zdWJzY3JpYmUoZm4pO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBGdW5jdGlvbik6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICAgIH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLl9sYXN0RXh0ZXJuYWxJbnB1dFZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMuX2Zvcm1Db250cm9sLnNldFZhbHVlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNYW5pcHVsYSBvIGV2ZW50byBkZSB0ZWNsYSBwcmVzc2lvbmFkYSBjb20gTWF0U2VsZWN0LlxuICAgICAqIFBlcm1pdGUsIHBvciBleC4gc2VsZWNpb25hbmRvIGNvbSBhIHRlY2xhIGVudGVyLCBuYXZlZ2FuZG8gY29tIGFzIHRlY2xhcyBkZSBzZXRhLCBldGMuXG4gICAgICogQHBhcmFtIGV2ZW50XG4gICAgICovXG4gICAgX2hhbmRsZUtleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgLy8gRXZpdGUgYSBwcm9wYWdhw6fDo28gZGUgdG9kb3Mgb3MgY2FyYWN0ZXJlcyBhbGZhbnVtw6lyaWNvcyBwYXJhIGV2aXRhciBwcm9ibGVtYXMgZGUgc2VsZcOnw6NvXG4gICAgICAgIGlmICgoZXZlbnQua2V5ICYmIGV2ZW50LmtleS5sZW5ndGggPT09IDEpIHx8XG4gICAgICAgICAgICAoZXZlbnQua2V5Q29kZSA+PSBBICYmIGV2ZW50LmtleUNvZGUgPD0gWikgfHxcbiAgICAgICAgICAgIChldmVudC5rZXlDb2RlID49IFpFUk8gJiYgZXZlbnQua2V5Q29kZSA8PSBOSU5FKSB8fFxuICAgICAgICAgICAgKGV2ZW50LmtleUNvZGUgPT09IFNQQUNFKVxuICAgICAgICAgICAgfHwgKHRoaXMucHJldmVudEhvbWVFbmRLZXlQcm9wYWdhdGlvbiAmJiAoZXZlbnQua2V5Q29kZSA9PT0gSE9NRSB8fCBldmVudC5rZXlDb2RlID09PSBFTkQpKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMubWF0U2VsZWN0Lm11bHRpcGxlICYmIGV2ZW50LmtleSAmJiBldmVudC5rZXlDb2RlID09PSBFTlRFUikge1xuICAgICAgICAgICAgLy8gUmVjdXBlcmUgbyBmb2NvIGFww7NzIGEgc2VsZcOnw6NvIG3Dumx0aXBsYSwgcGFyYSBxdWUgcG9zc2Ftb3MgZGlnaXRhciBhaW5kYSBtYWlzXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpOiB2b2lkID0+IHRoaXMuX2ZvY3VzKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ2FzbyBlc3BlY2lhbCwgc2UgY2xpY2FyIGVtIEVzY2FwZSwgc2UgYSBlbnRyYWRhIGVzdGl2ZXIgdmF6aWEsIGZlY2hlIG8gbWVudSBzdXNwZW5zbywgY2FzbyBjb250csOhcmlvLCBlc3ZhemllIG8gY2FtcG8gZGUgcGVzcXVpc2FcbiAgICAgICAgaWYgKHRoaXMuZW5hYmxlQ2xlYXJPbkVzY2FwZVByZXNzZWQgPT09IHRydWUgJiYgZXZlbnQua2V5Q29kZSA9PT0gRVNDQVBFICYmIHRoaXMudmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuX3Jlc2V0KHRydWUpO1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNYW5pcHVsYSBvIGV2ZW50byBkZSBhdGl2YcOnw6NvIGRlIGNoYXZlIGNvbSBNYXRTZWxlY3QuXG4gICAgICogUGVybWl0ZSwgcG9yIGV4LiBvIGFuw7puY2lvIGRvIERlc2NlbmRlbnRlIGF0dWFsbWVudGUgYXRpdm8gcG9yIGxlaXRvcmVzIGRlIHRlbGEuXG4gICAgICovXG4gICAgX2hhbmRsZUtleXVwKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChldmVudC5rZXlDb2RlID09PSBVUF9BUlJPVyB8fCBldmVudC5rZXlDb2RlID09PSBET1dOX0FSUk9XKSB7XG4gICAgICAgICAgICBjb25zdCBhcmlhQWN0aXZlRGVzY2VuZGFudElkOiBzdHJpbmcgPSB0aGlzLm1hdFNlbGVjdC5fZ2V0QXJpYUFjdGl2ZURlc2NlbmRhbnQoKTtcbiAgICAgICAgICAgIGNvbnN0IGluZGV4OiBudW1iZXIgPSB0aGlzLl9vcHRpb25zLnRvQXJyYXkoKS5maW5kSW5kZXgoKGl0ZW06IE1hdE9wdGlvbik6IGJvb2xlYW4gPT4gaXRlbS5pZCA9PT0gYXJpYUFjdGl2ZURlc2NlbmRhbnRJZCk7XG4gICAgICAgICAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgdGhpcy51bnNlbGVjdEFjdGl2ZURlc2NlbmRhbnQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZURlc2NlbmRhbnQgPSB0aGlzLl9vcHRpb25zLnRvQXJyYXkoKVtpbmRleF0uX2dldEhvc3RFbGVtZW50KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5hY3RpdmVEZXNjZW5kYW50LnNldEF0dHJpYnV0ZSgnYXJpYS1zZWxlY3RlZCcsICd0cnVlJyk7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWFyY2hTZWxlY3RJbnB1dC5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgnYXJpYS1hY3RpdmVkZXNjZW5kYW50JywgYXJpYUFjdGl2ZURlc2NlbmRhbnRJZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkJsdXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudW5zZWxlY3RBY3RpdmVEZXNjZW5kYW50KCk7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRm9jYWxpemEgbyBjYW1wbyBkZSBlbnRyYWRhIGRlIHBlc3F1aXNhXG4gICAgICovXG4gICAgcHVibGljIF9mb2N1cygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLnNlYXJjaFNlbGVjdElucHV0IHx8ICF0aGlzLm1hdFNlbGVjdC5wYW5lbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIC8vIHNhbHZlIGUgcmVzdGF1cmUgbyBzY3JvbGxUb3AgZG8gcGFpbmVsLCBwb2lzIHNlcsOhIHJlZGVmaW5pZG8gcG9yIGZvY3VzICgpXG4gICAgICAgIC8vIG9iczogaXNzbyDDqSBoYWNreVxuICAgICAgICBjb25zdCBwYW5lbDogYW55ID0gdGhpcy5tYXRTZWxlY3QucGFuZWwubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3Qgc2Nyb2xsVG9wOiBhbnkgPSBwYW5lbC5zY3JvbGxUb3A7XG5cbiAgICAgICAgLy8gU2V0YSBvIGZvY29cbiAgICAgICAgdGhpcy5zZWFyY2hTZWxlY3RJbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG5cbiAgICAgICAgcGFuZWwuc2Nyb2xsVG9wID0gc2Nyb2xsVG9wO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlZGVmaW5lIG8gdmFsb3IgZGUgcGVzcXVpc2EgYXR1YWxcbiAgICAgKiBAcGFyYW0gZm9jdXMgc2UgZGV2ZSBmb2NhciBhcMOzcyBhIHJlZGVmaW5pw6fDo29cbiAgICAgKi9cbiAgICBwdWJsaWMgX3Jlc2V0KGZvY3VzPzogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLl9mb3JtQ29udHJvbC5zZXRWYWx1ZSgnJyk7XG4gICAgICAgIGlmIChmb2N1cykge1xuICAgICAgICAgICAgdGhpcy5fZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqICBEZWZpbmEgYSBsYXJndXJhIGRvIGlubmVyU2VsZWN0U2VhcmNoIHBhcmEgYWp1c3RhciBhdMOpIG1lc21vIGFzIGJhcnJhcyBkZSByb2xhZ2VtIHBlcnNvbmFsaXphZGFzXG4gICAgICogIEUgYXBvaWFyIHRvZG9zIG9zIHNpc3RlbWFzIGRlIG9wZXJhw6fDo29cbiAgICAgKi9cbiAgICBwdWJsaWMgdXBkYXRlSW5wdXRXaWR0aCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmlubmVyU2VsZWN0U2VhcmNoIHx8ICF0aGlzLmlubmVyU2VsZWN0U2VhcmNoLm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBsZXQgZWxlbWVudDogSFRNTEVsZW1lbnQgPSB0aGlzLmlubmVyU2VsZWN0U2VhcmNoLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGxldCBwYW5lbEVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuICAgICAgICB3aGlsZSAoZWxlbWVudCA9IGVsZW1lbnQucGFyZW50RWxlbWVudCkge1xuICAgICAgICAgICAgaWYgKGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdtYXQtc2VsZWN0LXBhbmVsJykpIHtcbiAgICAgICAgICAgICAgICBwYW5lbEVsZW1lbnQgPSBlbGVtZW50O1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChwYW5lbEVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuaW5uZXJTZWxlY3RTZWFyY2gubmF0aXZlRWxlbWVudC5zdHlsZS53aWR0aCA9IHBhbmVsRWxlbWVudC5jbGllbnRXaWR0aCArICdweCc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZXRlcm1pbmUgbyBkZXNsb2NhbWVudG8gcGFyYSBvIGNvbXByaW1lbnRvIHF1ZSBwb2RlIHNlciBjYXVzYWRvIHBlbG8gbWF0T3B0aW9uIG9wY2lvbmFsIHVzYWRvIGNvbW8gdW1hIGVudHJhZGEgZGUgcGVzcXVpc2EuXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXRPcHRpb25zTGVuZ3RoT2Zmc2V0KCk6IG51bWJlciB7XG4gICAgICAgIGlmICh0aGlzLm1hdE9wdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuIDE7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdW5zZWxlY3RBY3RpdmVEZXNjZW5kYW50KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5hY3RpdmVEZXNjZW5kYW50KSB7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZURlc2NlbmRhbnQucmVtb3ZlQXR0cmlidXRlKCdhcmlhLXNlbGVjdGVkJyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZWFyY2hTZWxlY3RJbnB1dC5uYXRpdmVFbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgnYXJpYS1hY3RpdmVkZXNjZW5kYW50Jyk7XG4gICAgfVxuXG59XG4iXX0=
@@ -374,7 +374,7 @@ var GIPIInputSelectPagedComponent = /** @class */ (function () {
374
374
  'class': 'gipi-input-select-paged',
375
375
  },
376
376
  changeDetection: ChangeDetectionStrategy.OnPush,
377
- styles: [".input-select-paged-content{display:flex;flex-direction:column;gap:12px}.input-select-paged-content>label{font-weight:400;font-size:1.4rem;line-height:100%;color:#131313}.input-select-paged-content>label>span{color:#d14014}.field-diasabled{cursor:not-allowed}:host ::ng-deep .mat-form-field-appearance-outline .mat-form-field-suffix{position:absolute!important;right:35px!important;top:34%!important}:host ::ng-deep .mat-form-field-appearance-outline .mat-form-field-suffix .mat-icon{height:1.6rem!important;width:1.6rem!important;font-size:1.6rem!important;color:#131313!important}:host ::ng-deep .mat-select-value{padding-right:30px!important}::ng-deep .virtual-scroll-viewport{width:100%!important;overflow:hidden}::ng-deep .virtual-scroll-viewport .cdk-virtual-scroll-content-wrapper{width:100%!important}.mat-select-additional-selection{opacity:.75;font-size:.75em;margin-left:16px}.mat-select-search-loading{background-color:#fff;display:flex;align-items:center;justify-content:center;height:3em}.dot-pulse{position:relative;left:-9999px;width:5px;height:5px;border-radius:50%;background-color:#f3465c;color:#f3465c;box-shadow:9999px 0 0 -5px;-webkit-animation:1.5s linear .25s infinite dot-pulse;animation:1.5s linear .25s infinite dot-pulse}.dot-pulse::after,.dot-pulse::before{content:\"\";display:inline-block;position:absolute;top:0;width:5px;height:5px;border-radius:50%;background-color:#f3465c;color:#f3465c}.dot-pulse::before{box-shadow:9984px 0 0 -5px;-webkit-animation:1.5s linear infinite dot-pulse-before;animation:1.5s linear infinite dot-pulse-before}.dot-pulse::after{box-shadow:10014px 0 0 -5px;-webkit-animation:1.5s linear .5s infinite dot-pulse-after;animation:1.5s linear .5s infinite dot-pulse-after}@-webkit-keyframes dot-pulse-before{0%,100%,60%{box-shadow:9984px 0 0 -5px}30%{box-shadow:9984px 0 0 2px}}@keyframes dot-pulse-before{0%,100%,60%{box-shadow:9984px 0 0 -5px}30%{box-shadow:9984px 0 0 2px}}@-webkit-keyframes dot-pulse{0%,100%,60%{box-shadow:9999px 0 0 -5px}30%{box-shadow:9999px 0 0 2px}}@keyframes dot-pulse{0%,100%,60%{box-shadow:9999px 0 0 -5px}30%{box-shadow:9999px 0 0 2px}}@-webkit-keyframes dot-pulse-after{0%,100%,60%{box-shadow:10014px 0 0 -5px}30%{box-shadow:10014px 0 0 2px}}@keyframes dot-pulse-after{0%,100%,60%{box-shadow:10014px 0 0 -5px}30%{box-shadow:10014px 0 0 2px}}::ng-deep .mat-select-arrow{border:solid #131313!important;border-width:0 2px 2px 0!important;display:inline-block!important;padding:3px!important;transform:rotate(45deg)!important;margin:0 4px!important}::ng-deep .mat-option-button-add{position:absolute;bottom:0;left:0;width:100%;z-index:100;background-color:#fff;border-radius:4px}"]
377
+ styles: [":host{display:block;min-width:0;max-width:100%;flex:1}.input-select-paged-content{display:flex;flex-direction:column;gap:1rem}.input-select-paged-content>label{font-weight:400;font-size:1.4rem;line-height:100%;color:#131313}.input-select-paged-content>label>span{color:#d14014}.field-diasabled{cursor:not-allowed}:host ::ng-deep .mat-form-field-appearance-outline .mat-form-field-suffix{position:absolute!important;right:35px!important;top:34%!important}:host ::ng-deep .mat-form-field-appearance-outline .mat-form-field-suffix .mat-icon{height:1.6rem!important;width:1.6rem!important;font-size:1.6rem!important;color:#131313!important}:host ::ng-deep .mat-select-value{padding-right:30px!important}::ng-deep .virtual-scroll-viewport{width:100%!important;overflow:hidden}::ng-deep .virtual-scroll-viewport .cdk-virtual-scroll-content-wrapper{width:100%!important}.mat-select-additional-selection{opacity:.75;font-size:.75em;margin-left:16px}.mat-select-search-loading{background-color:#fff;display:flex;align-items:center;justify-content:center;height:3em}.dot-pulse{position:relative;left:-9999px;width:5px;height:5px;border-radius:50%;background-color:#f3465c;color:#f3465c;box-shadow:9999px 0 0 -5px;-webkit-animation:1.5s linear .25s infinite dot-pulse;animation:1.5s linear .25s infinite dot-pulse}.dot-pulse::after,.dot-pulse::before{content:\"\";display:inline-block;position:absolute;top:0;width:5px;height:5px;border-radius:50%;background-color:#f3465c;color:#f3465c}.dot-pulse::before{box-shadow:9984px 0 0 -5px;-webkit-animation:1.5s linear infinite dot-pulse-before;animation:1.5s linear infinite dot-pulse-before}.dot-pulse::after{box-shadow:10014px 0 0 -5px;-webkit-animation:1.5s linear .5s infinite dot-pulse-after;animation:1.5s linear .5s infinite dot-pulse-after}@-webkit-keyframes dot-pulse-before{0%,100%,60%{box-shadow:9984px 0 0 -5px}30%{box-shadow:9984px 0 0 2px}}@keyframes dot-pulse-before{0%,100%,60%{box-shadow:9984px 0 0 -5px}30%{box-shadow:9984px 0 0 2px}}@-webkit-keyframes dot-pulse{0%,100%,60%{box-shadow:9999px 0 0 -5px}30%{box-shadow:9999px 0 0 2px}}@keyframes dot-pulse{0%,100%,60%{box-shadow:9999px 0 0 -5px}30%{box-shadow:9999px 0 0 2px}}@-webkit-keyframes dot-pulse-after{0%,100%,60%{box-shadow:10014px 0 0 -5px}30%{box-shadow:10014px 0 0 2px}}@keyframes dot-pulse-after{0%,100%,60%{box-shadow:10014px 0 0 -5px}30%{box-shadow:10014px 0 0 2px}}::ng-deep .mat-select-arrow{border:solid #131313!important;border-width:0 2px 2px 0!important;display:inline-block!important;padding:3px!important;transform:rotate(45deg)!important;margin:0 4px!important}::ng-deep .mat-option-button-add{position:absolute;bottom:0;left:0;width:100%;z-index:100;background-color:#fff;border-radius:4px}"]
378
378
  }),
379
379
  __metadata("design:paramtypes", [ChangeDetectorRef])
380
380
  ], GIPIInputSelectPagedComponent);
@@ -275,7 +275,7 @@ var GIPIInputSelectRadioComponent = /** @class */ (function () {
275
275
  'class': 'gipi-input-select-radio',
276
276
  },
277
277
  changeDetection: ChangeDetectionStrategy.OnPush,
278
- styles: ["::ng-deep .radio-group{display:flex;flex-direction:column;gap:16px}.select-radio-popover-content{background-color:#fff;border-radius:4px;box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12);padding:8px}"]
278
+ styles: [":host{display:block;min-width:0;max-width:100%;flex:1}::ng-deep .radio-group{display:flex;flex-direction:column;gap:16px}.select-radio-popover-content{background-color:#fff;border-radius:4px;box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12);padding:8px}"]
279
279
  }),
280
280
  __metadata("design:paramtypes", [ElementRef,
281
281
  ChangeDetectorRef])
@@ -78,13 +78,11 @@ var GIPIBreakpointService = /** @class */ (function () {
78
78
  ]; };
79
79
  GIPIBreakpointService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function GIPIBreakpointService_Factory() { return new GIPIBreakpointService(i0.ɵɵinject(i1.GIPIResizeService), i0.ɵɵinject(i2.MediaMatcher)); }, token: GIPIBreakpointService, providedIn: "root" });
80
80
  GIPIBreakpointService = __decorate([
81
- Injectable({
82
- providedIn: 'root'
83
- }),
81
+ Injectable({ providedIn: 'root' }),
84
82
  __metadata("design:paramtypes", [GIPIResizeService,
85
83
  MediaMatcher])
86
84
  ], GIPIBreakpointService);
87
85
  return GIPIBreakpointService;
88
86
  }());
89
87
  export { GIPIBreakpointService };
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWtwb2ludC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGdpcGlzaXN0ZW1hcy9uZy1jb3JlLyIsInNvdXJjZXMiOlsic2hhcmVkL2dpcGktY29tcG9uZW50cy9sYXlvdXQtZ3JpZC9zZXJ2aWNlcy9icmVha3BvaW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFakYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7QUFFckQsTUFBTSxDQUFOLElBQVksY0FNWDtBQU5ELFdBQVksY0FBYztJQUN0QiwyQkFBUyxDQUFBO0lBQ1QsMkJBQVMsQ0FBQTtJQUNULDJCQUFTLENBQUE7SUFDVCwyQkFBUyxDQUFBO0lBQ1QsMkJBQVMsQ0FBQTtBQUNiLENBQUMsRUFOVyxjQUFjLEtBQWQsY0FBYyxRQU16QjtBQU1ELE1BQU0sQ0FBQyxJQUFNLGlCQUFpQixHQUFrQjtJQUM1QyxFQUFFLEVBQUUsb0JBQW9CO0lBQ3hCLEVBQUUsRUFBRSxvQkFBb0I7SUFDeEIsRUFBRSxFQUFFLG9CQUFvQjtJQUN4QixFQUFFLEVBQUUsb0JBQW9CO0lBQ3hCLEVBQUUsRUFBRSxxQkFBcUI7Q0FDNUIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxJQUFNLGtCQUFrQixHQUFrQjtJQUM3QyxFQUFFLEVBQUUsb0JBQW9CO0lBQ3hCLEVBQUUsRUFBRSxvQkFBb0I7SUFDeEIsRUFBRSxFQUFFLG9CQUFvQjtJQUN4QixFQUFFLEVBQUUscUJBQXFCO0lBQ3pCLEVBQUUsRUFBRSxxQkFB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ci9jZGsvbGF5b3V0JztcbmltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgc3RhcnRXaXRoLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEdJUElSZXNpemVTZXJ2aWNlIH0gZnJvbSAnLi9yZXNpemUuc2VydmljZSc7XG5cbmV4cG9ydCBlbnVtIEJyZWFrcG9pbnRFbnVtIHtcbiAgICB4bCA9ICd4bCcsXG4gICAgbGcgPSAnbGcnLFxuICAgIG1kID0gJ21kJyxcbiAgICBzbSA9ICdzbScsXG4gICAgeHMgPSAneHMnXG59XG5cbmV4cG9ydCB0eXBlIEJyZWFrcG9pbnRNYXAgPSB7IFtrZXkgaW4gQnJlYWtwb2ludEVudW1dOiBzdHJpbmcgfTtcbmV4cG9ydCB0eXBlIEJyZWFrcG9pbnRCb29sZWFuTWFwID0geyBba2V5IGluIEJyZWFrcG9pbnRFbnVtXTogYm9vbGVhbiB9O1xuZXhwb3J0IHR5cGUgR3JpZEJyZWFrcG9pbnRLZXkgPSBrZXlvZiB0eXBlb2YgQnJlYWtwb2ludEVudW07XG5cbmV4cG9ydCBjb25zdCBncmlkUmVzcG9uc2l2ZU1hcDogQnJlYWtwb2ludE1hcCA9IHtcbiAgICB4czogJyhtYXgtd2lkdGg6IDQxOXB4KScsXG4gICAgc206ICcobWluLXdpZHRoOiA0MjBweCknLFxuICAgIG1kOiAnKG1pbi13aWR0aDogNjAwcHgpJyxcbiAgICBsZzogJyhtaW4td2lkdGg6IDc2OHB4KScsXG4gICAgeGw6ICcobWluLXdpZHRoOiAxMzY2cHgpJyxcbn07XG5cbmV4cG9ydCBjb25zdCBzaWRlclJlc3BvbnNpdmVNYXA6IEJyZWFrcG9pbnRNYXAgPSB7XG4gICAgeHM6ICcobWF4LXdpZHRoOiA0MjBweCknLFxuICAgIHNtOiAnKG1heC13aWR0aDogNjAwcHgpJyxcbiAgICBtZDogJyhtYXgtd2lkdGg6IDc2OHB4KScsXG4gICAgbGc6ICcobWF4LXdpZHRoOiAxMzY2cHgpJyxcbiAgICB4bDogJyhtYXgtd2lkdGg6IDE5MjBweCknLFxufTtcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBHSVBJQnJlYWtwb2ludFNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gICAgcHJpdmF0ZSBkZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZXNpemVTZXJ2aWNlOiBHSVBJUmVzaXplU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBtZWRpYU1hdGNoZXI6IE1lZGlhTWF0Y2hlclxuICAgICkge1xuICAgICAgICB0aGlzLnJlc2l6ZVNlcnZpY2VcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7IH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB9XG5cbiAgICBzdWJzY3JpYmUoYnJlYWtwb2ludE1hcDogQnJlYWtwb2ludE1hcCk6IE9ic2VydmFibGU8QnJlYWtwb2ludEVudW0+O1xuICAgIHN1YnNjcmliZShicmVha3BvaW50TWFwOiBCcmVha3BvaW50TWFwLCBmdWxsTWFwOiB0cnVlKTogT2JzZXJ2YWJsZTxCcmVha3BvaW50Qm9vbGVhbk1hcD47XG4gICAgc3Vic2NyaWJlKGJyZWFrcG9pbnRNYXA6IEJyZWFrcG9pbnRNYXAsIGZ1bGxNYXA/OiB0cnVlKTogT2JzZXJ2YWJsZTxCcmVha3BvaW50RW51bSB8IEJyZWFrcG9pbnRCb29sZWFuTWFwPiB7XG4gICAgICAgIGlmIChmdWxsTWFwKSB7XG4gICAgICAgICAgICBjb25zdCBnZXQgPSAoKSA9PiB0aGlzLm1hdGNoTWVkaWEoYnJlYWtwb2ludE1hcCwgdHJ1ZSk7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5yZXNpemVTZXJ2aWNlLnN1YnNjcmliZSgpLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKGdldCksXG4gICAgICAgICAgICAgICAgc3RhcnRXaXRoKGdldCgpKSxcbiAgICAgICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZChcbiAgICAgICAgICAgICAgICAgICAgKHg6IFtCcmVha3BvaW50RW51bSwgQnJlYWtwb2ludEJvb2xlYW5NYXBdLCB5OiBbQnJlYWtwb2ludEVudW0sIEJyZWFrcG9pbnRCb29sZWFuTWFwXSkgPT4geFswXSA9PT0geVswXVxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgbWFwKHggPT4geFsxXSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBnZXQgPSAoKSA9PiB0aGlzLm1hdGNoTWVkaWEoYnJlYWtwb2ludE1hcCk7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5yZXNpemVTZXJ2aWNlLnN1YnNjcmliZSgpLnBpcGUobWFwKGdldCksIHN0YXJ0V2l0aChnZXQoKSksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBtYXRjaE1lZGlhKGJyZWFrcG9pbnRNYXA6IEJyZWFrcG9pbnRNYXApOiBCcmVha3BvaW50RW51bTtcbiAgICBwcml2YXRlIG1hdGNoTWVkaWEoYnJlYWtwb2ludE1hcDogQnJlYWtwb2ludE1hcCwgZnVsbE1hcDogdHJ1ZSk6IFtCcmVha3BvaW50RW51bSwgQnJlYWtwb2ludEJvb2xlYW5NYXBdO1xuICAgIHByaXZhdGUgbWF0Y2hNZWRpYShcbiAgICAgICAgYnJlYWtwb2ludE1hcDogQnJlYWtwb2ludE1hcCxcbiAgICAgICAgZnVsbE1hcD86IHRydWVcbiAgICApOiBCcmVha3BvaW50RW51bSB8IFtCcmVha3BvaW50RW51bSwgQnJlYWtwb2ludEJvb2xlYW5NYXBdIHtcbiAgICAgICAgbGV0IGJwOiBCcmVha3BvaW50RW51bSA9IEJyZWFrcG9pbnRFbnVtLm1kO1xuXG4gICAgICAgIGNvbnN0IGJyZWFrcG9pbnRCb29sZWFuTWFwOiBQYXJ0aWFsPEJyZWFrcG9pbnRCb29sZWFuTWFwPiA9IHt9O1xuXG4gICAgICAgIE9iamVjdC5rZXlzKGJyZWFrcG9pbnRNYXApLm1hcChicmVha3BvaW50ID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNhc3RCUCA9IGJyZWFrcG9pbnQgYXMgQnJlYWtwb2ludEVudW07XG4gICAgICAgICAgICBjb25zdCBtYXRjaGVkOiBib29sZWFuID0gdGhpcy5tZWRpYU1hdGNoZXIubWF0Y2hNZWRpYShncmlkUmVzcG9uc2l2ZU1hcFtjYXN0QlBdKS5tYXRjaGVzO1xuXG4gICAgICAgICAgICBicmVha3BvaW50Qm9vbGVhbk1hcFticmVha3BvaW50IGFzIEJyZWFrcG9pbnRFbnVtXSA9IG1hdGNoZWQ7XG5cbiAgICAgICAgICAgIGlmIChtYXRjaGVkKSB7XG4gICAgICAgICAgICAgICAgYnAgPSBjYXN0QlA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmIChmdWxsTWFwKSB7XG4gICAgICAgICAgICByZXR1cm4gW2JwLCBicmVha3BvaW50Qm9vbGVhbk1hcCBhcyBCcmVha3BvaW50Qm9vbGVhbk1hcF07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gYnA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiJdfQ==
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWtwb2ludC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGdpcGlzaXN0ZW1hcy9uZy1jb3JlLyIsInNvdXJjZXMiOlsic2hhcmVkL2dpcGktY29tcG9uZW50cy9sYXlvdXQtZ3JpZC9zZXJ2aWNlcy9icmVha3BvaW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFakYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7QUFFckQsTUFBTSxDQUFOLElBQVksY0FNWDtBQU5ELFdBQVksY0FBYztJQUN0QiwyQkFBUyxDQUFBO0lBQ1QsMkJBQVMsQ0FBQTtJQUNULDJCQUFTLENBQUE7SUFDVCwyQkFBUyxDQUFBO0lBQ1QsMkJBQVMsQ0FBQTtBQUNiLENBQUMsRUFOVyxjQUFjLEtBQWQsY0FBYyxRQU16QjtBQU1ELE1BQU0sQ0FBQyxJQUFNLGlCQUFpQixHQUFrQjtJQUM1QyxFQUFFLEVBQUUsb0JBQW9CO0lBQ3hCLEVBQUUsRUFBRSxvQkFBb0I7SUFDeEIsRUFBRSxFQUFFLG9CQUFvQjtJQUN4QixFQUFFLEVBQUUsb0JBQW9CO0lBQ3hCLEVBQUUsRUFBRSxxQkFBcUI7Q0FDNUIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxJQUFNLGtCQUFrQixHQUFrQjtJQUM3QyxFQUFFLEVBQUUsb0JBQW9CO0lBQ3hCLEVBQUUsRUFBRSxvQkFBb0I7SUFDeEIsRUFBRSxFQUFFLG9CQUFvQjtJQUN4QixFQUFFLEVBQUUscUJBQXFCO0lBQ3pCLEVBQUUsRUFBRSxxQkFB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Y2RrL2xheW91dCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHN0YXJ0V2l0aCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBHSVBJUmVzaXplU2VydmljZSB9IGZyb20gJy4vcmVzaXplLnNlcnZpY2UnO1xuXG5leHBvcnQgZW51bSBCcmVha3BvaW50RW51bSB7XG4gICAgeGwgPSAneGwnLFxuICAgIGxnID0gJ2xnJyxcbiAgICBtZCA9ICdtZCcsXG4gICAgc20gPSAnc20nLFxuICAgIHhzID0gJ3hzJ1xufVxuXG5leHBvcnQgdHlwZSBCcmVha3BvaW50TWFwID0geyBba2V5IGluIEJyZWFrcG9pbnRFbnVtXTogc3RyaW5nIH07XG5leHBvcnQgdHlwZSBCcmVha3BvaW50Qm9vbGVhbk1hcCA9IHsgW2tleSBpbiBCcmVha3BvaW50RW51bV06IGJvb2xlYW4gfTtcbmV4cG9ydCB0eXBlIEdyaWRCcmVha3BvaW50S2V5ID0ga2V5b2YgdHlwZW9mIEJyZWFrcG9pbnRFbnVtO1xuXG5leHBvcnQgY29uc3QgZ3JpZFJlc3BvbnNpdmVNYXA6IEJyZWFrcG9pbnRNYXAgPSB7XG4gICAgeHM6ICcobWF4LXdpZHRoOiA0MTlweCknLFxuICAgIHNtOiAnKG1pbi13aWR0aDogNDIwcHgpJyxcbiAgICBtZDogJyhtaW4td2lkdGg6IDYwMHB4KScsXG4gICAgbGc6ICcobWluLXdpZHRoOiA3NjhweCknLFxuICAgIHhsOiAnKG1pbi13aWR0aDogMTM2NnB4KScsXG59O1xuXG5leHBvcnQgY29uc3Qgc2lkZXJSZXNwb25zaXZlTWFwOiBCcmVha3BvaW50TWFwID0ge1xuICAgIHhzOiAnKG1heC13aWR0aDogNDIwcHgpJyxcbiAgICBzbTogJyhtYXgtd2lkdGg6IDYwMHB4KScsXG4gICAgbWQ6ICcobWF4LXdpZHRoOiA3NjhweCknLFxuICAgIGxnOiAnKG1heC13aWR0aDogMTM2NnB4KScsXG4gICAgeGw6ICcobWF4LXdpZHRoOiAxOTIwcHgpJyxcbn07XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgR0lQSUJyZWFrcG9pbnRTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICAgIHByaXZhdGUgZGVzdHJveSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVzaXplU2VydmljZTogR0lQSVJlc2l6ZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgbWVkaWFNYXRjaGVyOiBNZWRpYU1hdGNoZXJcbiAgICApIHtcbiAgICAgICAgdGhpcy5yZXNpemVTZXJ2aWNlXG4gICAgICAgICAgICAuc3Vic2NyaWJlKClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4geyB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgfVxuXG4gICAgc3Vic2NyaWJlKGJyZWFrcG9pbnRNYXA6IEJyZWFrcG9pbnRNYXApOiBPYnNlcnZhYmxlPEJyZWFrcG9pbnRFbnVtPjtcbiAgICBzdWJzY3JpYmUoYnJlYWtwb2ludE1hcDogQnJlYWtwb2ludE1hcCwgZnVsbE1hcDogdHJ1ZSk6IE9ic2VydmFibGU8QnJlYWtwb2ludEJvb2xlYW5NYXA+O1xuICAgIHN1YnNjcmliZShicmVha3BvaW50TWFwOiBCcmVha3BvaW50TWFwLCBmdWxsTWFwPzogdHJ1ZSk6IE9ic2VydmFibGU8QnJlYWtwb2ludEVudW0gfCBCcmVha3BvaW50Qm9vbGVhbk1hcD4ge1xuICAgICAgICBpZiAoZnVsbE1hcCkge1xuICAgICAgICAgICAgY29uc3QgZ2V0ID0gKCkgPT4gdGhpcy5tYXRjaE1lZGlhKGJyZWFrcG9pbnRNYXAsIHRydWUpO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucmVzaXplU2VydmljZS5zdWJzY3JpYmUoKS5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChnZXQpLFxuICAgICAgICAgICAgICAgIHN0YXJ0V2l0aChnZXQoKSksXG4gICAgICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoXG4gICAgICAgICAgICAgICAgICAgICh4OiBbQnJlYWtwb2ludEVudW0sIEJyZWFrcG9pbnRCb29sZWFuTWFwXSwgeTogW0JyZWFrcG9pbnRFbnVtLCBCcmVha3BvaW50Qm9vbGVhbk1hcF0pID0+IHhbMF0gPT09IHlbMF1cbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIG1hcCh4ID0+IHhbMV0pXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgZ2V0ID0gKCkgPT4gdGhpcy5tYXRjaE1lZGlhKGJyZWFrcG9pbnRNYXApO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucmVzaXplU2VydmljZS5zdWJzY3JpYmUoKS5waXBlKG1hcChnZXQpLCBzdGFydFdpdGgoZ2V0KCkpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgbWF0Y2hNZWRpYShicmVha3BvaW50TWFwOiBCcmVha3BvaW50TWFwKTogQnJlYWtwb2ludEVudW07XG4gICAgcHJpdmF0ZSBtYXRjaE1lZGlhKGJyZWFrcG9pbnRNYXA6IEJyZWFrcG9pbnRNYXAsIGZ1bGxNYXA6IHRydWUpOiBbQnJlYWtwb2ludEVudW0sIEJyZWFrcG9pbnRCb29sZWFuTWFwXTtcbiAgICBwcml2YXRlIG1hdGNoTWVkaWEoXG4gICAgICAgIGJyZWFrcG9pbnRNYXA6IEJyZWFrcG9pbnRNYXAsXG4gICAgICAgIGZ1bGxNYXA/OiB0cnVlXG4gICAgKTogQnJlYWtwb2ludEVudW0gfCBbQnJlYWtwb2ludEVudW0sIEJyZWFrcG9pbnRCb29sZWFuTWFwXSB7XG4gICAgICAgIGxldCBicDogQnJlYWtwb2ludEVudW0gPSBCcmVha3BvaW50RW51bS5tZDtcblxuICAgICAgICBjb25zdCBicmVha3BvaW50Qm9vbGVhbk1hcDogUGFydGlhbDxCcmVha3BvaW50Qm9vbGVhbk1hcD4gPSB7fTtcblxuICAgICAgICBPYmplY3Qua2V5cyhicmVha3BvaW50TWFwKS5tYXAoYnJlYWtwb2ludCA9PiB7XG4gICAgICAgICAgICBjb25zdCBjYXN0QlAgPSBicmVha3BvaW50IGFzIEJyZWFrcG9pbnRFbnVtO1xuICAgICAgICAgICAgY29uc3QgbWF0Y2hlZDogYm9vbGVhbiA9IHRoaXMubWVkaWFNYXRjaGVyLm1hdGNoTWVkaWEoZ3JpZFJlc3BvbnNpdmVNYXBbY2FzdEJQXSkubWF0Y2hlcztcblxuICAgICAgICAgICAgYnJlYWtwb2ludEJvb2xlYW5NYXBbYnJlYWtwb2ludCBhcyBCcmVha3BvaW50RW51bV0gPSBtYXRjaGVkO1xuXG4gICAgICAgICAgICBpZiAobWF0Y2hlZCkge1xuICAgICAgICAgICAgICAgIGJwID0gY2FzdEJQO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoZnVsbE1hcCkge1xuICAgICAgICAgICAgcmV0dXJuIFticCwgYnJlYWtwb2ludEJvb2xlYW5NYXAgYXMgQnJlYWtwb2ludEJvb2xlYW5NYXBdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGJwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4iXX0=
@@ -55,9 +55,7 @@ var GIPIResizeService = /** @class */ (function () {
55
55
  ]; };
56
56
  GIPIResizeService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function GIPIResizeService_Factory() { return new GIPIResizeService(i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(i0.RendererFactory2)); }, token: GIPIResizeService, providedIn: "root" });
57
57
  GIPIResizeService = __decorate([
58
- Injectable({
59
- providedIn: 'root'
60
- }),
58
+ Injectable({ providedIn: 'root' }),
61
59
  __metadata("design:paramtypes", [NgZone,
62
60
  RendererFactory2])
63
61
  ], GIPIResizeService);
@@ -65,4 +63,4 @@ var GIPIResizeService = /** @class */ (function () {
65
63
  }());
66
64
  export { GIPIResizeService };
67
65
  export { ɵ0 };
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZ2lwaXNpc3RlbWFzL25nLWNvcmUvIiwic291cmNlcyI6WyJzaGFyZWQvZ2lwaS1jb21wb25lbnRzL2xheW91dC1ncmlkL3NlcnZpY2VzL3Jlc2l6ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFFckQsSUFBTSxJQUFJLEdBQWUsY0FBYyxDQUFDLENBQUM7O0FBS3pDO0lBZ0JJLDJCQUNZLE1BQWMsRUFDZCxnQkFBa0M7UUFGOUMsaUJBS0M7UUFKVyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQWhCN0Isa0JBQWEsR0FBa0IsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUU1RCxjQUFTLEdBQVcsQ0FBQyxDQUFDO1FBSXRCLGtCQUFhLEdBQWUsSUFBSSxDQUFDO1FBRWpDLFlBQU8sR0FBZTtZQUMxQixLQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztnQkFDWixLQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzlCLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFBO1FBTUcsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsdUNBQVcsR0FBWDtRQUNJLG1HQUFtRztRQUNuRyxzRkFBc0Y7UUFDdEYsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDeEIsQ0FBQztJQUVELHFDQUFTLEdBQVQ7UUFBQSxpQkFPQztRQU5HLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBRXhCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQzFCLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFDYixRQUFRLENBQUMsY0FBTSxPQUFBLEtBQUksQ0FBQyxrQkFBa0IsRUFBRSxFQUF6QixDQUF5QixDQUFDLENBQzVDLENBQUM7SUFDTixDQUFDO0lBRUQsdUNBQVcsR0FBWDtRQUNJLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFTyw0Q0FBZ0IsR0FBeEI7UUFBQSxpQkFRQztRQVBHLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxDQUFDLEVBQUU7WUFDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQztnQkFDMUIsS0FBSSxDQUFDLGFBQWEsR0FBRyxLQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNoRixDQUFDLENBQUMsQ0FBQztTQUNOO1FBRUQsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVPLDhDQUFrQixHQUExQjtRQUNJLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDO1FBRXBCLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxDQUFDLEVBQUU7WUFDdEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1NBQzdCO0lBQ0wsQ0FBQzs7Z0JBMUNtQixNQUFNO2dCQUNJLGdCQUFnQjs7O0lBbEJyQyxpQkFBaUI7UUFIN0IsVUFBVSxDQUFDO1lBQ1IsVUFBVSxFQUFFLE1BQU07U0FDckIsQ0FBQzt5Q0FrQnNCLE1BQU07WUFDSSxnQkFBZ0I7T0FsQnJDLGlCQUFpQixDQTREN0I7NEJBckVEO0NBcUVDLEFBNURELElBNERDO1NBNURZLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSwgT25EZXN0cm95LCBSZW5kZXJlcjIsIFJlbmRlcmVyRmFjdG9yeTIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGF1ZGl0VGltZSwgZmluYWxpemUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmNvbnN0IE5PT1A6ICgpID0+IHZvaWQgPSAoKTogdm9pZCA9PiB7IH07XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgR0lQSVJlc2l6ZVNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXNpemVTb3VyY2UkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIHByaXZhdGUgbGlzdGVuZXJzOiBudW1iZXIgPSAwO1xuXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyO1xuXG4gICAgcHJpdmF0ZSBkaXNwb3NlSGFuZGxlOiAoKSA9PiB2b2lkID0gTk9PUDtcblxuICAgIHByaXZhdGUgaGFuZGxlcjogKCkgPT4gdm9pZCA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMucmVzaXplU291cmNlJC5uZXh0KCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyRmFjdG9yeTI6IFJlbmRlcmVyRmFjdG9yeTJcbiAgICApIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlciA9IHRoaXMucmVuZGVyZXJGYWN0b3J5Mi5jcmVhdGVSZW5kZXJlcihudWxsLCBudWxsKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgLy8gQ2FyZXRha2VyIG5vdGU6IHRoZSBgaGFuZGxlcmAgaXMgYW4gaW5zdGFuY2UgcHJvcGVydHkgKGl0J3Mgbm90IGRlZmluZWQgb24gdGhlIGNsYXNzIHByb3RvdHlwZSkuXG4gICAgICAgIC8vIFRoZSBgaGFuZGxlcmAgY2FwdHVyZXMgYHRoaXNgIGFuZCBwcmV2ZW50cyB0aGUgYEdJUElSZXNpemVTZXJ2aWNlYCBmcm9tIGJlaW5nIEdDJ2QuXG4gICAgICAgIHRoaXMuaGFuZGxlciA9IE5PT1A7XG4gICAgfVxuXG4gICAgc3Vic2NyaWJlKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgICAgICB0aGlzLnJlZ2lzdGVyTGlzdGVuZXIoKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5yZXNpemVTb3VyY2UkLnBpcGUoXG4gICAgICAgICAgICBhdWRpdFRpbWUoMTYpLFxuICAgICAgICAgICAgZmluYWxpemUoKCkgPT4gdGhpcy51bnJlZ2lzdGVyTGlzdGVuZXIoKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1bnN1YnNjcmliZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51bnJlZ2lzdGVyTGlzdGVuZXIoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlZ2lzdGVyTGlzdGVuZXIoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmxpc3RlbmVycyA9PT0gMCkge1xuICAgICAgICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZGlzcG9zZUhhbmRsZSA9IHRoaXMucmVuZGVyZXIubGlzdGVuKCd3aW5kb3cnLCAncmVzaXplJywgdGhpcy5oYW5kbGVyKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5saXN0ZW5lcnMgKz0gMTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVucmVnaXN0ZXJMaXN0ZW5lcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5saXN0ZW5lcnMgLT0gMTtcblxuICAgICAgICBpZiAodGhpcy5saXN0ZW5lcnMgPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMuZGlzcG9zZUhhbmRsZSgpO1xuICAgICAgICAgICAgdGhpcy5kaXNwb3NlSGFuZGxlID0gTk9PUDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuIl19
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZ2lwaXNpc3RlbWFzL25nLWNvcmUvIiwic291cmNlcyI6WyJzaGFyZWQvZ2lwaS1jb21wb25lbnRzL2xheW91dC1ncmlkL3NlcnZpY2VzL3Jlc2l6ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFFckQsSUFBTSxJQUFJLEdBQWUsY0FBYyxDQUFDLENBQUM7O0FBR3pDO0lBZ0JJLDJCQUNZLE1BQWMsRUFDZCxnQkFBa0M7UUFGOUMsaUJBS0M7UUFKVyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQWhCN0Isa0JBQWEsR0FBa0IsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUU1RCxjQUFTLEdBQVcsQ0FBQyxDQUFDO1FBSXRCLGtCQUFhLEdBQWUsSUFBSSxDQUFDO1FBRWpDLFlBQU8sR0FBZTtZQUMxQixLQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztnQkFDWixLQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzlCLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFBO1FBTUcsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsdUNBQVcsR0FBWDtRQUNJLG1HQUFtRztRQUNuRyxzRkFBc0Y7UUFDdEYsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDeEIsQ0FBQztJQUVELHFDQUFTLEdBQVQ7UUFBQSxpQkFPQztRQU5HLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBRXhCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQzFCLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFDYixRQUFRLENBQUMsY0FBTSxPQUFBLEtBQUksQ0FBQyxrQkFBa0IsRUFBRSxFQUF6QixDQUF5QixDQUFDLENBQzVDLENBQUM7SUFDTixDQUFDO0lBRUQsdUNBQVcsR0FBWDtRQUNJLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFTyw0Q0FBZ0IsR0FBeEI7UUFBQSxpQkFRQztRQVBHLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxDQUFDLEVBQUU7WUFDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQztnQkFDMUIsS0FBSSxDQUFDLGFBQWEsR0FBRyxLQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNoRixDQUFDLENBQUMsQ0FBQztTQUNOO1FBRUQsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVPLDhDQUFrQixHQUExQjtRQUNJLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDO1FBRXBCLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxDQUFDLEVBQUU7WUFDdEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1NBQzdCO0lBQ0wsQ0FBQzs7Z0JBMUNtQixNQUFNO2dCQUNJLGdCQUFnQjs7O0lBbEJyQyxpQkFBaUI7UUFEN0IsVUFBVSxDQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFDO3lDQWtCWCxNQUFNO1lBQ0ksZ0JBQWdCO09BbEJyQyxpQkFBaUIsQ0E0RDdCOzRCQW5FRDtDQW1FQyxBQTVERCxJQTREQztTQTVEWSxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBOZ1pvbmUsIE9uRGVzdHJveSwgUmVuZGVyZXIyLCBSZW5kZXJlckZhY3RvcnkyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBhdWRpdFRpbWUsIGZpbmFsaXplIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5jb25zdCBOT09QOiAoKSA9PiB2b2lkID0gKCk6IHZvaWQgPT4geyB9O1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEdJUElSZXNpemVTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVzaXplU291cmNlJDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBwcml2YXRlIGxpc3RlbmVyczogbnVtYmVyID0gMDtcblxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMjtcblxuICAgIHByaXZhdGUgZGlzcG9zZUhhbmRsZTogKCkgPT4gdm9pZCA9IE5PT1A7XG5cbiAgICBwcml2YXRlIGhhbmRsZXI6ICgpID0+IHZvaWQgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlc2l6ZVNvdXJjZSQubmV4dCgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgcHJpdmF0ZSByZW5kZXJlckZhY3RvcnkyOiBSZW5kZXJlckZhY3RvcnkyXG4gICAgKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIgPSB0aGlzLnJlbmRlcmVyRmFjdG9yeTIuY3JlYXRlUmVuZGVyZXIobnVsbCwgbnVsbCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIC8vIENhcmV0YWtlciBub3RlOiB0aGUgYGhhbmRsZXJgIGlzIGFuIGluc3RhbmNlIHByb3BlcnR5IChpdCdzIG5vdCBkZWZpbmVkIG9uIHRoZSBjbGFzcyBwcm90b3R5cGUpLlxuICAgICAgICAvLyBUaGUgYGhhbmRsZXJgIGNhcHR1cmVzIGB0aGlzYCBhbmQgcHJldmVudHMgdGhlIGBHSVBJUmVzaXplU2VydmljZWAgZnJvbSBiZWluZyBHQydkLlxuICAgICAgICB0aGlzLmhhbmRsZXIgPSBOT09QO1xuICAgIH1cblxuICAgIHN1YnNjcmliZSgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgdGhpcy5yZWdpc3Rlckxpc3RlbmVyKCk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMucmVzaXplU291cmNlJC5waXBlKFxuICAgICAgICAgICAgYXVkaXRUaW1lKDE2KSxcbiAgICAgICAgICAgIGZpbmFsaXplKCgpID0+IHRoaXMudW5yZWdpc3Rlckxpc3RlbmVyKCkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgdW5zdWJzY3JpYmUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudW5yZWdpc3Rlckxpc3RlbmVyKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWdpc3Rlckxpc3RlbmVyKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5saXN0ZW5lcnMgPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmRpc3Bvc2VIYW5kbGUgPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbignd2luZG93JywgJ3Jlc2l6ZScsIHRoaXMuaGFuZGxlcik7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubGlzdGVuZXJzICs9IDE7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1bnJlZ2lzdGVyTGlzdGVuZXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubGlzdGVuZXJzIC09IDE7XG5cbiAgICAgICAgaWYgKHRoaXMubGlzdGVuZXJzID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLmRpc3Bvc2VIYW5kbGUoKTtcbiAgICAgICAgICAgIHRoaXMuZGlzcG9zZUhhbmRsZSA9IE5PT1A7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiJdfQ==