@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.
- package/bundles/gipisistemas-ng-core.umd.js +350 -191
- package/bundles/gipisistemas-ng-core.umd.js.map +1 -1
- package/bundles/gipisistemas-ng-core.umd.min.js +8 -8
- package/bundles/gipisistemas-ng-core.umd.min.js.map +1 -1
- package/core/guards/auth.guard.d.ts +3 -3
- package/core/guards/permission.guard.d.ts +3 -3
- package/core/guards/public.guard.d.ts +3 -3
- package/core/models/dto/confirmation.dto.d.ts +1 -1
- package/core/models/dto/dialog.dto.d.ts +4 -4
- package/core/models/dto/menu.dto.d.ts +1 -0
- package/core/services/dialog.service.d.ts +5 -1
- package/core/services/message.service.d.ts +1 -1
- package/core/services/nav.service.d.ts +1 -1
- package/core/services/svg-register.service.d.ts +7 -1
- package/esm2015/core/gipi-components/services/file.service.js +2 -4
- package/esm2015/core/guards/auth.guard.js +13 -14
- package/esm2015/core/guards/permission.guard.js +12 -13
- package/esm2015/core/guards/public.guard.js +12 -13
- package/esm2015/core/models/dto/confirmation.dto.js +1 -5
- package/esm2015/core/models/dto/dialog.dto.js +1 -1
- package/esm2015/core/models/dto/menu.dto.js +2 -1
- package/esm2015/core/services/authentication.service.js +5 -6
- package/esm2015/core/services/breakpoint-observer.service.js +2 -4
- package/esm2015/core/services/confirmation.service.js +2 -4
- package/esm2015/core/services/dialog.service.js +54 -14
- package/esm2015/core/services/message.service.js +3 -5
- package/esm2015/core/services/nav.service.js +2 -4
- package/esm2015/core/services/svg-register.service.js +16 -5
- package/esm2015/shared/components/checkbox/checkbox.component.js +15 -11
- package/esm2015/shared/components/input/input.component.js +1 -1
- package/esm2015/shared/components/input-currency/input-currency.component.js +1 -1
- package/esm2015/shared/components/input-file/input-file.component.js +1 -1
- package/esm2015/shared/components/popover/popover.service.js +6 -7
- package/esm2015/shared/components/radio-group-entity/radio-group-entity.component.js +1 -1
- package/esm2015/shared/components/radio-group-enum/radio-group-enum.component.js +1 -1
- package/esm2015/shared/components/select-entity/select-entity.component.js +1 -1
- package/esm2015/shared/components/select-entity-paged/select-entity-paged.component.js +3 -3
- package/esm2015/shared/components/select-entity-paged/shared/default-options.js +1 -2
- package/esm2015/shared/components/select-entity-paged/shared/select-search/select-search.component.js +2 -8
- package/esm2015/shared/components/select-enum/select-enum.component.js +1 -1
- package/esm2015/shared/components/select-month-period/select-month-period.component.js +1 -1
- package/esm2015/shared/components/table/table.component.js +28 -9
- package/esm2015/shared/components/textarea/textarea.component.js +1 -1
- package/esm2015/shared/gipi-components/abstract-form/abstract-form.component.js +65 -3
- package/esm2015/shared/gipi-components/confirmation-dialog/confirmation-dialog.component.js +3 -3
- package/esm2015/shared/gipi-components/datepicker/date-range-picker/date-range-picker.component.js +1 -1
- package/esm2015/shared/gipi-components/datepicker/datepicker/datepicker.component.js +1 -1
- package/esm2015/shared/gipi-components/dropdown-menu/dropdown-menu.component.js +1 -1
- package/esm2015/shared/gipi-components/form-field/form-field.component.js +1 -1
- package/esm2015/shared/gipi-components/input-checkbox/input-checkbox.component.js +1 -1
- package/esm2015/shared/gipi-components/input-currency/input-currency.component.js +1 -1
- package/esm2015/shared/gipi-components/input-monthpicker/input-monthpicker.component.js +1 -1
- package/esm2015/shared/gipi-components/input-select/input-select.component.js +1 -1
- package/esm2015/shared/gipi-components/input-select-enum/input-select-enum.component.js +1 -1
- package/esm2015/shared/gipi-components/input-select-listbox/input-select-listbox.component.js +1 -1
- package/esm2015/shared/gipi-components/input-select-paged/input-search/input-search.component.js +2 -2
- package/esm2015/shared/gipi-components/input-select-paged/input-select-paged.component.js +1 -1
- package/esm2015/shared/gipi-components/input-select-radio/input-select-radio.component.js +1 -1
- package/esm2015/shared/gipi-components/layout-grid/services/breakpoint.service.js +2 -4
- package/esm2015/shared/gipi-components/layout-grid/services/resize.service.js +2 -4
- package/esm2015/shared/gipi-components/month-year-picker/month-year-picker.component.js +3 -3
- package/esm2015/shared/gipi-components/radio-group/radio-group.component.js +1 -1
- package/esm2015/shared/gipi-components/select/select.component.js +1 -1
- package/esm2015/shared/gipi-components/sidebar/sidenav/sidenav.component.js +33 -10
- package/esm2015/shared/gipi-components/tabs/tab/tab.component.js +13 -1
- package/esm2015/shared/gipi-components/tabs/tab-group/tab-group.component.js +18 -4
- package/esm2015/shared/gipi-components/textarea/textarea.component.js +1 -1
- package/esm5/core/gipi-components/services/file.service.js +2 -4
- package/esm5/core/guards/auth.guard.js +13 -14
- package/esm5/core/guards/permission.guard.js +12 -13
- package/esm5/core/guards/public.guard.js +12 -13
- package/esm5/core/models/dto/confirmation.dto.js +2 -4
- package/esm5/core/models/dto/dialog.dto.js +1 -1
- package/esm5/core/models/dto/menu.dto.js +2 -1
- package/esm5/core/services/authentication.service.js +5 -6
- package/esm5/core/services/breakpoint-observer.service.js +2 -4
- package/esm5/core/services/confirmation.service.js +2 -4
- package/esm5/core/services/dialog.service.js +54 -14
- package/esm5/core/services/message.service.js +3 -5
- package/esm5/core/services/nav.service.js +2 -4
- package/esm5/core/services/svg-register.service.js +16 -5
- package/esm5/shared/components/checkbox/checkbox.component.js +15 -11
- package/esm5/shared/components/input/input.component.js +1 -1
- package/esm5/shared/components/input-currency/input-currency.component.js +1 -1
- package/esm5/shared/components/input-file/input-file.component.js +1 -1
- package/esm5/shared/components/popover/popover.service.js +6 -7
- package/esm5/shared/components/radio-group-entity/radio-group-entity.component.js +1 -1
- package/esm5/shared/components/radio-group-enum/radio-group-enum.component.js +1 -1
- package/esm5/shared/components/select-entity/select-entity.component.js +1 -1
- package/esm5/shared/components/select-entity-paged/select-entity-paged.component.js +3 -3
- package/esm5/shared/components/select-entity-paged/shared/default-options.js +1 -2
- package/esm5/shared/components/select-entity-paged/shared/select-search/select-search.component.js +2 -8
- package/esm5/shared/components/select-enum/select-enum.component.js +1 -1
- package/esm5/shared/components/select-month-period/select-month-period.component.js +1 -1
- package/esm5/shared/components/table/table.component.js +28 -9
- package/esm5/shared/components/textarea/textarea.component.js +1 -1
- package/esm5/shared/gipi-components/abstract-form/abstract-form.component.js +66 -3
- package/esm5/shared/gipi-components/confirmation-dialog/confirmation-dialog.component.js +3 -3
- package/esm5/shared/gipi-components/datepicker/date-range-picker/date-range-picker.component.js +1 -1
- package/esm5/shared/gipi-components/datepicker/datepicker/datepicker.component.js +1 -1
- package/esm5/shared/gipi-components/dropdown-menu/dropdown-menu.component.js +1 -1
- package/esm5/shared/gipi-components/form-field/form-field.component.js +1 -1
- package/esm5/shared/gipi-components/input-checkbox/input-checkbox.component.js +1 -1
- package/esm5/shared/gipi-components/input-currency/input-currency.component.js +1 -1
- package/esm5/shared/gipi-components/input-monthpicker/input-monthpicker.component.js +1 -1
- package/esm5/shared/gipi-components/input-select/input-select.component.js +1 -1
- package/esm5/shared/gipi-components/input-select-enum/input-select-enum.component.js +1 -1
- package/esm5/shared/gipi-components/input-select-listbox/input-select-listbox.component.js +1 -1
- package/esm5/shared/gipi-components/input-select-paged/input-search/input-search.component.js +2 -2
- package/esm5/shared/gipi-components/input-select-paged/input-select-paged.component.js +1 -1
- package/esm5/shared/gipi-components/input-select-radio/input-select-radio.component.js +1 -1
- package/esm5/shared/gipi-components/layout-grid/services/breakpoint.service.js +2 -4
- package/esm5/shared/gipi-components/layout-grid/services/resize.service.js +2 -4
- package/esm5/shared/gipi-components/month-year-picker/month-year-picker.component.js +3 -3
- package/esm5/shared/gipi-components/radio-group/radio-group.component.js +1 -1
- package/esm5/shared/gipi-components/select/select.component.js +1 -1
- package/esm5/shared/gipi-components/sidebar/sidenav/sidenav.component.js +38 -10
- package/esm5/shared/gipi-components/tabs/tab/tab.component.js +13 -1
- package/esm5/shared/gipi-components/tabs/tab-group/tab-group.component.js +18 -4
- package/esm5/shared/gipi-components/textarea/textarea.component.js +1 -1
- package/fesm2015/gipisistemas-ng-core.js +344 -193
- package/fesm2015/gipisistemas-ng-core.js.map +1 -1
- package/fesm5/gipisistemas-ng-core.js +355 -196
- package/fesm5/gipisistemas-ng-core.js.map +1 -1
- package/gipisistemas-ng-core.metadata.json +1 -1
- package/package.json +1 -1
- package/shared/components/checkbox/checkbox.component.d.ts +6 -4
- package/shared/components/popover/popover.service.d.ts +1 -1
- package/shared/components/select-entity-paged/shared/default-options.d.ts +2 -2
- package/shared/components/select-entity-paged/shared/select-search/select-search.component.d.ts +0 -1
- package/shared/gipi-components/abstract-form/abstract-form.component.d.ts +10 -2
- package/shared/gipi-components/sidebar/sidenav/sidenav.component.d.ts +5 -2
- package/shared/gipi-components/tabs/tab/tab.component.d.ts +3 -0
- package/shared/gipi-components/tabs/tab-group/tab-group.component.d.ts +3 -0
@@ -399,7 +399,7 @@ GIPIInputMonthPickerComponent = GIPIInputMonthPickerComponent_1 = __decorate([
|
|
399
399
|
'class': 'gipi-input-monthpicker',
|
400
400
|
},
|
401
401
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
402
|
-
styles: [".input-monthpicker-container{display:flex;flex-direction:column;gap:
|
402
|
+
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}"]
|
403
403
|
}),
|
404
404
|
__metadata("design:paramtypes", [ChangeDetectorRef,
|
405
405
|
GIPINgConfig])
|
@@ -650,7 +650,7 @@ GIPIInputSelectComponent = GIPIInputSelectComponent_1 = __decorate([
|
|
650
650
|
'class': 'gipi-input-select',
|
651
651
|
},
|
652
652
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
653
|
-
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:
|
653
|
+
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}"]
|
654
654
|
}),
|
655
655
|
__metadata("design:paramtypes", [ChangeDetectorRef])
|
656
656
|
], GIPIInputSelectComponent);
|
@@ -302,7 +302,7 @@ GIPIInputSelectEnumComponent = GIPIInputSelectEnumComponent_1 = __decorate([
|
|
302
302
|
'class': 'gipi-input-select-enum',
|
303
303
|
},
|
304
304
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
305
|
-
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:
|
305
|
+
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}"]
|
306
306
|
}),
|
307
307
|
__metadata("design:paramtypes", [ElementRef,
|
308
308
|
ChangeDetectorRef])
|
package/esm2015/shared/gipi-components/input-select-listbox/input-select-listbox.component.js
CHANGED
@@ -412,7 +412,7 @@ GIPIInputSelectListboxComponent = GIPIInputSelectListboxComponent_1 = __decorate
|
|
412
412
|
'class': 'gipi-input-select-listbox',
|
413
413
|
},
|
414
414
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
415
|
-
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:
|
415
|
+
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}"]
|
416
416
|
}),
|
417
417
|
__metadata("design:paramtypes", [ChangeDetectorRef,
|
418
418
|
ElementRef,
|
package/esm2015/shared/gipi-components/input-select-paged/input-search/input-search.component.js
CHANGED
@@ -347,7 +347,7 @@ GIPIInputSearchComponent = GIPIInputSearchComponent_1 = __decorate([
|
|
347
347
|
Component({
|
348
348
|
selector: `gipi-input-search`,
|
349
349
|
exportAs: 'gipiInputSearch',
|
350
|
-
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
|
350
|
+
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>",
|
351
351
|
providers: [
|
352
352
|
{
|
353
353
|
provide: NG_VALUE_ACCESSOR,
|
@@ -371,4 +371,4 @@ GIPIInputSearchComponent = GIPIInputSearchComponent_1 = __decorate([
|
|
371
371
|
MatFormField])
|
372
372
|
], GIPIInputSearchComponent);
|
373
373
|
export { GIPIInputSearchComponent };
|
374
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtc2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BnaXBpc2lzdGVtYXMvbmctY29yZS8iLCJzb3VyY2VzIjpbInNoYXJlZC9naXBpLWNvbXBvbmVudHMvaW5wdXQtc2VsZWN0LXBhZ2VkL2lucHV0LXNlYXJjaC9pbnB1dC1zZWFyY2guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EsT0FBTyxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNoSCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2TixPQUFPLEVBQXdCLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxlQUFlLEVBQWMsT0FBTyxFQUFFLGFBQWEsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0UsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQW1CaEcsSUFBYSx3QkFB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QUFFO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFvQyxFQUFFLENBQUMsMEJBQXdCLENBQUM7Z0JBQ3hGLEtBQUssRUFBRSxJQUFJO2FBQ2Q7U0FDSjtRQUNELElBQUksRUFBRTtZQUNGLE9BQU8sRUFBRSxtQkFBbUI7U0FDL0I7UUFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7S0FDbEQsQ0FBQztJQXVGTyxXQUFBLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUdqQixXQUFBLFFBQVEsRUFBRSxDQUFBLEVBQUUsV0FBQSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDN0IsV0FBQSxRQUFRLEVBQUUsQ0FBQSxFQUFFLFdBQUEsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFBO3FDQUpJLFNBQVM7UUFDcEIsaUJBQWlCO1FBQ25CLGFBQWE7UUFDWSxTQUFTO1FBQ0gsWUFBWTtHQTFGOUQsd0JBQXdCLENBZ1hwQztTQWhYWSx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3RpdmVEZXNjZW5kYW50S2V5TWFuYWdlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IEEsIERPV05fQVJST1csIEVORCwgRU5URVIsIEVTQ0FQRSwgSE9NRSwgTklORSwgU1BBQ0UsIFVQX0FSUk9XLCBaLCBaRVJPIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcbmltcG9ydCB7IFZpZXdwb3J0UnVsZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgSW5qZWN0LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3B0aW9uYWwsIFF1ZXJ5TGlzdCwgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkLCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUNvbnRyb2wsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkLCBNYXRPcHRpb24sIE1hdFNlbGVjdCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgY29tYmluZUxhdGVzdCwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlbGF5LCBmaWx0ZXIsIG1hcCwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAsIHRha2UsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogYGdpcGktaW5wdXQtc2VhcmNoYCxcbiAgICBleHBvcnRBczogJ2dpcGlJbnB1dFNlYXJjaCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LXNlYXJjaC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtc2VhcmNoLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCk6IHR5cGVvZiBHSVBJSW5wdXRTZWFyY2hDb21wb25lbnQgPT4gR0lQSUlucHV0U2VhcmNoQ29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH1cbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ2NsYXNzJzogJ2dpcGktaW5wdXQtc2VhcmNoJyxcbiAgICB9LFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEdJUElJbnB1dFNlYXJjaENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcblxuICAgIC8vIFZhbG9yIGRlIHBlc3F1aXNhIGF0dWFsXG4gICAgZ2V0IHZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9mb3JtQ29udHJvbC52YWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9sYXN0RXh0ZXJuYWxJbnB1dFZhbHVlOiBzdHJpbmc7XG5cbiAgICAvLyBSZWZlcsOqbmNpYSDDoHMgb3DDp8O1ZXMgTWF0U2VsZWN0XG4gICAgcHVibGljIF9vcHRpb25zJDogQmVoYXZpb3JTdWJqZWN0PFF1ZXJ5TGlzdDxNYXRPcHRpb24+PiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UXVlcnlMaXN0PE1hdE9wdGlvbj4+KG51bGwpO1xuICAgIHB1YmxpYyBzZXQgX29wdGlvbnMoX29wdGlvbnM6IFF1ZXJ5TGlzdDxNYXRPcHRpb24+KSB7XG4gICAgICAgIHRoaXMuX29wdGlvbnMkLm5leHQoX29wdGlvbnMpO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IF9vcHRpb25zKCk6IFF1ZXJ5TGlzdDxNYXRPcHRpb24+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX29wdGlvbnMkLmdldFZhbHVlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvcHRpb25zTGlzdCQ6IE9ic2VydmFibGU8TWF0T3B0aW9uW10+ID0gdGhpcy5fb3B0aW9ucyQucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKChfb3B0aW9uczogUXVlcnlMaXN0PE1hdE9wdGlvbj4pOiBPYnNlcnZhYmxlPGFueT4gPT4gX29wdGlvbnNcbiAgICAgICAgICAgID8gX29wdGlvbnMuY2hhbmdlcy5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgob3B0aW9uczogYW55KTogYW55ID0+IG9wdGlvbnMudG9BcnJheSgpKSxcbiAgICAgICAgICAgICAgICBzdGFydFdpdGg8TWF0T3B0aW9uW10+KF9vcHRpb25zLnRvQXJyYXkoKSksKVxuICAgICAgICAgICAgOiBvZihudWxsKVxuICAgICAgICApXG4gICAgKTtcblxuICAgIHByaXZhdGUgb3B0aW9uc0xlbmd0aCQ6IE9ic2VydmFibGU8bnVtYmVyPiA9IHRoaXMub3B0aW9uc0xpc3QkLnBpcGUoXG4gICAgICAgIG1hcCgob3B0aW9uczogTWF0T3B0aW9uW10pOiBudW1iZXIgPT4gb3B0aW9ucyA/IG9wdGlvbnMubGVuZ3RoIDogMClcbiAgICApO1xuXG4gICAgcHVibGljIF9mb3JtQ29udHJvbDogRm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJycpO1xuXG4gICAgLy8gU2UgZGV2ZSBtb3N0cmFyIGEgbWVuc2FnZW0gc2VtIGVudHJhZGFzIGVuY29udHJhZGFzXG4gICAgcHVibGljIF9zaG93Tm9FbnRyaWVzRm91bmQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gY29tYmluZUxhdGVzdChbXG4gICAgICAgIHRoaXMuX2Zvcm1Db250cm9sLnZhbHVlQ2hhbmdlcyxcbiAgICAgICAgdGhpcy5vcHRpb25zTGVuZ3RoJFxuICAgIF0pLnBpcGUoXG4gICAgICAgIG1hcCgoW3ZhbHVlLCBvcHRpb25zTGVuZ3RoXTogW2FueSwgbnVtYmVyXSk6IGJvb2xlYW4gPT4gdmFsdWUgJiYgb3B0aW9uc0xlbmd0aCA9PT0gdGhpcy5nZXRPcHRpb25zTGVuZ3RoT2Zmc2V0KCkpXG4gICAgKTtcblxuICAgIC8vIFN1YmplY3QgZW1pdGlkbyBxdWFuZG8gbyBjb21wb25lbnRlIGZvaSBkZXN0cnXDrWRvXG4gICAgcHJpdmF0ZSBfb25EZXN0cm95OiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8vIFJlZmVyw6puY2lhIGFvIGRlc2NlbmRlbnRlIGF0aXZvIHBhcmEgc3Vwb3J0ZSBBUklBLlxuICAgIHByaXZhdGUgYWN0aXZlRGVzY2VuZGFudDogSFRNTEVsZW1lbnQ7XG5cbiAgICBASW5wdXQoKSBwbGFjZWhvbGRlckxhYmVsOiBzdHJpbmcgPSAnUGVzcXVpc2FyJztcblxuICAgIEBJbnB1dCgpIGNsZWFyU2VhcmNoSW5wdXQ6IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgLy8gU2UgZGV2ZSBtb3N0cmFyIG8gaW5kaWNhZG9yIGRlIHBlc3F1aXNhIGVtIGFuZGFtZW50b1xuICAgIEBJbnB1dCgpIHNlYXJjaGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLy8gRGVzYXRpdmEgbyBmb2NvIGluaWNpYWwgZG8gY2FtcG8gZGUgZW50cmFkYVxuICAgIEBJbnB1dCgpIGRpc2FibGVJbml0aWFsRm9jdXM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8vIEF0aXZhciBsaW1wYXIgaW5wdXQgYW8gcHJlc3Npb25hciBlc2NhcGVcbiAgICBASW5wdXQoKSBlbmFibGVDbGVhck9uRXNjYXBlUHJlc3NlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogSW1wZWRlIHF1ZSBhIGNoYXZlIGhvbWUvZW5kIHNlamEgcHJvcGFnYWRhIHBhcmEgbWF0LXNlbGVjdCxcbiAgICAgKiBwZXJtaXRpbmRvIG1vdmVyIG8gY3Vyc29yIGRlbnRybyBkYSBlbnRyYWRhIGRlIHBlc3F1aXNhIGVtIHZleiBkZSBuYXZlZ2FyIHBlbGFzIG9ww6fDtWVzXG4gICAgICovXG4gICAgQElucHV0KCkgcHJldmVudEhvbWVFbmRLZXlQcm9wYWdhdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLy8gRGVzYXRpdmEgYSByb2xhZ2VtIHBhcmEgYXMgb3DDp8O1ZXMgYXRpdmFzIHF1YW5kbyBhIGxpc3RhIGRlIG9ww6fDtWVzIMOpIGFsdGVyYWRhLiDDmnRpbCBwYXJhIHBlc3F1aXNhIGRvIGxhZG8gZG8gc2Vydmlkb3JcbiAgICBASW5wdXQoKSBkaXNhYmxlU2Nyb2xsVG9BY3RpdmVPbk9wdGlvbnNDaGFuZ2VkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvLyBNb3N0cmFyL29jdWx0YXIgbyBib3TDo28gbGltcGFyIHBlc3F1aXNhIGRhIGVudHJhZGEgZGUgcGVzcXVpc2FcbiAgICBASW5wdXQoKSBoaWRlQ2xlYXJTZWFyY2hCdXR0b246IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8vIFJlZmVyw6puY2lhIGFvIGNhbXBvIGRlIGVudHJhZGEgZGUgcGVzcXVpc2FcbiAgICBAVmlld0NoaWxkKCdzZWFyY2hTZWxlY3RJbnB1dCcsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiB0cnVlIH0pIHNlYXJjaFNlbGVjdElucHV0OiBFbGVtZW50UmVmO1xuXG4gICAgLy8gUmVmZXLDqm5jaWEgYW8gY2FtcG8gZGUgZW50cmFkYSBkZSBwZXNxdWlzYVxuICAgIEBWaWV3Q2hpbGQoJ2lubmVyU2VsZWN0U2VhcmNoJywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWUgfSkgaW5uZXJTZWxlY3RTZWFyY2g6IEVsZW1lbnRSZWY7XG5cbiAgICAvLyBBZGljaW9uYSBhIGNsYXNzZSBtYXQtc2VsZWN0LXNlYXJjaC1pbnNpZGUtbWF0LW9wdGlvbiBzZSBvIGl0c3MtaW5wdXQtc2VhcmNoIGVzdGl2ZXJcbiAgICAvLyBkZW50cm8gZG8gbWF0LW9wdGlvblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MubWF0LXNlbGVjdC1zZWFyY2gtaW5zaWRlLW1hdC1vcHRpb24nKVxuICAgIGdldCBpc0luc2lkZU1hdE9wdGlvbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5tYXRPcHRpb247XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoTWF0U2VsZWN0KSBwdWJsaWMgbWF0U2VsZWN0OiBNYXRTZWxlY3QsXG4gICAgICAgIHB1YmxpYyBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgX3ZpZXdwb3J0UnVsZXI6IFZpZXdwb3J0UnVsZXIsXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTWF0T3B0aW9uKSBwdWJsaWMgbWF0T3B0aW9uOiBNYXRPcHRpb24gPSBudWxsLFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE1hdEZvcm1GaWVsZCkgcHVibGljIG1hdEZvcm1GaWVsZDogTWF0Rm9ybUZpZWxkID0gbnVsbCxcbiAgICApIHsgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIC8vIERlZmluaXIgY2xhc3NlIGRlIG9ww6fDo28gbWF0IHBlcnNvbmFsaXphZGEgc2UgbyBjb21wb25lbnRlIGZvaSBjb2xvY2FkbyBkZW50cm8gZGUgdW1hIG9ww6fDo28gbWF0XG4gICAgICAgIGlmICh0aGlzLm1hdE9wdGlvbikge1xuICAgICAgICAgICAgdGhpcy5tYXRPcHRpb24uZGlzYWJsZWQgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5tYXRPcHRpb24uX2dldEhvc3RFbGVtZW50KCkuY2xhc3NMaXN0LmFkZCgnY29udGFpbnMtbWF0LXNlbGVjdC1zZWFyY2gnKTtcbiAgICAgICAgICAgIHRoaXMubWF0T3B0aW9uLl9nZXRIb3N0RWxlbWVudCgpLnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCAndHJ1ZScpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignPGdpcGktc2VsZWN0LXNlYXJjaD4gZGV2ZSBzZXIgY29sb2NhZG8gZGVudHJvIGRlIHVtIGVsZW1lbnRvIDxtYXQtb3B0aW9uPicpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUXVhbmRvIG8gcGFpbmVsIHN1c3BlbnNvIGRlIHNlbGXDp8OjbyDDqSBhYmVydG8gb3UgZmVjaGFkb1xuICAgICAgICB0aGlzLm1hdFNlbGVjdC5vcGVuZWRDaGFuZ2VcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGRlbGF5KDEpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChvcGVuZWQ6IGJvb2xlYW4pOiB2b2lkID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3BlbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlSW5wdXRXaWR0aCgpO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIEZvY2FyIG8gY2FtcG8gZGUgcGVzcXVpc2EgYW8gYWJyaXJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVJbml0aWFsRm9jdXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2ZvY3VzKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAvLyBMaW1ww6EtbG8gYW8gZmVjaGFyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmNsZWFyU2VhcmNoSW5wdXQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3Jlc2V0KCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAvLyBEZWZpbmlyIG8gcHJpbWVpcm8gaXRlbSBhdGl2byBhcMOzcyBhcyBvcMOnw7VlcyBhbHRlcmFkYXNcbiAgICAgICAgdGhpcy5tYXRTZWxlY3Qub3BlbmVkQ2hhbmdlXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoKTogT2JzZXJ2YWJsZTxhbnk+ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fb3B0aW9ucyA9IHRoaXMubWF0U2VsZWN0Lm9wdGlvbnM7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gVmFyacOhdmVsIGRlIGZlY2hhbWVudG8gcGFyYSByYXN0cmVhciBhIHByaW1laXJhIG9ww6fDo28gbWFpcyByZWNlbnRlLlxuICAgICAgICAgICAgICAgICAgICAvLyBQYXJhIGV2aXRhciBxdWUgYSBsaXN0YSByb2xlIHBhcmEgbyB0b3BvIHF1YW5kbyBhcyBvcMOnw7VlcyBzw6NvIGFkaWNpb25hZGFzIGFvIGZpbmFsIGRhIGxpc3RhXG4gICAgICAgICAgICAgICAgICAgIC8vIChwb3IgZXhlbXBsbzogcm9sYWdlbSBpbmZpbml0YSksIGNvbXBhcmFtb3MgYXBlbmFzIGFzIGFsdGVyYcOnw7VlcyBuYXMgcHJpbWVpcmFzIG9ww6fDtWVzIHBhcmFcbiAgICAgICAgICAgICAgICAgICAgLy8gZGV0ZXJtaW5hciBzZSBkZXZlbW9zIGRlZmluaXIgbyBwcmltZWlybyBpdGVtIGNvbW8gYXRpdm8uIElzc28gZXZpdGEgYSByb2xhZ2VtIGRlc25lY2Vzc8OhcmlhXG4gICAgICAgICAgICAgICAgICAgIC8vIHBhcmEgbyB0b3BvIGRhIGxpc3RhIHF1YW5kbyBhcyBvcMOnw7VlcyBzw6NvIGFuZXhhZGFzLCBtYXMgcGVybWl0ZSBxdWUgbyBwcmltZWlybyBpdGVtIGRhIGxpc3RhXG4gICAgICAgICAgICAgICAgICAgIC8vIHNlamEgZGVmaW5pZG8gY29tbyBhdGl2byBwb3IgcGFkcsOjbyBxdWFuZG8gbsOjbyBow6Egc2VsZcOnw6NvIGF0aXZhLlxuICAgICAgICAgICAgICAgICAgICBsZXQgcHJldmlvdXNGaXJzdE9wdGlvbjogTWF0T3B0aW9uID0gdGhpcy5fb3B0aW9ucy50b0FycmF5KClbdGhpcy5nZXRPcHRpb25zTGVuZ3RoT2Zmc2V0KCldO1xuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9vcHRpb25zLmNoYW5nZXNcbiAgICAgICAgICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcCgoKTogdm9pZCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEV2aXRhciBvIGVycm8gXCJleHByZXNzaW9uIGhhcyBiZWVuIGNoYW5nZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpOiB2b2lkID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIENvbnZlcnRlciBhIFF1ZXJ5TGlzdCBlbSB1bWEgbWF0cml6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBvcHRpb25zOiBNYXRPcHRpb25bXSA9IHRoaXMuX29wdGlvbnMudG9BcnJheSgpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBPIHZlcmRhZGVpcm8gcHJpbWVpcm8gaXRlbSDDqSBjb21wZW5zYWRvIHBvciAxXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjdXJyZW50Rmlyc3RPcHRpb246IE1hdE9wdGlvbiA9IG9wdGlvbnNbdGhpcy5nZXRPcHRpb25zTGVuZ3RoT2Zmc2V0KCldO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBrZXlNYW5hZ2VyOiBBY3RpdmVEZXNjZW5kYW50S2V5TWFuYWdlcjxNYXRPcHRpb24+ID0gdGhpcy5tYXRTZWxlY3QuX2tleU1hbmFnZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoa2V5TWFuYWdlciAmJiB0aGlzLm1hdFNlbGVjdC5wYW5lbE9wZW4pIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIERlZmluaXIgcHJpbWVpcm8gaXRlbSBhdGl2byBlIGxhcmd1cmEgZGUgZW50cmFkYVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVmVyaWZpcXVlIHNlIGEgcHJpbWVpcmEgb3DDp8OjbyBuZXNzYXMgYWx0ZXJhw6fDtWVzIMOpIGRpZmVyZW50ZSBkYSBhbnRlcmlvci5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmaXJzdE9wdGlvbklzQ2hhbmdlZDogYm9vbGVhbiA9ICF0aGlzLm1hdFNlbGVjdC5jb21wYXJlV2l0aChwcmV2aW91c0ZpcnN0T3B0aW9uLCBjdXJyZW50Rmlyc3RPcHRpb24pO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ0FTTzogQSBwcmltZWlyYSBvcMOnw6NvIMOpIGRpZmVyZW50ZSBhZ29yYS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBJbmRpY2EgcXVlIGRldmVtb3MgZGVmaW5pLWxvIGNvbW8gYXRpdm8gZSByb2xhciBwYXJhIG8gdG9wby5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmlyc3RPcHRpb25Jc0NoYW5nZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgIWtleU1hbmFnZXIuYWN0aXZlSXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCAhb3B0aW9ucy5maW5kKChvcHRpb246IE1hdE9wdGlvbik6IGJvb2xlYW4gPT4gdGhpcy5tYXRTZWxlY3QuY29tcGFyZVdpdGgob3B0aW9uLCBrZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0pKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXlNYW5hZ2VyLnNldEZpcnN0SXRlbUFjdGl2ZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEFndWFyZGUgYXMgYWx0ZXJhw6fDtWVzIG5hIGxhcmd1cmEgZG8gcGFpbmVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKTogdm9pZCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlSW5wdXRXaWR0aCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBBdHVhbGl6ZSBub3NzYSByZWZlcsOqbmNpYVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJldmlvdXNGaXJzdE9wdGlvbiA9IGN1cnJlbnRGaXJzdE9wdGlvbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgICAgIC8vIEFkaWNpb25lIG91IHJlbW92YSBhIGNsYXNzZSBjc3MgZGVwZW5kZW5kbyBzZSBkZXNlamEgbW9zdHJhciBhIG1lbnNhZ2VtIHNlbSBlbnRyYWRhcyBlbmNvbnRyYWRhc1xuICAgICAgICAvLyBvYnM6IGlzc28gw6kgaGFja3lcbiAgICAgICAgdGhpcy5fc2hvd05vRW50cmllc0ZvdW5kJC5waXBlKFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSlcbiAgICAgICAgKS5zdWJzY3JpYmUoKHNob3dOb0VudHJpZXNGb3VuZDogYm9vbGVhbik6IHZvaWQgPT4ge1xuICAgICAgICAgICAgLy8gRGVmaW5pciBuZW5odW1hIGNsYXNzZSBkZSBlbnRyYWRhIGVuY29udHJhZGEgbmEgbWF0LW9wdGlvblxuICAgICAgICAgICAgaWYgKHRoaXMubWF0T3B0aW9uKSB7XG4gICAgICAgICAgICAgICAgaWYgKHNob3dOb0VudHJpZXNGb3VuZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm1hdE9wdGlvbi5fZ2V0SG9zdEVsZW1lbnQoKS5jbGFzc0xpc3QuYWRkKCdtYXQtc2VsZWN0LXNlYXJjaC1uby1lbnRyaWVzLWZvdW5kJyk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tYXRPcHRpb24uX2dldEhvc3RFbGVtZW50KCkuY2xhc3NMaXN0LnJlbW92ZSgnbWF0LXNlbGVjdC1zZWFyY2gtbm8tZW50cmllcy1mb3VuZCcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gUmVkaW1lbnNpb25lIGEgbGFyZ3VyYSBkZSBlbnRyYWRhIHF1YW5kbyBhIHZpZXdwb3J0IGZvciByZWRpbWVuc2lvbmFkYSxcbiAgICAgICAgLy8gb3Ugc2VqYSwgYSBsYXJndXJhIGRvIGFjaW9uYWRvciBwb2RlIHNlciByZWRpbWVuc2lvbmFkYS5cbiAgICAgICAgdGhpcy5fdmlld3BvcnRSdWxlci5jaGFuZ2UoKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpOiB2b2lkID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5tYXRTZWxlY3QucGFuZWxPcGVuKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlSW5wdXRXaWR0aCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMub3B0aW9uc0xpc3QkLnBpcGUoXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95KVxuICAgICAgICApLnN1YnNjcmliZSgoKTogdm9pZCA9PiB7XG4gICAgICAgICAgICAvLyBBdHVhbGl6YXIgdmlzdWFsaXphw6fDo28gcXVhbmRvIGFzIG9ww6fDtWVzIGRpc3BvbsOtdmVpcyBtdWRhcmVtXG4gICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnNlYXJjaGluZykge1xuICAgICAgICAgICAgdGhpcy5fZm9ybUNvbnRyb2wuZGlzYWJsZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fZm9ybUNvbnRyb2wuZW5hYmxlKCk7XG4gICAgICAgICAgICB0aGlzLl9mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX29uRGVzdHJveS5uZXh0KCk7XG4gICAgICAgIHRoaXMuX29uRGVzdHJveS5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIG9uVG91Y2hlZDogRnVuY3Rpb24gPSAoXzogYW55KTogdm9pZCA9PiB7IH07XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IHN0cmluZykgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9mb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgICAgICAgIGZpbHRlcigodmFsdWU6IGFueSk6IGJvb2xlYW4gPT4gdmFsdWUgIT09IHRoaXMuX2xhc3RFeHRlcm5hbElucHV0VmFsdWUpLFxuICAgICAgICAgICAgdGFwKCgpOiBhbnkgPT4gdGhpcy5fbGFzdEV4dGVybmFsSW5wdXRWYWx1ZSA9IHVuZGVmaW5lZCksXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95KVxuICAgICAgICApLnN1YnNjcmliZShmbik7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IEZ1bmN0aW9uKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2xhc3RFeHRlcm5hbElucHV0VmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5fZm9ybUNvbnRyb2wuc2V0VmFsdWUodmFsdWUpO1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1hbmlwdWxhIG8gZXZlbnRvIGRlIHRlY2xhIHByZXNzaW9uYWRhIGNvbSBNYXRTZWxlY3QuXG4gICAgICogUGVybWl0ZSwgcG9yIGV4LiBzZWxlY2lvbmFuZG8gY29tIGEgdGVjbGEgZW50ZXIsIG5hdmVnYW5kbyBjb20gYXMgdGVjbGFzIGRlIHNldGEsIGV0Yy5cbiAgICAgKiBAcGFyYW0gZXZlbnRcbiAgICAgKi9cbiAgICBfaGFuZGxlS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICAvLyBFdml0ZSBhIHByb3BhZ2HDp8OjbyBkZSB0b2RvcyBvcyBjYXJhY3RlcmVzIGFsZmFudW3DqXJpY29zIHBhcmEgZXZpdGFyIHByb2JsZW1hcyBkZSBzZWxlw6fDo29cbiAgICAgICAgaWYgKChldmVudC5rZXkgJiYgZXZlbnQua2V5Lmxlbmd0aCA9PT0gMSkgfHxcbiAgICAgICAgICAgIChldmVudC5rZXlDb2RlID49IEEgJiYgZXZlbnQua2V5Q29kZSA8PSBaKSB8fFxuICAgICAgICAgICAgKGV2ZW50LmtleUNvZGUgPj0gWkVSTyAmJiBldmVudC5rZXlDb2RlIDw9IE5JTkUpIHx8XG4gICAgICAgICAgICAoZXZlbnQua2V5Q29kZSA9PT0gU1BBQ0UpXG4gICAgICAgICAgICB8fCAodGhpcy5wcmV2ZW50SG9tZUVuZEtleVByb3BhZ2F0aW9uICYmIChldmVudC5rZXlDb2RlID09PSBIT01FIHx8IGV2ZW50LmtleUNvZGUgPT09IEVORCkpXG4gICAgICAgICkge1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5tYXRTZWxlY3QubXVsdGlwbGUgJiYgZXZlbnQua2V5ICYmIGV2ZW50LmtleUNvZGUgPT09IEVOVEVSKSB7XG4gICAgICAgICAgICAvLyBSZWN1cGVyZSBvIGZvY28gYXDDs3MgYSBzZWxlw6fDo28gbcO6bHRpcGxhLCBwYXJhIHF1ZSBwb3NzYW1vcyBkaWdpdGFyIGFpbmRhIG1haXNcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCk6IHZvaWQgPT4gdGhpcy5fZm9jdXMoKSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDYXNvIGVzcGVjaWFsLCBzZSBjbGljYXIgZW0gRXNjYXBlLCBzZSBhIGVudHJhZGEgZXN0aXZlciB2YXppYSwgZmVjaGUgbyBtZW51IHN1c3BlbnNvLCBjYXNvIGNvbnRyw6FyaW8sIGVzdmF6aWUgbyBjYW1wbyBkZSBwZXNxdWlzYVxuICAgICAgICBpZiAodGhpcy5lbmFibGVDbGVhck9uRXNjYXBlUHJlc3NlZCA9PT0gdHJ1ZSAmJiBldmVudC5rZXlDb2RlID09PSBFU0NBUEUgJiYgdGhpcy52YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5fcmVzZXQodHJ1ZSk7XG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1hbmlwdWxhIG8gZXZlbnRvIGRlIGF0aXZhw6fDo28gZGUgY2hhdmUgY29tIE1hdFNlbGVjdC5cbiAgICAgKiBQZXJtaXRlLCBwb3IgZXguIG8gYW7Dum5jaW8gZG8gRGVzY2VuZGVudGUgYXR1YWxtZW50ZSBhdGl2byBwb3IgbGVpdG9yZXMgZGUgdGVsYS5cbiAgICAgKi9cbiAgICBfaGFuZGxlS2V5dXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKGV2ZW50LmtleUNvZGUgPT09IFVQX0FSUk9XIHx8IGV2ZW50LmtleUNvZGUgPT09IERPV05fQVJST1cpIHtcbiAgICAgICAgICAgIGNvbnN0IGFyaWFBY3RpdmVEZXNjZW5kYW50SWQ6IHN0cmluZyA9IHRoaXMubWF0U2VsZWN0Ll9nZXRBcmlhQWN0aXZlRGVzY2VuZGFudCgpO1xuICAgICAgICAgICAgY29uc3QgaW5kZXg6IG51bWJlciA9IHRoaXMuX29wdGlvbnMudG9BcnJheSgpLmZpbmRJbmRleCgoaXRlbTogTWF0T3B0aW9uKTogYm9vbGVhbiA9PiBpdGVtLmlkID09PSBhcmlhQWN0aXZlRGVzY2VuZGFudElkKTtcbiAgICAgICAgICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVuc2VsZWN0QWN0aXZlRGVzY2VuZGFudCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlRGVzY2VuZGFudCA9IHRoaXMuX29wdGlvbnMudG9BcnJheSgpW2luZGV4XS5fZ2V0SG9zdEVsZW1lbnQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZURlc2NlbmRhbnQuc2V0QXR0cmlidXRlKCdhcmlhLXNlbGVjdGVkJywgJ3RydWUnKTtcbiAgICAgICAgICAgICAgICB0aGlzLnNlYXJjaFNlbGVjdElucHV0Lm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKCdhcmlhLWFjdGl2ZWRlc2NlbmRhbnQnLCBhcmlhQWN0aXZlRGVzY2VuZGFudElkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQmx1cigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51bnNlbGVjdEFjdGl2ZURlc2NlbmRhbnQoKTtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGb2NhbGl6YSBvIGNhbXBvIGRlIGVudHJhZGEgZGUgcGVzcXVpc2FcbiAgICAgKi9cbiAgICBwdWJsaWMgX2ZvY3VzKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuc2VhcmNoU2VsZWN0SW5wdXQgfHwgIXRoaXMubWF0U2VsZWN0LnBhbmVsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy8gc2FsdmUgZSByZXN0YXVyZSBvIHNjcm9sbFRvcCBkbyBwYWluZWwsIHBvaXMgc2Vyw6EgcmVkZWZpbmlkbyBwb3IgZm9jdXMgKClcbiAgICAgICAgLy8gb2JzOiBpc3NvIMOpIGhhY2t5XG4gICAgICAgIGNvbnN0IHBhbmVsOiBhbnkgPSB0aGlzLm1hdFNlbGVjdC5wYW5lbC5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCBzY3JvbGxUb3A6IGFueSA9IHBhbmVsLnNjcm9sbFRvcDtcblxuICAgICAgICAvLyBTZXRhIG8gZm9jb1xuICAgICAgICB0aGlzLnNlYXJjaFNlbGVjdElucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcblxuICAgICAgICBwYW5lbC5zY3JvbGxUb3AgPSBzY3JvbGxUb3A7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVkZWZpbmUgbyB2YWxvciBkZSBwZXNxdWlzYSBhdHVhbFxuICAgICAqIEBwYXJhbSBmb2N1cyBzZSBkZXZlIGZvY2FyIGFww7NzIGEgcmVkZWZpbmnDp8Ojb1xuICAgICAqL1xuICAgIHB1YmxpYyBfcmVzZXQoZm9jdXM/OiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2Zvcm1Db250cm9sLnNldFZhbHVlKCcnKTtcbiAgICAgICAgaWYgKGZvY3VzKSB7XG4gICAgICAgICAgICB0aGlzLl9mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogIERlZmluYSBhIGxhcmd1cmEgZG8gaW5uZXJTZWxlY3RTZWFyY2ggcGFyYSBhanVzdGFyIGF0w6kgbWVzbW8gYXMgYmFycmFzIGRlIHJvbGFnZW0gcGVyc29uYWxpemFkYXNcbiAgICAgKiAgRSBhcG9pYXIgdG9kb3Mgb3Mgc2lzdGVtYXMgZGUgb3BlcmHDp8Ojb1xuICAgICAqL1xuICAgIHB1YmxpYyB1cGRhdGVJbnB1dFdpZHRoKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaW5uZXJTZWxlY3RTZWFyY2ggfHwgIXRoaXMuaW5uZXJTZWxlY3RTZWFyY2gubmF0aXZlRWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGxldCBlbGVtZW50OiBIVE1MRWxlbWVudCA9IHRoaXMuaW5uZXJTZWxlY3RTZWFyY2gubmF0aXZlRWxlbWVudDtcbiAgICAgICAgbGV0IHBhbmVsRWxlbWVudDogSFRNTEVsZW1lbnQ7XG4gICAgICAgIHdoaWxlIChlbGVtZW50ID0gZWxlbWVudC5wYXJlbnRFbGVtZW50KSB7XG4gICAgICAgICAgICBpZiAoZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ21hdC1zZWxlY3QtcGFuZWwnKSkge1xuICAgICAgICAgICAgICAgIHBhbmVsRWxlbWVudCA9IGVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHBhbmVsRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5pbm5lclNlbGVjdFNlYXJjaC5uYXRpdmVFbGVtZW50LnN0eWxlLndpZHRoID0gcGFuZWxFbGVtZW50LmNsaWVudFdpZHRoICsgJ3B4JztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERldGVybWluZSBvIGRlc2xvY2FtZW50byBwYXJhIG8gY29tcHJpbWVudG8gcXVlIHBvZGUgc2VyIGNhdXNhZG8gcGVsbyBtYXRPcHRpb24gb3BjaW9uYWwgdXNhZG8gY29tbyB1bWEgZW50cmFkYSBkZSBwZXNxdWlzYS5cbiAgICAgKi9cbiAgICBwcml2YXRlIGdldE9wdGlvbnNMZW5ndGhPZmZzZXQoKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKHRoaXMubWF0T3B0aW9uKSB7XG4gICAgICAgICAgICByZXR1cm4gMTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1bnNlbGVjdEFjdGl2ZURlc2NlbmRhbnQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmFjdGl2ZURlc2NlbmRhbnQpIHtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlRGVzY2VuZGFudC5yZW1vdmVBdHRyaWJ1dGUoJ2FyaWEtc2VsZWN0ZWQnKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNlYXJjaFNlbGVjdElucHV0Lm5hdGl2ZUVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCdhcmlhLWFjdGl2ZWRlc2NlbmRhbnQnKTtcbiAgICB9XG5cbn1cbiJdfQ==
|
374
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtc2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BnaXBpc2lzdGVtYXMvbmctY29yZS8iLCJzb3VyY2VzIjpbInNoYXJlZC9naXBpLWNvbXBvbmVudHMvaW5wdXQtc2VsZWN0LXBhZ2VkL2lucHV0LXNlYXJjaC9pbnB1dC1zZWFyY2guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EsT0FBTyxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNoSCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2TixPQUFPLEVBQXdCLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxlQUFlLEVBQWMsT0FBTyxFQUFFLGFBQWEsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0UsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQW1CaEcsSUFBYSx3QkFB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QUFFO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFvQyxFQUFFLENBQUMsMEJBQXdCLENBQUM7Z0JBQ3hGLEtBQUssRUFBRSxJQUFJO2FBQ2Q7U0FDSjtRQUNELElBQUksRUFBRTtZQUNGLE9BQU8sRUFBRSxtQkFBbUI7U0FDL0I7UUFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7S0FDbEQsQ0FBQztJQXVGTyxXQUFBLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUdqQixXQUFBLFFBQVEsRUFBRSxDQUFBLEVBQUUsV0FBQSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDN0IsV0FBQSxRQUFRLEVBQUUsQ0FBQSxFQUFFLFdBQUEsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFBO3FDQUpJLFNBQVM7UUFDcEIsaUJBQWlCO1FBQ25CLGFBQWE7UUFDWSxTQUFTO1FBQ0gsWUFBWTtHQTFGOUQsd0JBQXdCLENBZ1hwQztTQWhYWSx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3RpdmVEZXNjZW5kYW50S2V5TWFuYWdlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IEEsIERPV05fQVJST1csIEVORCwgRU5URVIsIEVTQ0FQRSwgSE9NRSwgTklORSwgU1BBQ0UsIFVQX0FSUk9XLCBaLCBaRVJPIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcbmltcG9ydCB7IFZpZXdwb3J0UnVsZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgSW5qZWN0LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3B0aW9uYWwsIFF1ZXJ5TGlzdCwgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkLCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUNvbnRyb2wsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkLCBNYXRPcHRpb24sIE1hdFNlbGVjdCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgY29tYmluZUxhdGVzdCwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlbGF5LCBmaWx0ZXIsIG1hcCwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAsIHRha2UsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogYGdpcGktaW5wdXQtc2VhcmNoYCxcbiAgICBleHBvcnRBczogJ2dpcGlJbnB1dFNlYXJjaCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LXNlYXJjaC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtc2VhcmNoLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCk6IHR5cGVvZiBHSVBJSW5wdXRTZWFyY2hDb21wb25lbnQgPT4gR0lQSUlucHV0U2VhcmNoQ29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH1cbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ2NsYXNzJzogJ2dpcGktaW5wdXQtc2VhcmNoJyxcbiAgICB9LFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEdJUElJbnB1dFNlYXJjaENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcblxuICAgIC8vIFZhbG9yIGRlIHBlc3F1aXNhIGF0dWFsXG4gICAgZ2V0IHZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9mb3JtQ29udHJvbC52YWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9sYXN0RXh0ZXJuYWxJbnB1dFZhbHVlOiBzdHJpbmc7XG5cbiAgICAvLyBSZWZlcsOqbmNpYSDDoHMgb3DDp8O1ZXMgTWF0U2VsZWN0XG4gICAgcHVibGljIF9vcHRpb25zJDogQmVoYXZpb3JTdWJqZWN0PFF1ZXJ5TGlzdDxNYXRPcHRpb24+PiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UXVlcnlMaXN0PE1hdE9wdGlvbj4+KG51bGwpO1xuICAgIHB1YmxpYyBzZXQgX29wdGlvbnMoX29wdGlvbnM6IFF1ZXJ5TGlzdDxNYXRPcHRpb24+KSB7XG4gICAgICAgIHRoaXMuX29wdGlvbnMkLm5leHQoX29wdGlvbnMpO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IF9vcHRpb25zKCk6IFF1ZXJ5TGlzdDxNYXRPcHRpb24+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX29wdGlvbnMkLmdldFZhbHVlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvcHRpb25zTGlzdCQ6IE9ic2VydmFibGU8TWF0T3B0aW9uW10+ID0gdGhpcy5fb3B0aW9ucyQucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKChfb3B0aW9uczogUXVlcnlMaXN0PE1hdE9wdGlvbj4pOiBPYnNlcnZhYmxlPGFueT4gPT4gX29wdGlvbnNcbiAgICAgICAgICAgID8gX29wdGlvbnMuY2hhbmdlcy5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgob3B0aW9uczogYW55KTogYW55ID0+IG9wdGlvbnMudG9BcnJheSgpKSxcbiAgICAgICAgICAgICAgICBzdGFydFdpdGg8TWF0T3B0aW9uW10+KF9vcHRpb25zLnRvQXJyYXkoKSksKVxuICAgICAgICAgICAgOiBvZihudWxsKVxuICAgICAgICApXG4gICAgKTtcblxuICAgIHByaXZhdGUgb3B0aW9uc0xlbmd0aCQ6IE9ic2VydmFibGU8bnVtYmVyPiA9IHRoaXMub3B0aW9uc0xpc3QkLnBpcGUoXG4gICAgICAgIG1hcCgob3B0aW9uczogTWF0T3B0aW9uW10pOiBudW1iZXIgPT4gb3B0aW9ucyA/IG9wdGlvbnMubGVuZ3RoIDogMClcbiAgICApO1xuXG4gICAgcHVibGljIF9mb3JtQ29udHJvbDogRm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJycpO1xuXG4gICAgLy8gU2UgZGV2ZSBtb3N0cmFyIGEgbWVuc2FnZW0gc2VtIGVudHJhZGFzIGVuY29udHJhZGFzXG4gICAgcHVibGljIF9zaG93Tm9FbnRyaWVzRm91bmQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gY29tYmluZUxhdGVzdChbXG4gICAgICAgIHRoaXMuX2Zvcm1Db250cm9sLnZhbHVlQ2hhbmdlcyxcbiAgICAgICAgdGhpcy5vcHRpb25zTGVuZ3RoJFxuICAgIF0pLnBpcGUoXG4gICAgICAgIG1hcCgoW3ZhbHVlLCBvcHRpb25zTGVuZ3RoXTogW2FueSwgbnVtYmVyXSk6IGJvb2xlYW4gPT4gdmFsdWUgJiYgb3B0aW9uc0xlbmd0aCA9PT0gdGhpcy5nZXRPcHRpb25zTGVuZ3RoT2Zmc2V0KCkpXG4gICAgKTtcblxuICAgIC8vIFN1YmplY3QgZW1pdGlkbyBxdWFuZG8gbyBjb21wb25lbnRlIGZvaSBkZXN0cnXDrWRvXG4gICAgcHJpdmF0ZSBfb25EZXN0cm95OiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8vIFJlZmVyw6puY2lhIGFvIGRlc2NlbmRlbnRlIGF0aXZvIHBhcmEgc3Vwb3J0ZSBBUklBLlxuICAgIHByaXZhdGUgYWN0aXZlRGVzY2VuZGFudDogSFRNTEVsZW1lbnQ7XG5cbiAgICBASW5wdXQoKSBwbGFjZWhvbGRlckxhYmVsOiBzdHJpbmcgPSAnUGVzcXVpc2FyJztcblxuICAgIEBJbnB1dCgpIGNsZWFyU2VhcmNoSW5wdXQ6IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgLy8gU2UgZGV2ZSBtb3N0cmFyIG8gaW5kaWNhZG9yIGRlIHBlc3F1aXNhIGVtIGFuZGFtZW50b1xuICAgIEBJbnB1dCgpIHNlYXJjaGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLy8gRGVzYXRpdmEgbyBmb2NvIGluaWNpYWwgZG8gY2FtcG8gZGUgZW50cmFkYVxuICAgIEBJbnB1dCgpIGRpc2FibGVJbml0aWFsRm9jdXM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8vIEF0aXZhciBsaW1wYXIgaW5wdXQgYW8gcHJlc3Npb25hciBlc2NhcGVcbiAgICBASW5wdXQoKSBlbmFibGVDbGVhck9uRXNjYXBlUHJlc3NlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogSW1wZWRlIHF1ZSBhIGNoYXZlIGhvbWUvZW5kIHNlamEgcHJvcGFnYWRhIHBhcmEgbWF0LXNlbGVjdCxcbiAgICAgKiBwZXJtaXRpbmRvIG1vdmVyIG8gY3Vyc29yIGRlbnRybyBkYSBlbnRyYWRhIGRlIHBlc3F1aXNhIGVtIHZleiBkZSBuYXZlZ2FyIHBlbGFzIG9ww6fDtWVzXG4gICAgICovXG4gICAgQElucHV0KCkgcHJldmVudEhvbWVFbmRLZXlQcm9wYWdhdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLy8gRGVzYXRpdmEgYSByb2xhZ2VtIHBhcmEgYXMgb3DDp8O1ZXMgYXRpdmFzIHF1YW5kbyBhIGxpc3RhIGRlIG9ww6fDtWVzIMOpIGFsdGVyYWRhLiDDmnRpbCBwYXJhIHBlc3F1aXNhIGRvIGxhZG8gZG8gc2Vydmlkb3JcbiAgICBASW5wdXQoKSBkaXNhYmxlU2Nyb2xsVG9BY3RpdmVPbk9wdGlvbnNDaGFuZ2VkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvLyBNb3N0cmFyL29jdWx0YXIgbyBib3TDo28gbGltcGFyIHBlc3F1aXNhIGRhIGVudHJhZGEgZGUgcGVzcXVpc2FcbiAgICBASW5wdXQoKSBoaWRlQ2xlYXJTZWFyY2hCdXR0b246IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8vIFJlZmVyw6puY2lhIGFvIGNhbXBvIGRlIGVudHJhZGEgZGUgcGVzcXVpc2FcbiAgICBAVmlld0NoaWxkKCdzZWFyY2hTZWxlY3RJbnB1dCcsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiB0cnVlIH0pIHNlYXJjaFNlbGVjdElucHV0OiBFbGVtZW50UmVmO1xuXG4gICAgLy8gUmVmZXLDqm5jaWEgYW8gY2FtcG8gZGUgZW50cmFkYSBkZSBwZXNxdWlzYVxuICAgIEBWaWV3Q2hpbGQoJ2lubmVyU2VsZWN0U2VhcmNoJywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWUgfSkgaW5uZXJTZWxlY3RTZWFyY2g6IEVsZW1lbnRSZWY7XG5cbiAgICAvLyBBZGljaW9uYSBhIGNsYXNzZSBtYXQtc2VsZWN0LXNlYXJjaC1pbnNpZGUtbWF0LW9wdGlvbiBzZSBvIGl0c3MtaW5wdXQtc2VhcmNoIGVzdGl2ZXJcbiAgICAvLyBkZW50cm8gZG8gbWF0LW9wdGlvblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MubWF0LXNlbGVjdC1zZWFyY2gtaW5zaWRlLW1hdC1vcHRpb24nKVxuICAgIGdldCBpc0luc2lkZU1hdE9wdGlvbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5tYXRPcHRpb247XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoTWF0U2VsZWN0KSBwdWJsaWMgbWF0U2VsZWN0OiBNYXRTZWxlY3QsXG4gICAgICAgIHB1YmxpYyBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgX3ZpZXdwb3J0UnVsZXI6IFZpZXdwb3J0UnVsZXIsXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTWF0T3B0aW9uKSBwdWJsaWMgbWF0T3B0aW9uOiBNYXRPcHRpb24gPSBudWxsLFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE1hdEZvcm1GaWVsZCkgcHVibGljIG1hdEZvcm1GaWVsZDogTWF0Rm9ybUZpZWxkID0gbnVsbCxcbiAgICApIHsgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIC8vIERlZmluaXIgY2xhc3NlIGRlIG9ww6fDo28gbWF0IHBlcnNvbmFsaXphZGEgc2UgbyBjb21wb25lbnRlIGZvaSBjb2xvY2FkbyBkZW50cm8gZGUgdW1hIG9ww6fDo28gbWF0XG4gICAgICAgIGlmICh0aGlzLm1hdE9wdGlvbikge1xuICAgICAgICAgICAgdGhpcy5tYXRPcHRpb24uZGlzYWJsZWQgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5tYXRPcHRpb24uX2dldEhvc3RFbGVtZW50KCkuY2xhc3NMaXN0LmFkZCgnY29udGFpbnMtbWF0LXNlbGVjdC1zZWFyY2gnKTtcbiAgICAgICAgICAgIHRoaXMubWF0T3B0aW9uLl9nZXRIb3N0RWxlbWVudCgpLnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCAndHJ1ZScpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignPGdpcGktc2VsZWN0LXNlYXJjaD4gZGV2ZSBzZXIgY29sb2NhZG8gZGVudHJvIGRlIHVtIGVsZW1lbnRvIDxtYXQtb3B0aW9uPicpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUXVhbmRvIG8gcGFpbmVsIHN1c3BlbnNvIGRlIHNlbGXDp8OjbyDDqSBhYmVydG8gb3UgZmVjaGFkb1xuICAgICAgICB0aGlzLm1hdFNlbGVjdC5vcGVuZWRDaGFuZ2VcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGRlbGF5KDEpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChvcGVuZWQ6IGJvb2xlYW4pOiB2b2lkID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3BlbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlSW5wdXRXaWR0aCgpO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIEZvY2FyIG8gY2FtcG8gZGUgcGVzcXVpc2EgYW8gYWJyaXJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVJbml0aWFsRm9jdXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2ZvY3VzKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAvLyBMaW1ww6EtbG8gYW8gZmVjaGFyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmNsZWFyU2VhcmNoSW5wdXQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3Jlc2V0KCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAvLyBEZWZpbmlyIG8gcHJpbWVpcm8gaXRlbSBhdGl2byBhcMOzcyBhcyBvcMOnw7VlcyBhbHRlcmFkYXNcbiAgICAgICAgdGhpcy5tYXRTZWxlY3Qub3BlbmVkQ2hhbmdlXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoKTogT2JzZXJ2YWJsZTxhbnk+ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fb3B0aW9ucyA9IHRoaXMubWF0U2VsZWN0Lm9wdGlvbnM7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gVmFyacOhdmVsIGRlIGZlY2hhbWVudG8gcGFyYSByYXN0cmVhciBhIHByaW1laXJhIG9ww6fDo28gbWFpcyByZWNlbnRlLlxuICAgICAgICAgICAgICAgICAgICAvLyBQYXJhIGV2aXRhciBxdWUgYSBsaXN0YSByb2xlIHBhcmEgbyB0b3BvIHF1YW5kbyBhcyBvcMOnw7VlcyBzw6NvIGFkaWNpb25hZGFzIGFvIGZpbmFsIGRhIGxpc3RhXG4gICAgICAgICAgICAgICAgICAgIC8vIChwb3IgZXhlbXBsbzogcm9sYWdlbSBpbmZpbml0YSksIGNvbXBhcmFtb3MgYXBlbmFzIGFzIGFsdGVyYcOnw7VlcyBuYXMgcHJpbWVpcmFzIG9ww6fDtWVzIHBhcmFcbiAgICAgICAgICAgICAgICAgICAgLy8gZGV0ZXJtaW5hciBzZSBkZXZlbW9zIGRlZmluaXIgbyBwcmltZWlybyBpdGVtIGNvbW8gYXRpdm8uIElzc28gZXZpdGEgYSByb2xhZ2VtIGRlc25lY2Vzc8OhcmlhXG4gICAgICAgICAgICAgICAgICAgIC8vIHBhcmEgbyB0b3BvIGRhIGxpc3RhIHF1YW5kbyBhcyBvcMOnw7VlcyBzw6NvIGFuZXhhZGFzLCBtYXMgcGVybWl0ZSBxdWUgbyBwcmltZWlybyBpdGVtIGRhIGxpc3RhXG4gICAgICAgICAgICAgICAgICAgIC8vIHNlamEgZGVmaW5pZG8gY29tbyBhdGl2byBwb3IgcGFkcsOjbyBxdWFuZG8gbsOjbyBow6Egc2VsZcOnw6NvIGF0aXZhLlxuICAgICAgICAgICAgICAgICAgICBsZXQgcHJldmlvdXNGaXJzdE9wdGlvbjogTWF0T3B0aW9uID0gdGhpcy5fb3B0aW9ucy50b0FycmF5KClbdGhpcy5nZXRPcHRpb25zTGVuZ3RoT2Zmc2V0KCldO1xuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9vcHRpb25zLmNoYW5nZXNcbiAgICAgICAgICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcCgoKTogdm9pZCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEV2aXRhciBvIGVycm8gXCJleHByZXNzaW9uIGhhcyBiZWVuIGNoYW5nZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpOiB2b2lkID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIENvbnZlcnRlciBhIFF1ZXJ5TGlzdCBlbSB1bWEgbWF0cml6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBvcHRpb25zOiBNYXRPcHRpb25bXSA9IHRoaXMuX29wdGlvbnMudG9BcnJheSgpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBPIHZlcmRhZGVpcm8gcHJpbWVpcm8gaXRlbSDDqSBjb21wZW5zYWRvIHBvciAxXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjdXJyZW50Rmlyc3RPcHRpb246IE1hdE9wdGlvbiA9IG9wdGlvbnNbdGhpcy5nZXRPcHRpb25zTGVuZ3RoT2Zmc2V0KCldO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBrZXlNYW5hZ2VyOiBBY3RpdmVEZXNjZW5kYW50S2V5TWFuYWdlcjxNYXRPcHRpb24+ID0gdGhpcy5tYXRTZWxlY3QuX2tleU1hbmFnZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoa2V5TWFuYWdlciAmJiB0aGlzLm1hdFNlbGVjdC5wYW5lbE9wZW4pIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIERlZmluaXIgcHJpbWVpcm8gaXRlbSBhdGl2byBlIGxhcmd1cmEgZGUgZW50cmFkYVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVmVyaWZpcXVlIHNlIGEgcHJpbWVpcmEgb3DDp8OjbyBuZXNzYXMgYWx0ZXJhw6fDtWVzIMOpIGRpZmVyZW50ZSBkYSBhbnRlcmlvci5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmaXJzdE9wdGlvbklzQ2hhbmdlZDogYm9vbGVhbiA9ICF0aGlzLm1hdFNlbGVjdC5jb21wYXJlV2l0aChwcmV2aW91c0ZpcnN0T3B0aW9uLCBjdXJyZW50Rmlyc3RPcHRpb24pO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ0FTTzogQSBwcmltZWlyYSBvcMOnw6NvIMOpIGRpZmVyZW50ZSBhZ29yYS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBJbmRpY2EgcXVlIGRldmVtb3MgZGVmaW5pLWxvIGNvbW8gYXRpdm8gZSByb2xhciBwYXJhIG8gdG9wby5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmlyc3RPcHRpb25Jc0NoYW5nZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgIWtleU1hbmFnZXIuYWN0aXZlSXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCAhb3B0aW9ucy5maW5kKChvcHRpb246IE1hdE9wdGlvbik6IGJvb2xlYW4gPT4gdGhpcy5tYXRTZWxlY3QuY29tcGFyZVdpdGgob3B0aW9uLCBrZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0pKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXlNYW5hZ2VyLnNldEZpcnN0SXRlbUFjdGl2ZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEFndWFyZGUgYXMgYWx0ZXJhw6fDtWVzIG5hIGxhcmd1cmEgZG8gcGFpbmVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKTogdm9pZCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlSW5wdXRXaWR0aCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBBdHVhbGl6ZSBub3NzYSByZWZlcsOqbmNpYVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJldmlvdXNGaXJzdE9wdGlvbiA9IGN1cnJlbnRGaXJzdE9wdGlvbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgICAgIC8vIEFkaWNpb25lIG91IHJlbW92YSBhIGNsYXNzZSBjc3MgZGVwZW5kZW5kbyBzZSBkZXNlamEgbW9zdHJhciBhIG1lbnNhZ2VtIHNlbSBlbnRyYWRhcyBlbmNvbnRyYWRhc1xuICAgICAgICAvLyBvYnM6IGlzc28gw6kgaGFja3lcbiAgICAgICAgdGhpcy5fc2hvd05vRW50cmllc0ZvdW5kJC5waXBlKFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSlcbiAgICAgICAgKS5zdWJzY3JpYmUoKHNob3dOb0VudHJpZXNGb3VuZDogYm9vbGVhbik6IHZvaWQgPT4ge1xuICAgICAgICAgICAgLy8gRGVmaW5pciBuZW5odW1hIGNsYXNzZSBkZSBlbnRyYWRhIGVuY29udHJhZGEgbmEgbWF0LW9wdGlvblxuICAgICAgICAgICAgaWYgKHRoaXMubWF0T3B0aW9uKSB7XG4gICAgICAgICAgICAgICAgaWYgKHNob3dOb0VudHJpZXNGb3VuZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm1hdE9wdGlvbi5fZ2V0SG9zdEVsZW1lbnQoKS5jbGFzc0xpc3QuYWRkKCdtYXQtc2VsZWN0LXNlYXJjaC1uby1lbnRyaWVzLWZvdW5kJyk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tYXRPcHRpb24uX2dldEhvc3RFbGVtZW50KCkuY2xhc3NMaXN0LnJlbW92ZSgnbWF0LXNlbGVjdC1zZWFyY2gtbm8tZW50cmllcy1mb3VuZCcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gUmVkaW1lbnNpb25lIGEgbGFyZ3VyYSBkZSBlbnRyYWRhIHF1YW5kbyBhIHZpZXdwb3J0IGZvciByZWRpbWVuc2lvbmFkYSxcbiAgICAgICAgLy8gb3Ugc2VqYSwgYSBsYXJndXJhIGRvIGFjaW9uYWRvciBwb2RlIHNlciByZWRpbWVuc2lvbmFkYS5cbiAgICAgICAgdGhpcy5fdmlld3BvcnRSdWxlci5jaGFuZ2UoKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpOiB2b2lkID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5tYXRTZWxlY3QucGFuZWxPcGVuKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlSW5wdXRXaWR0aCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMub3B0aW9uc0xpc3QkLnBpcGUoXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95KVxuICAgICAgICApLnN1YnNjcmliZSgoKTogdm9pZCA9PiB7XG4gICAgICAgICAgICAvLyBBdHVhbGl6YXIgdmlzdWFsaXphw6fDo28gcXVhbmRvIGFzIG9ww6fDtWVzIGRpc3BvbsOtdmVpcyBtdWRhcmVtXG4gICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnNlYXJjaGluZykge1xuICAgICAgICAgICAgdGhpcy5fZm9ybUNvbnRyb2wuZGlzYWJsZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fZm9ybUNvbnRyb2wuZW5hYmxlKCk7XG4gICAgICAgICAgICB0aGlzLl9mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX29uRGVzdHJveS5uZXh0KCk7XG4gICAgICAgIHRoaXMuX29uRGVzdHJveS5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIG9uVG91Y2hlZDogRnVuY3Rpb24gPSAoXzogYW55KTogdm9pZCA9PiB7IH07XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IHN0cmluZykgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9mb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgICAgICAgIGZpbHRlcigodmFsdWU6IGFueSk6IGJvb2xlYW4gPT4gdmFsdWUgIT09IHRoaXMuX2xhc3RFeHRlcm5hbElucHV0VmFsdWUpLFxuICAgICAgICAgICAgdGFwKCgpOiBhbnkgPT4gdGhpcy5fbGFzdEV4dGVybmFsSW5wdXRWYWx1ZSA9IHVuZGVmaW5lZCksXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95KVxuICAgICAgICApLnN1YnNjcmliZShmbik7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IEZ1bmN0aW9uKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2xhc3RFeHRlcm5hbElucHV0VmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5fZm9ybUNvbnRyb2wuc2V0VmFsdWUodmFsdWUpO1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1hbmlwdWxhIG8gZXZlbnRvIGRlIHRlY2xhIHByZXNzaW9uYWRhIGNvbSBNYXRTZWxlY3QuXG4gICAgICogUGVybWl0ZSwgcG9yIGV4LiBzZWxlY2lvbmFuZG8gY29tIGEgdGVjbGEgZW50ZXIsIG5hdmVnYW5kbyBjb20gYXMgdGVjbGFzIGRlIHNldGEsIGV0Yy5cbiAgICAgKiBAcGFyYW0gZXZlbnRcbiAgICAgKi9cbiAgICBfaGFuZGxlS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICAvLyBFdml0ZSBhIHByb3BhZ2HDp8OjbyBkZSB0b2RvcyBvcyBjYXJhY3RlcmVzIGFsZmFudW3DqXJpY29zIHBhcmEgZXZpdGFyIHByb2JsZW1hcyBkZSBzZWxlw6fDo29cbiAgICAgICAgaWYgKChldmVudC5rZXkgJiYgZXZlbnQua2V5Lmxlbmd0aCA9PT0gMSkgfHxcbiAgICAgICAgICAgIChldmVudC5rZXlDb2RlID49IEEgJiYgZXZlbnQua2V5Q29kZSA8PSBaKSB8fFxuICAgICAgICAgICAgKGV2ZW50LmtleUNvZGUgPj0gWkVSTyAmJiBldmVudC5rZXlDb2RlIDw9IE5JTkUpIHx8XG4gICAgICAgICAgICAoZXZlbnQua2V5Q29kZSA9PT0gU1BBQ0UpXG4gICAgICAgICAgICB8fCAodGhpcy5wcmV2ZW50SG9tZUVuZEtleVByb3BhZ2F0aW9uICYmIChldmVudC5rZXlDb2RlID09PSBIT01FIHx8IGV2ZW50LmtleUNvZGUgPT09IEVORCkpXG4gICAgICAgICkge1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5tYXRTZWxlY3QubXVsdGlwbGUgJiYgZXZlbnQua2V5ICYmIGV2ZW50LmtleUNvZGUgPT09IEVOVEVSKSB7XG4gICAgICAgICAgICAvLyBSZWN1cGVyZSBvIGZvY28gYXDDs3MgYSBzZWxlw6fDo28gbcO6bHRpcGxhLCBwYXJhIHF1ZSBwb3NzYW1vcyBkaWdpdGFyIGFpbmRhIG1haXNcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCk6IHZvaWQgPT4gdGhpcy5fZm9jdXMoKSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDYXNvIGVzcGVjaWFsLCBzZSBjbGljYXIgZW0gRXNjYXBlLCBzZSBhIGVudHJhZGEgZXN0aXZlciB2YXppYSwgZmVjaGUgbyBtZW51IHN1c3BlbnNvLCBjYXNvIGNvbnRyw6FyaW8sIGVzdmF6aWUgbyBjYW1wbyBkZSBwZXNxdWlzYVxuICAgICAgICBpZiAodGhpcy5lbmFibGVDbGVhck9uRXNjYXBlUHJlc3NlZCA9PT0gdHJ1ZSAmJiBldmVudC5rZXlDb2RlID09PSBFU0NBUEUgJiYgdGhpcy52YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5fcmVzZXQodHJ1ZSk7XG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1hbmlwdWxhIG8gZXZlbnRvIGRlIGF0aXZhw6fDo28gZGUgY2hhdmUgY29tIE1hdFNlbGVjdC5cbiAgICAgKiBQZXJtaXRlLCBwb3IgZXguIG8gYW7Dum5jaW8gZG8gRGVzY2VuZGVudGUgYXR1YWxtZW50ZSBhdGl2byBwb3IgbGVpdG9yZXMgZGUgdGVsYS5cbiAgICAgKi9cbiAgICBfaGFuZGxlS2V5dXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKGV2ZW50LmtleUNvZGUgPT09IFVQX0FSUk9XIHx8IGV2ZW50LmtleUNvZGUgPT09IERPV05fQVJST1cpIHtcbiAgICAgICAgICAgIGNvbnN0IGFyaWFBY3RpdmVEZXNjZW5kYW50SWQ6IHN0cmluZyA9IHRoaXMubWF0U2VsZWN0Ll9nZXRBcmlhQWN0aXZlRGVzY2VuZGFudCgpO1xuICAgICAgICAgICAgY29uc3QgaW5kZXg6IG51bWJlciA9IHRoaXMuX29wdGlvbnMudG9BcnJheSgpLmZpbmRJbmRleCgoaXRlbTogTWF0T3B0aW9uKTogYm9vbGVhbiA9PiBpdGVtLmlkID09PSBhcmlhQWN0aXZlRGVzY2VuZGFudElkKTtcbiAgICAgICAgICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVuc2VsZWN0QWN0aXZlRGVzY2VuZGFudCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlRGVzY2VuZGFudCA9IHRoaXMuX29wdGlvbnMudG9BcnJheSgpW2luZGV4XS5fZ2V0SG9zdEVsZW1lbnQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZURlc2NlbmRhbnQuc2V0QXR0cmlidXRlKCdhcmlhLXNlbGVjdGVkJywgJ3RydWUnKTtcbiAgICAgICAgICAgICAgICB0aGlzLnNlYXJjaFNlbGVjdElucHV0Lm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKCdhcmlhLWFjdGl2ZWRlc2NlbmRhbnQnLCBhcmlhQWN0aXZlRGVzY2VuZGFudElkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQmx1cigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51bnNlbGVjdEFjdGl2ZURlc2NlbmRhbnQoKTtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGb2NhbGl6YSBvIGNhbXBvIGRlIGVudHJhZGEgZGUgcGVzcXVpc2FcbiAgICAgKi9cbiAgICBwdWJsaWMgX2ZvY3VzKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuc2VhcmNoU2VsZWN0SW5wdXQgfHwgIXRoaXMubWF0U2VsZWN0LnBhbmVsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy8gc2FsdmUgZSByZXN0YXVyZSBvIHNjcm9sbFRvcCBkbyBwYWluZWwsIHBvaXMgc2Vyw6EgcmVkZWZpbmlkbyBwb3IgZm9jdXMgKClcbiAgICAgICAgLy8gb2JzOiBpc3NvIMOpIGhhY2t5XG4gICAgICAgIGNvbnN0IHBhbmVsOiBhbnkgPSB0aGlzLm1hdFNlbGVjdC5wYW5lbC5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCBzY3JvbGxUb3A6IGFueSA9IHBhbmVsLnNjcm9sbFRvcDtcblxuICAgICAgICAvLyBTZXRhIG8gZm9jb1xuICAgICAgICB0aGlzLnNlYXJjaFNlbGVjdElucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcblxuICAgICAgICBwYW5lbC5zY3JvbGxUb3AgPSBzY3JvbGxUb3A7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVkZWZpbmUgbyB2YWxvciBkZSBwZXNxdWlzYSBhdHVhbFxuICAgICAqIEBwYXJhbSBmb2N1cyBzZSBkZXZlIGZvY2FyIGFww7NzIGEgcmVkZWZpbmnDp8Ojb1xuICAgICAqL1xuICAgIHB1YmxpYyBfcmVzZXQoZm9jdXM/OiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2Zvcm1Db250cm9sLnNldFZhbHVlKCcnKTtcbiAgICAgICAgaWYgKGZvY3VzKSB7XG4gICAgICAgICAgICB0aGlzLl9mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogIERlZmluYSBhIGxhcmd1cmEgZG8gaW5uZXJTZWxlY3RTZWFyY2ggcGFyYSBhanVzdGFyIGF0w6kgbWVzbW8gYXMgYmFycmFzIGRlIHJvbGFnZW0gcGVyc29uYWxpemFkYXNcbiAgICAgKiAgRSBhcG9pYXIgdG9kb3Mgb3Mgc2lzdGVtYXMgZGUgb3BlcmHDp8Ojb1xuICAgICAqL1xuICAgIHB1YmxpYyB1cGRhdGVJbnB1dFdpZHRoKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaW5uZXJTZWxlY3RTZWFyY2ggfHwgIXRoaXMuaW5uZXJTZWxlY3RTZWFyY2gubmF0aXZlRWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGxldCBlbGVtZW50OiBIVE1MRWxlbWVudCA9IHRoaXMuaW5uZXJTZWxlY3RTZWFyY2gubmF0aXZlRWxlbWVudDtcbiAgICAgICAgbGV0IHBhbmVsRWxlbWVudDogSFRNTEVsZW1lbnQ7XG4gICAgICAgIHdoaWxlIChlbGVtZW50ID0gZWxlbWVudC5wYXJlbnRFbGVtZW50KSB7XG4gICAgICAgICAgICBpZiAoZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ21hdC1zZWxlY3QtcGFuZWwnKSkge1xuICAgICAgICAgICAgICAgIHBhbmVsRWxlbWVudCA9IGVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHBhbmVsRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5pbm5lclNlbGVjdFNlYXJjaC5uYXRpdmVFbGVtZW50LnN0eWxlLndpZHRoID0gcGFuZWxFbGVtZW50LmNsaWVudFdpZHRoICsgJ3B4JztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERldGVybWluZSBvIGRlc2xvY2FtZW50byBwYXJhIG8gY29tcHJpbWVudG8gcXVlIHBvZGUgc2VyIGNhdXNhZG8gcGVsbyBtYXRPcHRpb24gb3BjaW9uYWwgdXNhZG8gY29tbyB1bWEgZW50cmFkYSBkZSBwZXNxdWlzYS5cbiAgICAgKi9cbiAgICBwcml2YXRlIGdldE9wdGlvbnNMZW5ndGhPZmZzZXQoKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKHRoaXMubWF0T3B0aW9uKSB7XG4gICAgICAgICAgICByZXR1cm4gMTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1bnNlbGVjdEFjdGl2ZURlc2NlbmRhbnQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmFjdGl2ZURlc2NlbmRhbnQpIHtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlRGVzY2VuZGFudC5yZW1vdmVBdHRyaWJ1dGUoJ2FyaWEtc2VsZWN0ZWQnKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNlYXJjaFNlbGVjdElucHV0Lm5hdGl2ZUVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCdhcmlhLWFjdGl2ZWRlc2NlbmRhbnQnKTtcbiAgICB9XG5cbn1cbiJdfQ==
|
@@ -342,7 +342,7 @@ GIPIInputSelectPagedComponent = GIPIInputSelectPagedComponent_1 = __decorate([
|
|
342
342
|
'class': 'gipi-input-select-paged',
|
343
343
|
},
|
344
344
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
345
|
-
styles: [".input-select-paged-content{display:flex;flex-direction:column;gap:
|
345
|
+
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}"]
|
346
346
|
}),
|
347
347
|
__metadata("design:paramtypes", [ChangeDetectorRef])
|
348
348
|
], GIPIInputSelectPagedComponent);
|
@@ -260,7 +260,7 @@ GIPIInputSelectRadioComponent = GIPIInputSelectRadioComponent_1 = __decorate([
|
|
260
260
|
'class': 'gipi-input-select-radio',
|
261
261
|
},
|
262
262
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
263
|
-
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}"]
|
263
|
+
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}"]
|
264
264
|
}),
|
265
265
|
__metadata("design:paramtypes", [ElementRef,
|
266
266
|
ChangeDetectorRef])
|
@@ -77,11 +77,9 @@ GIPIBreakpointService.ctorParameters = () => [
|
|
77
77
|
];
|
78
78
|
GIPIBreakpointService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function GIPIBreakpointService_Factory() { return new GIPIBreakpointService(i0.ɵɵinject(i1.GIPIResizeService), i0.ɵɵinject(i2.MediaMatcher)); }, token: GIPIBreakpointService, providedIn: "root" });
|
79
79
|
GIPIBreakpointService = __decorate([
|
80
|
-
Injectable({
|
81
|
-
providedIn: 'root'
|
82
|
-
}),
|
80
|
+
Injectable({ providedIn: 'root' }),
|
83
81
|
__metadata("design:paramtypes", [GIPIResizeService,
|
84
82
|
MediaMatcher])
|
85
83
|
], GIPIBreakpointService);
|
86
84
|
export { GIPIBreakpointService };
|
87
|
-
//# sourceMappingURL=data:application/json;base64,
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWtwb2ludC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGdpcGlzaXN0ZW1hcy9uZy1jb3JlLyIsInNvdXJjZXMiOlsic2hhcmVkL2dpcGktY29tcG9uZW50cy9sYXlvdXQtZ3JpZC9zZXJ2aWNlcy9icmVha3BvaW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFakYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7QUFFckQsTUFBTSxDQUFOLElBQVksY0FNWDtBQU5ELFdBQVksY0FBYztJQUN0QiwyQkFBUyxDQUFBO0lBQ1QsMkJBQVMsQ0FBQTtJQUNULDJCQUFTLENBQUE7SUFDVCwyQkFBUyxDQUFBO0lBQ1QsMkJBQVMsQ0FBQTtBQUNiLENBQUMsRUFOVyxjQUFjLEtBQWQsY0FBYyxRQU16QjtBQU1ELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFrQjtJQUM1QyxFQUFFLEVBQUUsb0JBQW9CO0lBQ3hCLEVBQUUsRUFBRSxvQkFBb0I7SUFDeEIsRUFBRSxFQUFFLG9CQUFvQjtJQUN4QixFQUFFLEVBQUUsb0JBQW9CO0lBQ3hCLEVBQUUsRUFBRSxxQkFBcUI7Q0FDNUIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFrQjtJQUM3QyxFQUFFLEVBQUUsb0JBQW9CO0lBQ3hCLEVBQUUsRUFBRSxvQkFBb0I7SUFDeEIsRUFBRSxFQUFFLG9CQUFvQjtJQUN4QixFQUFFLEVBQUUscUJBQXFCO0lBQ3pCLEVBQUUsRUFBRSxxQkFBcUI7Q0FDNUIsQ0FBQztBQUdGLElBQWEscUJBQXFCLEdBQWxDLE1BQWEscUJBQXFCO0lBSTlCLFlBQ1ksYUFBZ0MsRUFDaEMsWUFBMEI7UUFEMUIsa0JBQWEsR0FBYixhQUFhLENBQW1CO1FBQ2hDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBSjlCLGFBQVEsR0FBa0IsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQU1sRCxJQUFJLENBQUMsYUFBYTthQUNiLFNBQVMsRUFBRTthQUNYLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzlCLFNBQVMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUlELFNBQVMsQ0FBQyxhQUE0QixFQUFFLE9BQWM7UUFDbEQsSUFBSSxPQUFPLEVBQUU7WUFDVCxNQUFNLEdBQUcsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUN2RCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLENBQUMsSUFBSSxDQUN0QyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQ1IsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQ2hCLG9CQUFvQixDQUNoQixDQUFDLENBQXlDLEVBQUUsQ0FBeUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDMUcsRUFDRCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDakIsQ0FBQztTQUNMO2FBQU07WUFDSCxNQUFNLEdBQUcsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ2pELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLG9CQUFvQixFQUFFLENBQUMsQ0FBQztTQUNsRztJQUNMLENBQUM7SUFJTyxVQUFVLENBQ2QsYUFBNEIsRUFDNUIsT0FBYztRQUVkLElBQUksRUFBRSxHQUFtQixjQUFjLENBQUMsRUFBRSxDQUFDO1FBRTNDLE1BQU0sb0JBQW9CLEdBQWtDLEVBQUUsQ0FBQztRQUUvRCxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUN4QyxNQUFNLE1BQU0sR0FBRyxVQUE0QixDQUFDO1lBQzVDLE1BQU0sT0FBTyxHQUFZLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1lBRXpGLG9CQUFvQixDQUFDLFVBQTRCLENBQUMsR0FBRyxPQUFPLENBQUM7WUFFN0QsSUFBSSxPQUFPLEVBQUU7Z0JBQ1QsRUFBRSxHQUFHLE1BQU0sQ0FBQzthQUNmO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLE9BQU8sRUFBRTtZQUNULE9BQU8sQ0FBQyxFQUFFLEVBQUUsb0JBQTRDLENBQUMsQ0FBQztTQUM3RDthQUFNO1lBQ0gsT0FBTyxFQUFFLENBQUM7U0FDYjtJQUNMLENBQUM7Q0FDSixDQUFBOztZQTNEOEIsaUJBQWlCO1lBQ2xCLFlBQVk7OztBQU43QixxQkFBcUI7SUFEakMsVUFBVSxDQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFDO3FDQU1KLGlCQUFpQjtRQUNsQixZQUFZO0dBTjdCLHFCQUFxQixDQWdFakM7U0FoRVkscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWVkaWFNYXRjaGVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHN0YXJ0V2l0aCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBHSVBJUmVzaXplU2VydmljZSB9IGZyb20gJy4vcmVzaXplLnNlcnZpY2UnO1xuXG5leHBvcnQgZW51bSBCcmVha3BvaW50RW51bSB7XG4gICAgeGwgPSAneGwnLFxuICAgIGxnID0gJ2xnJyxcbiAgICBtZCA9ICdtZCcsXG4gICAgc20gPSAnc20nLFxuICAgIHhzID0gJ3hzJ1xufVxuXG5leHBvcnQgdHlwZSBCcmVha3BvaW50TWFwID0geyBba2V5IGluIEJyZWFrcG9pbnRFbnVtXTogc3RyaW5nIH07XG5leHBvcnQgdHlwZSBCcmVha3BvaW50Qm9vbGVhbk1hcCA9IHsgW2tleSBpbiBCcmVha3BvaW50RW51bV06IGJvb2xlYW4gfTtcbmV4cG9ydCB0eXBlIEdyaWRCcmVha3BvaW50S2V5ID0ga2V5b2YgdHlwZW9mIEJyZWFrcG9pbnRFbnVtO1xuXG5leHBvcnQgY29uc3QgZ3JpZFJlc3BvbnNpdmVNYXA6IEJyZWFrcG9pbnRNYXAgPSB7XG4gICAgeHM6ICcobWF4LXdpZHRoOiA0MTlweCknLFxuICAgIHNtOiAnKG1pbi13aWR0aDogNDIwcHgpJyxcbiAgICBtZDogJyhtaW4td2lkdGg6IDYwMHB4KScsXG4gICAgbGc6ICcobWluLXdpZHRoOiA3NjhweCknLFxuICAgIHhsOiAnKG1pbi13aWR0aDogMTM2NnB4KScsXG59O1xuXG5leHBvcnQgY29uc3Qgc2lkZXJSZXNwb25zaXZlTWFwOiBCcmVha3BvaW50TWFwID0ge1xuICAgIHhzOiAnKG1heC13aWR0aDogNDIwcHgpJyxcbiAgICBzbTogJyhtYXgtd2lkdGg6IDYwMHB4KScsXG4gICAgbWQ6ICcobWF4LXdpZHRoOiA3NjhweCknLFxuICAgIGxnOiAnKG1heC13aWR0aDogMTM2NnB4KScsXG4gICAgeGw6ICcobWF4LXdpZHRoOiAxOTIwcHgpJyxcbn07XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgR0lQSUJyZWFrcG9pbnRTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICAgIHByaXZhdGUgZGVzdHJveSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVzaXplU2VydmljZTogR0lQSVJlc2l6ZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgbWVkaWFNYXRjaGVyOiBNZWRpYU1hdGNoZXJcbiAgICApIHtcbiAgICAgICAgdGhpcy5yZXNpemVTZXJ2aWNlXG4gICAgICAgICAgICAuc3Vic2NyaWJlKClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4geyB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgfVxuXG4gICAgc3Vic2NyaWJlKGJyZWFrcG9pbnRNYXA6IEJyZWFrcG9pbnRNYXApOiBPYnNlcnZhYmxlPEJyZWFrcG9pbnRFbnVtPjtcbiAgICBzdWJzY3JpYmUoYnJlYWtwb2ludE1hcDogQnJlYWtwb2ludE1hcCwgZnVsbE1hcDogdHJ1ZSk6IE9ic2VydmFibGU8QnJlYWtwb2ludEJvb2xlYW5NYXA+O1xuICAgIHN1YnNjcmliZShicmVha3BvaW50TWFwOiBCcmVha3BvaW50TWFwLCBmdWxsTWFwPzogdHJ1ZSk6IE9ic2VydmFibGU8QnJlYWtwb2ludEVudW0gfCBCcmVha3BvaW50Qm9vbGVhbk1hcD4ge1xuICAgICAgICBpZiAoZnVsbE1hcCkge1xuICAgICAgICAgICAgY29uc3QgZ2V0ID0gKCkgPT4gdGhpcy5tYXRjaE1lZGlhKGJyZWFrcG9pbnRNYXAsIHRydWUpO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucmVzaXplU2VydmljZS5zdWJzY3JpYmUoKS5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChnZXQpLFxuICAgICAgICAgICAgICAgIHN0YXJ0V2l0aChnZXQoKSksXG4gICAgICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoXG4gICAgICAgICAgICAgICAgICAgICh4OiBbQnJlYWtwb2ludEVudW0sIEJyZWFrcG9pbnRCb29sZWFuTWFwXSwgeTogW0JyZWFrcG9pbnRFbnVtLCBCcmVha3BvaW50Qm9vbGVhbk1hcF0pID0+IHhbMF0gPT09IHlbMF1cbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIG1hcCh4ID0+IHhbMV0pXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgZ2V0ID0gKCkgPT4gdGhpcy5tYXRjaE1lZGlhKGJyZWFrcG9pbnRNYXApO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucmVzaXplU2VydmljZS5zdWJzY3JpYmUoKS5waXBlKG1hcChnZXQpLCBzdGFydFdpdGgoZ2V0KCkpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgbWF0Y2hNZWRpYShicmVha3BvaW50TWFwOiBCcmVha3BvaW50TWFwKTogQnJlYWtwb2ludEVudW07XG4gICAgcHJpdmF0ZSBtYXRjaE1lZGlhKGJyZWFrcG9pbnRNYXA6IEJyZWFrcG9pbnRNYXAsIGZ1bGxNYXA6IHRydWUpOiBbQnJlYWtwb2ludEVudW0sIEJyZWFrcG9pbnRCb29sZWFuTWFwXTtcbiAgICBwcml2YXRlIG1hdGNoTWVkaWEoXG4gICAgICAgIGJyZWFrcG9pbnRNYXA6IEJyZWFrcG9pbnRNYXAsXG4gICAgICAgIGZ1bGxNYXA/OiB0cnVlXG4gICAgKTogQnJlYWtwb2ludEVudW0gfCBbQnJlYWtwb2ludEVudW0sIEJyZWFrcG9pbnRCb29sZWFuTWFwXSB7XG4gICAgICAgIGxldCBicDogQnJlYWtwb2ludEVudW0gPSBCcmVha3BvaW50RW51bS5tZDtcblxuICAgICAgICBjb25zdCBicmVha3BvaW50Qm9vbGVhbk1hcDogUGFydGlhbDxCcmVha3BvaW50Qm9vbGVhbk1hcD4gPSB7fTtcblxuICAgICAgICBPYmplY3Qua2V5cyhicmVha3BvaW50TWFwKS5tYXAoYnJlYWtwb2ludCA9PiB7XG4gICAgICAgICAgICBjb25zdCBjYXN0QlAgPSBicmVha3BvaW50IGFzIEJyZWFrcG9pbnRFbnVtO1xuICAgICAgICAgICAgY29uc3QgbWF0Y2hlZDogYm9vbGVhbiA9IHRoaXMubWVkaWFNYXRjaGVyLm1hdGNoTWVkaWEoZ3JpZFJlc3BvbnNpdmVNYXBbY2FzdEJQXSkubWF0Y2hlcztcblxuICAgICAgICAgICAgYnJlYWtwb2ludEJvb2xlYW5NYXBbYnJlYWtwb2ludCBhcyBCcmVha3BvaW50RW51bV0gPSBtYXRjaGVkO1xuXG4gICAgICAgICAgICBpZiAobWF0Y2hlZCkge1xuICAgICAgICAgICAgICAgIGJwID0gY2FzdEJQO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoZnVsbE1hcCkge1xuICAgICAgICAgICAgcmV0dXJuIFticCwgYnJlYWtwb2ludEJvb2xlYW5NYXAgYXMgQnJlYWtwb2ludEJvb2xlYW5NYXBdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGJwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4iXX0=
|
@@ -53,12 +53,10 @@ GIPIResizeService.ctorParameters = () => [
|
|
53
53
|
];
|
54
54
|
GIPIResizeService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function GIPIResizeService_Factory() { return new GIPIResizeService(i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(i0.RendererFactory2)); }, token: GIPIResizeService, providedIn: "root" });
|
55
55
|
GIPIResizeService = __decorate([
|
56
|
-
Injectable({
|
57
|
-
providedIn: 'root'
|
58
|
-
}),
|
56
|
+
Injectable({ providedIn: 'root' }),
|
59
57
|
__metadata("design:paramtypes", [NgZone,
|
60
58
|
RendererFactory2])
|
61
59
|
], GIPIResizeService);
|
62
60
|
export { GIPIResizeService };
|
63
61
|
export { ɵ0 };
|
64
|
-
//# sourceMappingURL=data:application/json;base64,
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZ2lwaXNpc3RlbWFzL25nLWNvcmUvIiwic291cmNlcyI6WyJzaGFyZWQvZ2lwaS1jb21wb25lbnRzL2xheW91dC1ncmlkL3NlcnZpY2VzL3Jlc2l6ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFFckQsTUFBTSxJQUFJLEdBQWUsR0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFDOztBQUd6QyxJQUFhLGlCQUFpQixHQUE5QixNQUFhLGlCQUFpQjtJQWdCMUIsWUFDWSxNQUFjLEVBQ2QsZ0JBQWtDO1FBRGxDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBaEI3QixrQkFBYSxHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRTVELGNBQVMsR0FBVyxDQUFDLENBQUM7UUFJdEIsa0JBQWEsR0FBZSxJQUFJLENBQUM7UUFFakMsWUFBTyxHQUFlLEdBQVMsRUFBRTtZQUNyQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDOUIsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUE7UUFNRyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRCxXQUFXO1FBQ1AsbUdBQW1HO1FBQ25HLHNGQUFzRjtRQUN0RixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztJQUN4QixDQUFDO0lBRUQsU0FBUztRQUNMLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBRXhCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQzFCLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFDYixRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FDNUMsQ0FBQztJQUNOLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVPLGdCQUFnQjtRQUNwQixJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssQ0FBQyxFQUFFO1lBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFO2dCQUMvQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2hGLENBQUMsQ0FBQyxDQUFDO1NBQ047UUFFRCxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRU8sa0JBQWtCO1FBQ3RCLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDO1FBRXBCLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxDQUFDLEVBQUU7WUFDdEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1NBQzdCO0lBQ0wsQ0FBQztDQUNKLENBQUE7O1lBM0N1QixNQUFNO1lBQ0ksZ0JBQWdCOzs7QUFsQnJDLGlCQUFpQjtJQUQ3QixVQUFVLENBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLENBQUM7cUNBa0JYLE1BQU07UUFDSSxnQkFBZ0I7R0FsQnJDLGlCQUFpQixDQTREN0I7U0E1RFksaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgTmdab25lLCBPbkRlc3Ryb3ksIFJlbmRlcmVyMiwgUmVuZGVyZXJGYWN0b3J5MiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgYXVkaXRUaW1lLCBmaW5hbGl6ZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuY29uc3QgTk9PUDogKCkgPT4gdm9pZCA9ICgpOiB2b2lkID0+IHsgfTtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBHSVBJUmVzaXplU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlc2l6ZVNvdXJjZSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgcHJpdmF0ZSBsaXN0ZW5lcnM6IG51bWJlciA9IDA7XG5cbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjI7XG5cbiAgICBwcml2YXRlIGRpc3Bvc2VIYW5kbGU6ICgpID0+IHZvaWQgPSBOT09QO1xuXG4gICAgcHJpdmF0ZSBoYW5kbGVyOiAoKSA9PiB2b2lkID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZXNpemVTb3VyY2UkLm5leHQoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXJGYWN0b3J5MjogUmVuZGVyZXJGYWN0b3J5MlxuICAgICkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyID0gdGhpcy5yZW5kZXJlckZhY3RvcnkyLmNyZWF0ZVJlbmRlcmVyKG51bGwsIG51bGwpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICAvLyBDYXJldGFrZXIgbm90ZTogdGhlIGBoYW5kbGVyYCBpcyBhbiBpbnN0YW5jZSBwcm9wZXJ0eSAoaXQncyBub3QgZGVmaW5lZCBvbiB0aGUgY2xhc3MgcHJvdG90eXBlKS5cbiAgICAgICAgLy8gVGhlIGBoYW5kbGVyYCBjYXB0dXJlcyBgdGhpc2AgYW5kIHByZXZlbnRzIHRoZSBgR0lQSVJlc2l6ZVNlcnZpY2VgIGZyb20gYmVpbmcgR0MnZC5cbiAgICAgICAgdGhpcy5oYW5kbGVyID0gTk9PUDtcbiAgICB9XG5cbiAgICBzdWJzY3JpYmUoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJMaXN0ZW5lcigpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLnJlc2l6ZVNvdXJjZSQucGlwZShcbiAgICAgICAgICAgIGF1ZGl0VGltZSgxNiksXG4gICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLnVucmVnaXN0ZXJMaXN0ZW5lcigpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHVuc3Vic2NyaWJlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVucmVnaXN0ZXJMaXN0ZW5lcigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVnaXN0ZXJMaXN0ZW5lcigpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubGlzdGVuZXJzID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5kaXNwb3NlSGFuZGxlID0gdGhpcy5yZW5kZXJlci5saXN0ZW4oJ3dpbmRvdycsICdyZXNpemUnLCB0aGlzLmhhbmRsZXIpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmxpc3RlbmVycyArPSAxO1xuICAgIH1cblxuICAgIHByaXZhdGUgdW5yZWdpc3Rlckxpc3RlbmVyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmxpc3RlbmVycyAtPSAxO1xuXG4gICAgICAgIGlmICh0aGlzLmxpc3RlbmVycyA9PT0gMCkge1xuICAgICAgICAgICAgdGhpcy5kaXNwb3NlSGFuZGxlKCk7XG4gICAgICAgICAgICB0aGlzLmRpc3Bvc2VIYW5kbGUgPSBOT09QO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4iXX0=
|