ca-components 1.7.94 → 1.7.95
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/ca-input-dropdown-test/ca-input-dropdown-test.component.mjs +1 -1
- package/esm2022/lib/components/ca-input-test/input-test.component.mjs +17 -1
- package/fesm2022/ca-components.mjs +15 -0
- package/fesm2022/ca-components.mjs.map +1 -1
- package/lib/components/ca-input-test/input-test.component.d.ts +4 -2
- package/package.json +1 -1
|
@@ -3,6 +3,7 @@ import { Validators, } from '@angular/forms';
|
|
|
3
3
|
import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
5
|
import { AngularSvgIconModule } from 'angular-svg-icon';
|
|
6
|
+
import { Subject, takeUntil } from 'rxjs';
|
|
6
7
|
import { InputSvgRoutes } from './utils';
|
|
7
8
|
// emums
|
|
8
9
|
import { InputCommandsType, InputStringEnum } from './enums';
|
|
@@ -63,6 +64,7 @@ export class InputTestComponent extends InputCommandMixin(InputHelperMixin(Input
|
|
|
63
64
|
this.maskApplier = maskApplier;
|
|
64
65
|
this.thousandSeparatorPipe = thousandSeparatorPipe;
|
|
65
66
|
this.inputValue = '';
|
|
67
|
+
this.destroy$ = new Subject();
|
|
66
68
|
this.inputSvgRoutes = InputSvgRoutes;
|
|
67
69
|
this.handleToggleDropdownOptions = new EventEmitter();
|
|
68
70
|
this.incorrectInput = new EventEmitter();
|
|
@@ -92,6 +94,16 @@ export class InputTestComponent extends InputCommandMixin(InputHelperMixin(Input
|
|
|
92
94
|
if (this._inputConfig.autoFocus)
|
|
93
95
|
this.inputElement.nativeElement.focus();
|
|
94
96
|
if (this.parentControl) {
|
|
97
|
+
this.parentControl.statusChanges
|
|
98
|
+
.pipe(takeUntil(this.destroy$))
|
|
99
|
+
.subscribe(() => {
|
|
100
|
+
if (this.parentControl?.hasValidator(Validators.required)) {
|
|
101
|
+
this.control?.addValidators(Validators.required);
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
this.control?.removeValidators(Validators.required);
|
|
105
|
+
}
|
|
106
|
+
});
|
|
95
107
|
this.control?.setValidators(this.parentControl.validator);
|
|
96
108
|
if (this.parentControl?.hasValidator(Validators.required)) {
|
|
97
109
|
this.control?.addValidators(Validators.required);
|
|
@@ -179,6 +191,10 @@ export class InputTestComponent extends InputCommandMixin(InputHelperMixin(Input
|
|
|
179
191
|
data: this.inputConfig,
|
|
180
192
|
});
|
|
181
193
|
}
|
|
194
|
+
ngOnDestroy() {
|
|
195
|
+
this.destroy$.next();
|
|
196
|
+
this.destroy$.complete();
|
|
197
|
+
}
|
|
182
198
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InputTestComponent, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i0.ChangeDetectorRef }, { token: i2.NgxMaskService }, { token: i3.ThousandSeparatorPipe }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
183
199
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: InputTestComponent, isStandalone: true, selector: "ca-input-test", inputs: { parentControl: "parentControl", selectedDropdownLabelColor: "selectedDropdownLabelColor", template: "template", incorrectValue: "incorrectValue", inputConfig: "inputConfig", activeItem: "activeItem" }, outputs: { handleToggleDropdownOptions: "handleToggleDropdownOptions", incorrectInput: "incorrectEvent", blurInput: "blurInput", focusInputEvent: "focusInput", changeInput: "change", commandEvent: "commandEvent", clearInputEvent: "clear", showHideDropdownEvent: "showHideDropdown", dropDownKeyNavigationEvent: "dropDownKeyNavigation" }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div\n class=\"input-custom-group {{ _inputConfig.customClass }}\"\n [ngClass]=\"\n control\n | inputContainerClass\n : isFocusInput\n : control?.touched!\n : _inputConfig\n : control?.value\n \"\n ngbTooltip\n [mainCaTooltip]=\"control?.errors | inputError: _inputConfig.name\"\n [tooltipBackground]=\"'#DF3C3C'\"\n [disableTooltip]=\"!_inputConfig.requiredLabel || !!control?.valid\"\n position=\"bottom\"\n triggers=\"hover\"\n>\n <!-- Input Loading spinner -->\n @if (_inputConfig?.loadingSpinner?.isLoading && !_inputConfig.isDisabled) {\n <div class=\"input-loading-spinner\">\n <app-ca-spinner\n [size]=\"_inputConfig.loadingSpinner?.size\"\n [color]=\"_inputConfig.loadingSpinner?.color\"\n ></app-ca-spinner>\n </div>\n }\n\n <!-- Input Commands -->\n @if (_inputConfig.commands?.active && isVisibleCommands) {\n <app-ca-input-commands\n [inputConfig]=\"_inputConfig\"\n [isFocusInput]=\"isFocusInput\"\n [isVisibleCommands]=\"isVisibleCommands\"\n (onCommandsClick)=\"onCommands($event)\"\n >\n </app-ca-input-commands>\n }\n <!-- Input Valid Check -->\n @if (\n control | showValidCheck: isFocusInput : _inputConfig : control?.value\n ) {\n <svg-icon\n class=\"input-required-check {{ _inputConfig.customClass }}\"\n [src]=\"inputSvgRoutes.confirmSvg\"\n ></svg-icon>\n }\n <!-- Input Password Caps Lock And Eye -->\n @if (_inputConfig.type === 'password') {\n <app-ca-input-password\n [inputConfig]=\"_inputConfig\"\n [getSuperControl]=\"control\"\n [isFocusInput]=\"isFocusInput\"\n [isTouchedInput]=\"isTouchedInput\"\n [isCapsLockOn]=\"isCapsLockOn\"\n [isTogglePassword]=\"isTogglePassword\"\n (onTogglePasswordClick)=\"onTogglePassword($event)\"\n >\n </app-ca-input-password>\n }\n <!-- Input Clear -->\n @if (_inputConfig | showClear) {\n <app-ca-input-clear\n [inputConfig]=\"_inputConfig\"\n [getSuperControl]=\"control\"\n [isFocusInput]=\"isFocusInput\"\n [incorrectValue]=\"incorrectValue\"\n [selectedDropdownLabelColor]=\"selectedDropdownLabelColor\"\n [template]=\"template\"\n (clearInputClick)=\"clearInput($event)\"\n >\n </app-ca-input-clear>\n }\n\n <!-- Input Dropdown Arrow -->\n @if (_inputConfig | showDropdownArrow) {\n <svg-icon\n class=\"input-dropdown-arrow {{ _inputConfig.customClass }}\"\n [ngClass]=\"\n control\n | inputDropdownArrowClass\n : isFocusInput\n : _inputConfig\n : isTouchedInput\n : control?.value\n \"\n [src]=\"inputSvgRoutes.inputDropdownArrowSvg\"\n (click)=\"toggleDropdownOptions()\"\n ></svg-icon>\n }\n\n <!-- Input Placeholder Icon -->\n @if (_inputConfig.placeholderIcon) {\n <app-ca-input-placeholder-icon\n [inputConfig]=\"_inputConfig\"\n [getSuperControl]=\"control\"\n [isFocusInput]=\"isFocusInput\"\n [isTouchedInput]=\"control?.touched!\"\n [selectedDropdownLabelColor]=\"selectedDropdownLabelColor\"\n [isEditInput]=\"isEditInput\"\n (onPlaceholderIconEventEmitter)=\"onPlaceholderIconEvent($event)\"\n (onPopoverShownEmitter)=\"onPopoverShown()\"\n (onPopoverHiddenEmitter)=\"onPopoverHidden()\"\n >\n </app-ca-input-placeholder-icon>\n }\n\n <!-- Input Placeholder Text -->\n @if (\n _inputConfig\n | showPlaceholderText: control : isVisibleCommands : control?.value\n ) {\n <span\n class=\"ca-placeholder-text {{ _inputConfig.customClass }}\"\n [ngClass]=\"\n isFocusInput\n | inputPlaceholderTextClass\n : control?.touched!\n : control\n : _inputConfig\n : isVisibleCommands\n : control?.value\n \"\n [style.left]=\"\n _inputConfig.placeholderText?.toLowerCase() ===\n inputStringEnum.PERSONS ||\n _inputConfig.placeholderText?.toLowerCase() ===\n inputStringEnum.VEHICLES\n ? 30 + (control?.value?.toString()?.length + 1) * 9 + 'px'\n : isFocusInput &&\n _inputConfig.placeholderText?.toLowerCase() !==\n inputCommandsType.MONTHS\n ? 'auto'\n : (control?.value?.toString()?.length + 1) * 8 + 'px'\n \"\n [style.right]=\"\n isFocusInput &&\n _inputConfig.placeholderText?.toLowerCase() !==\n inputCommandsType.MONTHS\n ? '28px'\n : 'auto'\n \"\n >\n {{ _inputConfig.placeholderText }}\n </span>\n }\n\n <!-- Input Label Counter -->\n @if (\n selectedDropdownLabelColor &&\n control?.value &&\n !isFocusInput &&\n !_inputConfig.isDisabled &&\n _inputConfig.showCount\n ) {\n <p\n [style.top]=\"'4px'\"\n [style.left]=\"(control?.value?.toString()?.length + 6.5) * 8 + 'px'\"\n class=\"input-label-counter\"\n >\n {{ selectedDropdownLabelColor.count }}\n </p>\n }\n\n <!-- Special Dropdown Selected SVG with or Without Text -->\n @if (\n _inputConfig?.dropdownImageInput?.iconsPath &&\n activeItem &&\n !_inputConfig?.hideAllItemsInInputDropdown &&\n !(!_inputConfig.dropdownImageInput?.withText && isFocusInput) &&\n !(\n ['truck', 'trailer'].includes(\n _inputConfig.dropdownImageInput?.template!\n ) &&\n isFocusInput &&\n _inputConfig.dropdownImageInput?.remove\n ) &&\n !_inputConfig?.dropdownImageInput?.nameInitialsInsteadUrl\n ) {\n <svg-icon\n [src]=\"_inputConfig.dropdownImageInput?.iconsPath!\"\n class=\"dropdown-selected-image {{\n _inputConfig.dropdownImageInput?.class\n }}\"\n [ngClass]=\"{\n 'unset-color':\n isFocusInput && _inputConfig.dropdownImageInput?.class,\n }\"\n [svgStyle]=\"{\n fill:\n _inputConfig.dropdownImageInput?.color && !isFocusInput\n ? _inputConfig.dropdownImageInput?.color\n : '#ffffff',\n }\"\n >\n </svg-icon>\n }\n\n <!-- Input Label -->\n @if (!_inputConfig.multiSelectDropdownActive) {\n <label\n [for]=\"_inputConfig.name\"\n class=\"input-label {{ _inputConfig.customClass }} {{\n _inputConfig.multipleLabel?.customClass\n }}\"\n [ngClass]=\"\n control?.value\n | labelClass\n : isFocusInput\n : _inputConfig\n : isTouchedInput\n : control?.invalid\n : control?.touched\n : control\n \"\n >\n @if (_inputConfig.label) {\n <span>{{ _inputConfig.label }} </span>\n }\n\n @if (_inputConfig.multipleLabel?.labels?.length) {\n <div\n [class]=\"_inputConfig.multipleLabel?.customClass!\"\n [ngClass]=\"{\n 'multiple-labels-position-on-focus':\n isFocusInput ||\n _inputConfig.multipleInputValues?.options?.length,\n required:\n _inputConfig.isRequired && !_inputConfig.isDisabled,\n }\"\n >\n @for (\n label of _inputConfig.multipleLabel?.labels;\n track $index\n ) {\n <span>\n {{ label }}\n </span>\n }\n </div>\n }\n </label>\n }\n\n <input\n #input\n (input)=\"handleInput($event)\"\n [restrictInput]=\"inputConfig\"\n priceFormat\n [priceSeparator]=\"\n inputConfig.priceSeparator || inputConfig.thousandSeparator\n \"\n (focus)=\"handleInputFocus($event)\"\n (blur)=\"handleInputBlur($event)\"\n (keydown)=\"handleKeyDown($event)\"\n [readOnly]=\"_inputConfig.readOnly\"\n [type]=\"_inputConfig.type | inputType: isTogglePassword\"\n class=\"input-control\n {{ _inputConfig.textTransform }}\n {{ _inputConfig.textAlign }}\n {{ _inputConfig.customClass }}\n \"\n [appMaxValue]=\"inputConfig.max\"\n appCapsLock\n (capsLockStatus)=\"handleCapsLock($event)\"\n commandVisible\n (commandVisible)=\"handleCommandVisible($event)\"\n [placeholder]=\"\n (_inputConfig.placeholderInsteadOfLabel &&\n _inputConfig.placeholder &&\n isFocusInput\n ? _inputConfig.placeholder\n : '') ||\n (_inputConfig.placeholder && isFocusInput\n ? _inputConfig.placeholder\n : '')\n \"\n [mask]=\"_inputConfig.mask\"\n [ngClass]=\"\n control\n | inputClass\n : isFocusInput\n : control?.touched!\n : _inputConfig\n : input\n : isVisibleCommands\n : control?.value\n : control?.invalid\n : control?.touched\n : isDropdownToggler\n : isEditInput\n : template\n \"\n />\n\n <!-- Placeholder Icon on Right Side -->\n @if (_inputConfig.placeholderIconRightSide) {\n <svg-icon\n class=\"placeholder-icon-right-side {{\n _inputConfig.placeholderIconColor\n }}\"\n [ngClass]=\"\n isFocusInput\n | inputPlaceholderIconRightClass\n : control\n : _inputConfig\n : isTouchedInput\n : control?.value\n \"\n [src]=\"\n _inputConfig.placeholderIconRightSide.toLowerCase()\n | caSvg: 'common'\n \"\n ></svg-icon>\n }\n\n <!-- Input Error Message -->\n @if (\n !(!control?.value && isFocusInput) &&\n (isTouchedInput || control?.touched || control?.value) &&\n control?.invalid &&\n !_inputConfig.isInvalidSearchInDropdown &&\n !_inputConfig.isDisabled\n ) {\n @if (\n !(_inputConfig.hideErrorMessage || _inputConfig.errorInsideInput)\n ) {\n <span class=\"input-error {{ _inputConfig.customClass }}\">\n {{ control?.errors | inputError: _inputConfig.name }}\n </span>\n }\n\n <!-- Error Message Inside Input -->\n @if (_inputConfig.errorInsideInput) {\n <span class=\"error-inside-input {{ _inputConfig.customClass }}\">\n {{ control?.errors | inputError: _inputConfig.name }}\n </span>\n }\n }\n\n @if (_inputConfig.fixedPlacholder && input.value) {\n <span class=\"input-fixed-placehoder-label\">\n {{ _inputConfig.fixedPlacholder }}\n </span>\n }\n</div>\n", styles: ["@charset \"UTF-8\";@import\"https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap\";@import\"https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css\";.ca-font-thin{font-weight:100!important}.ca-font-extra-light{font-weight:200!important}.ca-font-light{font-weight:300!important}.ca-font-regular{font-weight:400!important}.ca-font-medium{font-weight:500!important}.ca-font-semi-bold{font-weight:600!important}.ca-font-bold{font-weight:700!important}.ca-font-extra-bold{font-weight:800!important}.ca-font-black{font-weight:900!important}.pickup-delivery-popover{top:-38px!important;max-width:340px!important}.pickup-delivery-popover.bs-popover-top{top:auto!important;bottom:-38px!important}.pickup-delivery-popover.bs-popover-top .load-component .assigned-load-holder{order:3;margin-top:4px;margin-bottom:0!important}.pickup-delivery-popover.bs-popover-top .load-component .statusBar{order:2;margin-top:4px}.pickup-delivery-popover.bs-popover-top .load-component .animation-three-tabs{order:1}.load-pickup-delivery-popover{top:-34px!important;max-width:400px!important}.gps_dropdown_popover{top:-38px;max-width:494px}.gps_dropdown_popover .popover-body{padding:0}.table-progress-popover{background-color:unset!important;margin-left:-10px}.table-progress-popover .progress-dropdown{margin-top:-6px;width:260px;height:200px;background:#2f2f2f;border-radius:3px;padding:8px;box-shadow:0 0 4px #00000026;overflow:hidden;-webkit-animation:progressAnimation .25s ease-in-out;animation:progressAnimation .25s ease-in-out}.table-progress-popover .progress-dropdown .progress-header .progress-title{font-size:18px;font-weight:600;color:#fff}.table-progress-popover .progress-dropdown .progress-header .progress-title span{font-weight:400}.table-progress-popover .progress-dropdown .progress-header .progress-total{font-size:14px;line-height:17px;color:#fff}.table-progress-popover .progress-dropdown .table-progress-bar-container{width:100%;height:8px;margin-top:6px;border-radius:2px;overflow:hidden}.table-progress-popover .progress-dropdown .table-progress-bar-container .table-progress-bar{height:100%}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-dual-info-container .progress-info-container{width:50%}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-info-container{margin-top:10px}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-info-container .progress-info-title{margin-bottom:2px;font-size:11px;font-weight:700;line-height:14px;color:#ffffffb2}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-info-container .progress-info-text{font-size:14px;line-height:18px;color:#fff}.table-progress-popover .progress-dropdown.credit-dropdown{height:100px}@-webkit-keyframes progressAnimation{0%{height:0px}to{height:220px}}@keyframes progressAnimation{0%{height:0px}to{height:220px}}ngb-popover-window{padding:unset!important;border:unset!important}ngb-popover-window .popover-arrow{display:none!important}ngb-popover-window .popover-body{padding:unset!important}.dispatch-note .popover-body{position:relative;top:-4px;left:-4px}.dropdown-menu-popover.bs-popover-end-top .dropdown-container{transform:translate(-4px,-3px)}.dropdown-menu-popover.bs-popover-bottom-end .dropdown-container{transform:translate(3px,-3px)}.dropdown-menu-popover.bs-popover-end-bottom .dropdown-container{transform:translate(-3px,3px)}.dropdown-menu-popover.bs-popover-top-end .dropdown-container{transform:translate(3px,3px)}.dropdown-details-title-card-popover .dropdown-container{transform:translateY(-4px)}.tooltip{font-size:12px;position:relative}.tooltip.show{opacity:.83}.tooltip.fade:after,.tooltip.fade:before{transform:translateY(-10px);transition:all .15s ease-in-out}.tooltip.fade:hover:after,.tooltip.fade:hover:before{opacity:1;transform:translate(0)}.tooltip-inner{padding:4px 10px;white-space:nowrap;max-width:none;border-radius:3px}.tooltip-inner:empty{padding:0}.placeholder-delete .tooltip-inner{background-color:#f66}.placeholder-delete .arrow:before{border-top-color:#f66}.custom-popup-owners-for-flag .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(126%) translate(-50%)!important;width:130px;border-radius:3px;box-shadow:0 0 3px #0003}.custom-popup-owners-for-flag .arrow{bottom:-18%;transform:rotate(180deg);left:calc(50% + 2.7rem)}.custom-popup-owners-for-flag .tooltip{opacity:.93!important;width:0}.custom-popup-owners{z-index:999}.custom-popup-owners .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(132%);z-index:999;box-shadow:0 0 3px #0003}.custom-popup-owners .arrow{bottom:-20%;transform:rotate(180deg)}.custom-popup-owners .tooltip{transform:translateY(-61px)!important}.custom-popup-owners-year{z-index:999}.custom-popup-owners-year .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(132%);z-index:999;box-shadow:0 0 3px #0003}.custom-popup-owners-year .arrow{bottom:-20%;transform:rotate(180deg)}.custom-popup-owners-year .tooltip{transform:translate(70px,-61px)!important}.custom-popup-owners-info .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(-100%) translate(-10%);width:200px;height:36px;display:flex;justify-content:center;align-items:center;border-radius:3px;margin-top:3px;box-shadow:0 0 3px #0003}.custom-popup-owners-info .tooltip{opacity:.93;width:0}.custom-popup-owners-info .arrow{display:none}.custom-popup-owners-info #phone-inside{position:relative;right:26px;bottom:0}.custom-popup-owners-info-at .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(-108%) translate(-7%);width:270px;height:36px;display:flex;justify-content:center;align-items:center;border-radius:3px;box-shadow:0 0 3px #0003}.custom-popup-owners-info-at .tooltip{opacity:1;width:0}.custom-popup-owners-info-at .arrow{display:none}.custom-popup-owners-for-tag .tooltip-inner{color:#3b3b3b;background-color:#fff;width:100px;border-radius:3px;box-shadow:0 0 3px #0003!important}.custom-popup-owners-for-tag .tooltip{top:5px!important}.custom-popup-owners-for-tag .arrow{bottom:-24%}.align-items-flex-start{justify-content:center;align-items:center}.align-items-flex-end{display:flex;justify-content:center;flex-direction:column;align-self:flex-end;align-items:flex-start}.label-add{align-self:flex-start}.fadeInLoad{animation:fadeInLoad .25s}@keyframes fadeInLoad{0%{opacity:0}to{opacity:1}}.fadeIn{opacity:1;-webkit-transition:.25s;-moz-transition:.25s;-o-transition:.25s;transition:.25s}.thisText:hover .fadeIn{opacity:0}.fadeInLoad{animation-name:example;animation-duration:.25s}@keyframes example{0%{transform:scale(.5)}to{transform:scale(1)}}.tooltip.tooltip-table-icons{left:12px!important;opacity:1}.tooltip.tooltip-table-icons .arrow{display:none!important}.tooltip.tooltip-table-icons .tooltip-inner{border-radius:0 50px 50px;background:#28529f}.tooltip.show{opacity:1;animation:fadeIn ease .5s!important;-webkit-animation:fadeIn ease .5s!important;-moz-animation:fadeIn ease .5s!important;-o-animation:fadeIn ease .5s!important;-ms-animation:fadeIn ease .5s!important}.ta-tooltip{position:absolute;font-size:12px;text-align:center;color:#fff;line-height:22px;z-index:999999!important;opacity:0;white-space:nowrap;transform:scale(.7)}.ta-tooltip.ta-tooltip-show{opacity:.85;transform:scale(1);padding:0 12px}.ta-tooltip.ta-tooltip-bottom-right,.ta-tooltip.ta-tooltip-bottom-right-corner{transform-origin:top left;border-radius:0 15px 15px}.ta-tooltip.ta-tooltip-bottom-left{transform-origin:top right;border-radius:15px 0 15px 15px}@keyframes scaleItem{0%{transform:scale(.4)}to{transform:scale(1)}}.app-ca-main-tooltip{pointer-events:none}.app-ca-main-tooltip .tooltip-inner{padding:0;background-color:transparent;pointer-events:none}.app-ca-main-tooltip .tooltip-inner .tooltip-holder{display:flex;font-size:11px;font-weight:700;border-radius:2px;padding:2px 8px;animation:scaleItem .3s;white-space:normal}.app-ca-main-tooltip .tooltip-inner .tooltip-holder:empty{padding:0}.tooltip-arrow{display:none!important}.trucks.semitruck svg path,.trucks.semisleeper svg path,.trucks.flatbed svg path,.trucks.stepdeck svg path,.trucks.lowboyrgn svg path,.trucks.chassis svg path,.trucks.conestoga svg path,.trucks.sidekit svg path,.trucks.container svg path,.trailers.semitruck svg path,.trailers.semisleeper svg path,.trailers.flatbed svg path,.trailers.stepdeck svg path,.trailers.lowboyrgn svg path,.trailers.chassis svg path,.trailers.conestoga svg path,.trailers.sidekit svg path,.trailers.container svg path{fill:#92b1f5}.trucks.boxtruck svg path,.trucks.reefertruck svg path,.trucks.cargovan svg path,.trucks.dryvan svg path,.trucks.reefer svg path,.trailers.boxtruck svg path,.trailers.reefertruck svg path,.trailers.cargovan svg path,.trailers.dryvan svg path,.trailers.reefer svg path{fill:#fbc88b}.trucks.dumptruck svg path,.trucks.cementtruck svg path,.trucks.garbagetruck svg path,.trucks.enddump svg path,.trucks.bottomdump svg path,.trucks.hopper svg path,.trucks.tanker svg path,.trucks.pneumatictanker svg path,.trailers.dumptruck svg path,.trailers.cementtruck svg path,.trailers.garbagetruck svg path,.trailers.enddump svg path,.trailers.bottomdump svg path,.trailers.hopper svg path,.trailers.tanker svg path,.trailers.pneumatictanker svg path{fill:#ed9292}.trucks.towtruck svg path,.trucks.carhauler svg path,.trucks.spotter svg path,.trucks.carhaulerstigner svg path,.trailers.towtruck svg path,.trailers.carhauler svg path,.trailers.spotter svg path,.trailers.carhaulerstigner svg path{fill:#86c9c3}.trucks .svgtext-template-text,.trailers .svgtext-template-text{color:#fff;transition:color .3s ease-in-out}.colors .black svg #droplet{fill:#6c6c6c}.colors .brown svg #droplet{fill:#a1887f}.colors .darkgreen svg #droplet{fill:#4db6a2}.colors .lightgreen svg #droplet{fill:#81c784}.colors .darkblue svg #droplet{fill:#546fd2}.colors .lightblue svg #droplet{fill:#64b5f6}.colors .gray svg #droplet{fill:#aaa}.colors .purple svg #droplet{fill:#ba68c8}.colors .gold svg #droplet{fill:#bcad79}.colors .silver svg #droplet{fill:#dadada}.colors .red svg #droplet{fill:#f96b69}.colors .pink svg #droplet{fill:#f26ec2}.colors .white svg #droplet{fill:#f1f1f1}.colors .orange svg #droplet{fill:#ff8a65}.colors .yellow svg #droplet{fill:#ffd54f}.colors:hover{transition:all .3s ease-in-out}.colors:hover .black svg #droplet{fill:#3c3c3c}.colors:hover .brown svg #droplet{fill:#8d6e63}.colors:hover .darkgreen svg #droplet{fill:#26a690}.colors:hover .lightgreen svg #droplet{fill:#66bb6a}.colors:hover .darkblue svg #droplet{fill:#304fc1}.colors:hover .lightblue svg #droplet{fill:#42a5f5}.colors:hover .gray svg #droplet{fill:#919191}.colors:hover .purple svg #droplet{fill:#ab47bc}.colors:hover .gold svg #droplet{fill:#aa9c6e}.colors:hover .silver svg #droplet{fill:#b7b7b7}.colors:hover .red svg #droplet{fill:#ef5350}.colors:hover .pink svg #droplet{fill:#fa4daa}.colors:hover .white svg #droplet{fill:#fff}.colors:hover .orange svg #droplet{fill:#ff7043}.colors:hover .yellow svg #droplet{fill:#ffca28}.text-color-black{color:#424242!important}.text-color-black::-moz-selection{background-color:#42424233!important;color:#424242!important}.text-color-black::selection{background-color:#42424233!important;color:#424242!important}.text-color-black-2{color:#2f2f2f!important}.text-color-black-2::-moz-selection{background-color:#2f2f2f33!important;color:#2f2f2f!important}.text-color-black-2::selection{background-color:#2f2f2f33!important;color:#2f2f2f!important}.text-color-muted{color:#919191!important}.text-color-muted::-moz-selection{background-color:#91919133!important;color:#919191!important}.text-color-muted::selection{background-color:#91919133!important;color:#919191!important}.text-color-green{color:#56b4ac!important}.text-color-green::-moz-selection{background-color:#56b4ac33!important;color:#56b4ac!important}.text-color-green::selection{background-color:#56b4ac33!important;color:#56b4ac!important}.text-color-green-2{color:#259f94!important}.text-color-green-2::-moz-selection{background-color:#259f9433!important;color:#259f94!important}.text-color-green-2::selection{background-color:#259f9433!important;color:#259f94!important}.text-color-green-4{color:#86c9c3!important}.text-color-green-4::-moz-selection{background-color:#86c9c333!important;color:#86c9c3!important}.text-color-green-4::selection{background-color:#86c9c333!important;color:#86c9c3!important}.text-color-blue-5{color:#3074d3!important}.text-color-blue-5::-moz-selection{background-color:#3074d333!important;color:#3074d3!important}.text-color-blue-5::selection{background-color:#3074d333!important;color:#3074d3!important}.text-color-blue-13{color:#6692f1!important}.text-color-blue-13::-moz-selection{background-color:#6692f133!important;color:#6692f1!important}.text-color-blue-13::selection{background-color:#6692f133!important;color:#6692f1!important}.text-color-blue-16{color:#e9effd!important}.text-color-blue-16::-moz-selection{background-color:#e9effd33!important;color:#e9effd!important}.text-color-blue-16::selection{background-color:#e9effd33!important;color:#e9effd!important}.text-color-blue-18{color:#3b73ed!important}.text-color-blue-18::-moz-selection{background-color:#3b73ed33!important;color:#3b73ed!important}.text-color-blue-18::selection{background-color:#3b73ed33!important;color:#3b73ed!important}.text-color-blue-19{color:#92b1f5!important}.text-color-blue-19::-moz-selection{background-color:#92b1f533!important;color:#92b1f5!important}.text-color-blue-19::selection{background-color:#92b1f533!important;color:#92b1f5!important}.text-color-red-10{color:#e66767!important}.text-color-red-10::-moz-selection{background-color:#e6676733!important;color:#e66767!important}.text-color-red-10::selection{background-color:#e6676733!important;color:#e66767!important}.text-color-red-11{color:#df3c3c!important}.text-color-red-11::-moz-selection{background-color:#df3c3c33!important;color:#df3c3c!important}.text-color-red-11::selection{background-color:#df3c3c33!important;color:#df3c3c!important}.text-color-red-13{color:#ed9292!important}.text-color-red-13::-moz-selection{background-color:#ed929233!important;color:#ed9292!important}.text-color-red-13::selection{background-color:#ed929233!important;color:#ed9292!important}.text-color-yellow{color:#fab15c!important}.text-color-yellow::-moz-selection{background-color:#fab15c33!important;color:#fab15c!important}.text-color-yellow::selection{background-color:#fab15c33!important;color:#fab15c!important}.text-color-purple{color:#b370f0!important}.text-color-purple::-moz-selection{background-color:#b370f033!important;color:#b370f0!important}.text-color-purple::selection{background-color:#b370f033!important;color:#b370f0!important}.text-color-special-filter-purple{color:#9e47ec!important}.text-color-special-filter-purple::-moz-selection{background-color:#9e47ec33!important;color:#9e47ec!important}.text-color-special-filter-purple::selection{background-color:#9e47ec33!important;color:#9e47ec!important}.text-color-grey-9{color:#b7b7b7!important}.text-color-grey-9::-moz-selection{background-color:#b7b7b733!important;color:#b7b7b7!important}.text-color-grey-9::selection{background-color:#b7b7b733!important;color:#b7b7b7!important}.text-color-light-grey{color:#e5e5e5!important}.text-color-light-grey::-moz-selection{background-color:#e5e5e533!important;color:#e5e5e5!important}.text-color-light-grey::selection{background-color:#e5e5e533!important;color:#e5e5e5!important}.text-color-light-grey-2{color:#aaa!important}.text-color-light-grey-2::-moz-selection{background-color:#aaa3!important;color:#aaa!important}.text-color-light-grey-2::selection{background-color:#aaa3!important;color:#aaa!important}.text-color-light-grey-6{color:#ccc!important}.text-color-light-grey-6::-moz-selection{background-color:#ccc3!important;color:#ccc!important}.text-color-light-grey-6::selection{background-color:#ccc3!important;color:#ccc!important}.text-color-white{color:#fff!important}.text-color-white::-moz-selection{background-color:#fff3!important;color:#fff!important}.text-color-white::selection{background-color:#fff3!important;color:#fff!important}.text-color-white-2{color:#fff!important}.text-color-white-2::-moz-selection{background-color:#fff3!important;color:#fff!important}.text-color-white-2::selection{background-color:#fff3!important;color:#fff!important}.text-color-white-4{color:#ffffffb2!important}.text-color-white-4::-moz-selection{background-color:#fff3!important;color:#ffffffb2!important}.text-color-white-4::selection{background-color:#fff3!important;color:#ffffffb2!important}.text-color-bw6-2{color:#6c6c6c!important}.text-color-bw6-2::-moz-selection{background-color:#6c6c6c33!important;color:#6c6c6c!important}.text-color-bw6-2::selection{background-color:#6c6c6c33!important;color:#6c6c6c!important}.text-color-bw-9{color:#dadada!important}.text-color-bw-9::-moz-selection{background-color:#dadada33!important;color:#dadada!important}.text-color-bw-9::selection{background-color:#dadada33!important;color:#dadada!important}.text-color-grey{color:#919191!important}.text-color-grey::-moz-selection{background-color:#91919133!important;color:#919191!important}.text-color-grey::selection{background-color:#91919133!important;color:#919191!important}.text-color-grey .address-text::-moz-selection,.text-color-grey .marker-bold-text::-moz-selection{background-color:#91919133!important;color:#919191!important}.text-color-grey .address-text::selection,.text-color-grey .marker-bold-text::selection{background-color:#91919133!important;color:#919191!important}.text-color-orange-1{color:#ff7043!important}.text-color-orange-1::-moz-selection{background-color:#ff704333!important;color:#ff7043!important}.text-color-orange-1::selection{background-color:#ff704333!important;color:#ff7043!important}.text-color-orange-3{color:#ffb097!important}.text-color-orange-3::-moz-selection{background-color:#ffb09733!important;color:#ffb097!important}.text-color-orange-3::selection{background-color:#ffb09733!important;color:#ffb097!important}.text-color-brown-1{color:#865e3a!important}.text-color-brown-1::-moz-selection{background-color:#865e3a33!important;color:#865e3a!important}.text-color-brown-1::selection{background-color:#865e3a33!important;color:#865e3a!important}.text-color-light-blue-2{color:#1ab5e6!important}.text-color-light-blue-2::-moz-selection{background-color:#1ab5e633!important;color:#1ab5e6!important}.text-color-light-blue-2::selection{background-color:#1ab5e633!important;color:#1ab5e6!important}.text-hover-white{transition:color .3s ease-in-out ease-in-out}.text-hover-white:hover{color:#fff!important}.text-hover-black{transition:color .3s ease-in-out ease-in-out}.text-hover-black:hover{color:#424242!important}.text-hover-blue-15{transition:color .3s ease-in-out ease-in-out}.text-hover-blue-15:hover{color:#0b49d1!important}.text-hover-blue-18{transition:color .3s ease-in-out ease-in-out}.text-hover-blue-18:hover{color:#3b73ed!important}.text-hover-bw6-2{transition:color .3s ease-in-out ease-in-out}.text-hover-bw6-2:hover{color:#6c6c6c!important}.text-size-11{font-size:11px!important;line-height:14px!important}.text-size-14{font-size:14px!important;line-height:18px!important}.text-size-16{font-size:16px!important;line-height:19px!important}.text-size-18{font-size:18px!important;line-height:22px!important}.text-size-20{font-size:20px!important;line-height:24px!important}.text-size-26{font-size:26px!important;line-height:32px!important}.text-size-28{font-size:28px!important;line-height:34px!important}.font-size-11{font-size:11px!important}.line-height-12{line-height:12px!important}.svg-fill-black svg path,.svg-fill-black svg circle{fill:#424242!important}.svg-fill-white svg path,.svg-fill-white svg circle{fill:#fff!important}.svg-fill-white-2 svg path,.svg-fill-white-2 svg circle{fill:#fff!important}.svg-fill-muted svg path,.svg-fill-muted svg circle{fill:#919191!important}.svg-fill-bw6-2 svg path,.svg-fill-bw6-2 svg circle{fill:#6c6c6c!important}.svg-fill-bw-9 svg path,.svg-fill-bw-9 svg circle{fill:#dadada!important}.svg-fill-light-grey-2 svg path,.svg-fill-light-grey-2 svg circle{fill:#aaa!important}.svg-fill-light-grey-6 svg path,.svg-fill-light-grey-6 svg circle{fill:#ccc!important}.svg-fill-blue-8 svg path,.svg-fill-blue-8 svg circle{fill:#6692f1!important}.svg-fill-blue-13 svg path,.svg-fill-blue-13 svg circle{fill:#6692f1!important}.svg-fill-blue-14 svg path,.svg-fill-blue-14 svg circle{fill:#3b73ed!important}.svg-fill-blue-17 svg path,.svg-fill-blue-17 svg circle{fill:#bed0f9!important}.svg-fill-blue-19 svg path,.svg-fill-blue-19 svg circle{fill:#92b1f5!important}.svg-fill-blue-26 svg path,.svg-fill-blue-26 svg circle{fill:#4dc5eb!important}.svg-fill-green svg path,.svg-fill-green svg circle{fill:#56b4ac!important}.svg-fill-green-2 svg path,.svg-fill-green-2 svg circle{fill:#259f94!important}.svg-fill-green-4 svg path,.svg-fill-green-4 svg circle{fill:#86c9c3!important}.svg-fill-green-6 svg path,.svg-fill-green-6 svg circle{fill:#77bf56!important}.svg-fill-yellow-1 svg path,.svg-fill-yellow-1 svg circle{fill:#fab15c!important}.svg-fill-yellow-4 svg path,.svg-fill-yellow-4 svg circle{fill:#fbc88b!important}.svg-fill-yellow-5 svg path,.svg-fill-yellow-5 svg circle{fill:#f89b2e!important}.svg-fill-yellow-8 svg path,.svg-fill-yellow-8 svg circle{fill:#daad4f!important}.svg-fill-white-4 svg path,.svg-fill-white-4 svg circle{fill:#ffffffb2!important}.svg-fill-grey svg path,.svg-fill-grey svg circle{fill:#919191!important}.svg-fill-red-10 svg path,.svg-fill-red-10 svg circle{fill:#e66767!important}.svg-fill-red-11 svg path,.svg-fill-red-11 svg circle{fill:#df3c3c!important}.svg-fill-red-13 svg path,.svg-fill-red-13 svg circle{fill:#ed9292!important}.svg-fill-red-14 svg path,.svg-fill-red-14 svg circle{fill:#c20c0c!important}.svg-fill-red-18 svg path,.svg-fill-red-18 svg circle{fill:#e668a0!important}.svg-fill-orange-4 svg path,.svg-fill-orange-4 svg circle{fill:#ff906d!important}.svg-fill-brown svg path,.svg-fill-brown svg circle{fill:#865e3a!important}.svg-fill-purple-4 svg path,.svg-fill-purple-4 svg circle{fill:#9e47ec!important}.svg-hover-white svg path{transition:fill .3s ease-in-out}.svg-hover-white:hover svg path{fill:#fff!important}.svg-hover-white-2 svg path{transition:fill .3s ease-in-out}.svg-hover-white-2:hover svg path{fill:#fff!important}.svg-hover-muted svg path{transition:fill .3s ease-in-out}.svg-hover-muted:hover svg path{fill:#919191!important}.svg-hover-grey-4 svg path{transition:fill .3s ease-in-out}.svg-hover-grey-4:hover svg path{fill:#ccc!important}.svg-hover-black svg path{transition:fill .3s ease-in-out}.svg-hover-black:hover svg path{fill:#424242!important}.svg-hover-blue-10 svg path{transition:fill .3s ease-in-out}.svg-hover-blue-10:hover svg path{fill:#6f9ee033!important}.svg-hover-blue-15 svg path{transition:fill .3s ease-in-out}.svg-hover-blue-15:hover svg path{fill:#0b49d1!important}.svg-hover-blue-17 svg path{transition:fill .3s ease-in-out}.svg-hover-blue-17:hover svg path{fill:#bed0f9!important}.svg-hover-blue-19 svg path{transition:fill .3s ease-in-out}.svg-hover-blue-19:hover svg path{fill:#92b1f5!important}.svg-hover-bw6-2 svg path{transition:fill .3s ease-in-out}.svg-hover-bw6-2:hover svg path{fill:#6c6c6c!important}.svg-hover-bw-9 svg path{transition:fill .3s ease-in-out}.svg-hover-bw-9:hover svg path{fill:#dadada!important}.svg-hover-trash-red svg path{transition:fill .3s ease-in-out}.svg-hover-trash-red:hover svg path{fill:#ff5050!important}.svg-hover-red-14 svg path{transition:fill .3s ease-in-out}.svg-hover-red-14:hover svg path{fill:#c20c0c!important}.svg-size-6 svg{width:6px;height:6px}.svg-size-10 svg{width:10px;height:10px}.svg-size-12 svg{width:12px;height:12px}.svg-size-14 svg{width:14px;height:14px}.svg-size-16 svg{width:16px;height:16px}.svg-size-17 svg{width:17px;height:17px}.svg-size-18 svg{width:18px;height:18px}.svg-size-22 svg{width:22px;height:22px}.svg-size-23 svg{width:23px;height:23px}.svg-size-26 svg{width:26px;height:26px}.svg-size-30-26 svg{width:30px;height:26px}.svg-size-44-16 svg{width:44px;height:16px}.svg-size-90 svg{width:90px;height:90px}.background-transparent{background-color:transparent}.background-white{background-color:#fff}.background-black{background-color:#424242}.background-black-2{background-color:#2f2f2f}.background-black-3{background-color:#1d1d1d}.background-gray{background-color:#e5e5e5}.background-gray-2{background-color:#6c6c6c}.background-gray-12{background-color:#eee}.background-light-gray-2{background-color:#aaa}.background-light-gray-6{background-color:#ccc}.background-light-gray-7{background-color:#fbfbfb}.background-blue-5{background-color:#3074d3}.background-blue-13{background-color:#6692f1}.background-blue-14,.background-blue-18{background-color:#3b73ed}.background-blue-19{background-color:#92b1f5}.background-blue-20{background-color:#3b73ed33}.background-green-0{background-color:#56b4ac}.background-green-2{background-color:#259f94}.background-green-3{background-color:#b6dfdb}.background-green-4,.background-green-6{background-color:#86c9c3}.background-dark-2{background-color:#91919133}.background-red-19{background-color:#df3d85}.background-purple-4{background-color:#9e47ec}.background-gold-bold{background-color:#cf961d}.background-gold-subtle{background-color:#e4c481}.background-orange-3{background-color:#ffb097}.background-orange-4{background-color:#ff906d}.background-orange-7{background-color:#ffcfc0}.background-yellow-8{background-color:#daad4f}.background-bw5{background-color:#919191}.background-bw6-2{background-color:#6c6c6c}.background-brown-bold{background-color:#865e3a}.background-hover-black{transition:background-color .3s ease-in-out}.background-hover-black:hover{background-color:#424242!important}.background-hover-black-1{transition:background-color .3s ease-in-out}.background-hover-black-1:hover{background-color:#424242!important}.background-hover-grey-2{transition:background-color .3s ease-in-out}.background-hover-grey-2:hover{background-color:#6c6c6c!important}.background-hover-bw2{transition:background-color .3s ease-in-out}.background-hover-bw2:hover{background-color:#eee!important}.background-hover-bw6{transition:background-color .3s ease-in-out}.background-hover-bw6:hover{background-color:#606060!important}.background-hover-bw6-2{transition:background-color .3s ease-in-out}.background-hover-bw6-2:hover{background-color:#6c6c6c!important}.background-hover-bw-9{transition:background-color .3s ease-in-out}.background-hover-bw-9:hover{background-color:#dadada!important}.background-hover-blue-13{transition:background-color .3s ease-in-out}.background-hover-blue-13:hover{background-color:#6692f1!important}.background-hover-blue-15{transition:background-color .3s ease-in-out}.background-hover-blue-15:hover{background-color:#0b49d1!important}.background-hover-blue-16{transition:background-color .3s ease-in-out}.background-hover-blue-16:hover{background-color:#e9effd!important}.background-hover-blue-17{transition:background-color .3s ease-in-out}.background-hover-blue-17:hover{background-color:#bed0f9!important}.background-hover-blue-19{transition:background-color .3s ease-in-out}.background-hover-blue-19:hover{background-color:#92b1f5!important}.background-hover-blue-20{transition:background-color .3s ease-in-out}.background-hover-blue-20:hover{background-color:#3b73ed33!important}.background-hover-blue-21{transition:background-color .3s ease-in-out}.background-hover-blue-21:hover{background-color:#3b73ed66!important}.background-hover-gray{transition:background-color .3s ease-in-out}.background-hover-gray:hover{background-color:#e5e5e5!important}.background-hover-light-grey{transition:background-color .3s ease-in-out}.background-hover-light-grey:hover{background-color:#e5e5e5!important}.br-1{border-radius:1px}.br-2{border-radius:2px}.br-3{border-radius:3px}.br-10{border-radius:10px}.br-60{border-radius:60px}.br-circle{border-radius:50%}.padding-2{padding:2px}.padding-l-2{padding-left:2px}.padding-r-2{padding-right:2px}.padding-t-2{padding-top:2px}.padding-4{padding:4px}.padding-l-4{padding-left:4px}.padding-r-4{padding-right:4px}.padding-t-4{padding-top:4px}.padding-6{padding:6px}.padding-l-6{padding-left:6px}.padding-r-6{padding-right:6px}.padding-t-6{padding-top:6px}.padding-10{padding:10px}.padding-l-10{padding-left:10px}.padding-r-10{padding-right:10px}.padding-t-10{padding-top:10px}.padding-15{padding:15px}.padding-l-15{padding-left:15px}.padding-r-15{padding-right:15px}.padding-t-15{padding-top:15px}.padding-y-2{padding-top:2px;padding-bottom:2px}.padding-y-4{padding-top:4px;padding-bottom:4px}.padding-y-6{padding-top:6px;padding-bottom:6px}.padding-y-10{padding-top:10px;padding-bottom:10px}.padding-y-15{padding-top:15px;padding-bottom:15px}.padding-x-4{padding-left:4px;padding-right:4px}.padding-x-5{padding-left:5px;padding-right:5px}.padding-x-6{padding-left:6px;padding-right:6px}.padding-x-10{padding-left:10px;padding-right:10px}.margin--2{margin:-2px}.margin-y--2{margin-top:-2px;margin-bottom:-2px}.margin-x--2{margin-left:-2px;margin-right:-2px}.margin-t--2{margin-top:-2px}.margin-r--2{margin-right:-2px}.margin-b--2{margin-bottom:-2px}.margin-l--2{margin-left:-2px}.margin-1{margin:1px}.margin-y-1{margin-top:1px;margin-bottom:1px}.margin-x-1{margin-left:1px;margin-right:1px}.margin-t-1{margin-top:1px}.margin-r-1{margin-right:1px}.margin-b-1{margin-bottom:1px}.margin-l-1{margin-left:1px}.margin-2{margin:2px}.margin-y-2{margin-top:2px;margin-bottom:2px}.margin-x-2{margin-left:2px;margin-right:2px}.margin-t-2{margin-top:2px}.margin-r-2{margin-right:2px}.margin-b-2{margin-bottom:2px}.margin-l-2{margin-left:2px}.margin-4{margin:4px}.margin-y-4{margin-top:4px;margin-bottom:4px}.margin-x-4{margin-left:4px;margin-right:4px}.margin-t-4{margin-top:4px}.margin-r-4{margin-right:4px}.margin-b-4{margin-bottom:4px}.margin-l-4{margin-left:4px}.margin-5{margin:5px}.margin-y-5{margin-top:5px;margin-bottom:5px}.margin-x-5{margin-left:5px;margin-right:5px}.margin-t-5{margin-top:5px}.margin-r-5{margin-right:5px}.margin-b-5{margin-bottom:5px}.margin-l-5{margin-left:5px}.margin-6{margin:6px}.margin-y-6{margin-top:6px;margin-bottom:6px}.margin-x-6{margin-left:6px;margin-right:6px}.margin-t-6{margin-top:6px}.margin-r-6{margin-right:6px}.margin-b-6{margin-bottom:6px}.margin-l-6{margin-left:6px}.margin-8{margin:8px}.margin-y-8{margin-top:8px;margin-bottom:8px}.margin-x-8{margin-left:8px;margin-right:8px}.margin-t-8{margin-top:8px}.margin-r-8{margin-right:8px}.margin-b-8{margin-bottom:8px}.margin-l-8{margin-left:8px}.margin-10{margin:10px}.margin-y-10{margin-top:10px;margin-bottom:10px}.margin-x-10{margin-left:10px;margin-right:10px}.margin-t-10{margin-top:10px}.margin-r-10{margin-right:10px}.margin-b-10{margin-bottom:10px}.margin-l-10{margin-left:10px}.margin-15{margin:15px}.margin-y-15{margin-top:15px;margin-bottom:15px}.margin-x-15{margin-left:15px;margin-right:15px}.margin-t-15{margin-top:15px}.margin-r-15{margin-right:15px}.margin-b-15{margin-bottom:15px}.margin-l-15{margin-left:15px}.margin-22{margin:22px}.margin-y-22{margin-top:22px;margin-bottom:22px}.margin-x-22{margin-left:22px;margin-right:22px}.margin-t-22{margin-top:22px}.margin-r-22{margin-right:22px}.margin-b-22{margin-bottom:22px}.margin-l-22{margin-left:22px}.margin-24{margin:24px}.margin-y-24{margin-top:24px;margin-bottom:24px}.margin-x-24{margin-left:24px;margin-right:24px}.margin-t-24{margin-top:24px}.margin-r-24{margin-right:24px}.margin-b-24{margin-bottom:24px}.margin-l-24{margin-left:24px}.gap-xs{gap:2px}.w-1{width:1px}.h-1{height:1px}.w-2{width:2px}.h-2{height:2px}.w-4{width:4px}.h-4{height:4px}.w-10{width:10px}.h-10{height:10px}.w-14{width:14px}.h-14{height:14px}.w-15{width:15px}.h-15{height:15px}.w-18{width:18px}.h-18{height:18px}.w-22{width:22px}.h-22{height:22px}.w-26{width:26px}.h-26{height:26px}.w-31{width:31px}.h-31{height:31px}.w-32{width:32px}.h-32{height:32px}.w-36{width:36px}.h-36{height:36px}.w-116{width:116px}.h-116{height:116px}.w-120{width:120px}.h-120{height:120px}.w-fit-content{width:fit-content}.filter-dropdown-popover{width:260px;position:relative;top:-4px;left:-4px}.filter-dropdown-popover-max-height{max-height:360px}.filter-dropdown-list{max-height:260px;overflow-y:auto}.filter-dropdown-list-icon{height:26px;transition:background-color .3s ease-in-out}.filter-dropdown-list-icon-value{height:14px;width:14px}.filter-dropdown-list-icon-remove{display:none}.filter-dropdown-list-icon:hover{background-color:#424242}.filter-dropdown-list-icon:hover .filter-dropdown-icon-count{display:none}.filter-dropdown-list-icon-selected:hover{background-color:#0b49d1}.filter-dropdown-list-item-icons{transition:opacity .3s ease-in-out;opacity:0}.filter-dropdown-list-item-status-circle{height:10px;width:10px}.filter-dropdown-list-item-remove{display:none}.filter-dropdown-list-item:hover{background-color:#424242}.filter-dropdown-list-item:hover .filter-dropdown-list-item-icons{opacity:1}.filter-dropdown-list-item:hover .filter-dropdown-list-item-icons svg path{fill:var(--svg-fill-color, #e66767)}.filter-dropdown-list-item-hover:hover .filter-dropdown-list-item-remove{display:flex}.filter-dropdown-list-item-hover:hover .filter-dropdown-list-item-remove svg path{fill:#e66767!important}.filter-dropdown-list-item-hover:hover .filter-dropdown-list-item-count{display:none!important}.filter-dropdown-icon{height:26px;width:26px}.filter-dropdown-count{height:14px;width:14px}.filter-dropdown-count-remove,.filter-dropdown-count-hover:hover .filter-dropdown-count-value{display:none}.filter-dropdown-count-hover:hover .filter-dropdown-count-remove{display:flex}.filter-dropdown-button{height:26px}.filter-dropdown-footer-button{color:#dadada;transition:color .3s ease-in-out,background-color .3s ease-in-out;height:18px;width:50%}.filter-dropdown-footer-button-set{color:#fff;background-color:#3b73ed}.filter-dropdown-footer-button-set:hover{background-color:#e9effd;color:#0b49d1}.filter-dropdown-footer-button-clear{color:#dadada}.filter-dropdown-footer-button-clear:hover{background-color:#eee;color:#424242}.filter-dropdown-list-badge{min-width:18px}.h-7{height:7px;min-height:7px!important}.h-8{height:8px;min-height:8px!important}.h-10{height:10px;min-height:10px!important}.h-12{height:12px;min-height:12px!important}.h-14{height:14px;min-height:14px!important}.h-15{height:15px;min-height:15px!important}.h-16{height:16px;min-height:16px!important}.h-18{height:18px;min-height:18px!important}.h-22{height:22px;min-height:22px!important}.h-24{height:24px;min-height:24px!important}.h-26{height:26px;min-height:26px!important}.h-30{height:30px;min-height:30px!important}.h-34{height:34px;min-height:34px!important}.h-37{height:37px;min-height:37px!important}.h-40{height:40px;min-height:40px!important}.h-42{height:42px;min-height:42px!important}.h-44{height:44px;min-height:44px!important}.h-52{height:52px;min-height:52px!important}.h-486{height:486px;min-height:486px!important}.h-800{height:800px;min-height:800px!important}.h-960{height:960px;min-height:960px!important}.w-2{width:2px;min-width:2px!important}.w-7{width:7px;min-width:7px!important}.w-8{width:8px;min-width:8px!important}.w-10{width:10px;min-width:10px!important}.w-12{width:12px;min-width:12px!important}.w-15{width:15px;min-width:15px!important}.w-18{width:18px;min-width:18px!important}.w-22{width:22px;min-width:22px!important}.w-24{width:24px;min-width:24px!important}.w-26{width:26px;min-width:26px!important}.w-29{width:29px;min-width:29px!important}.w-30{width:30px;min-width:30px!important}.w-36{width:36px;min-width:36px!important}.w-40{width:40px;min-width:40px!important}.w-42{width:42px;min-width:42px!important}.w-46{width:46px;min-width:46px!important}.w-49{width:49px;min-width:49px!important}.w-57{width:57px;min-width:57px!important}.w-60{width:60px;min-width:60px!important}.w-68{width:68px;min-width:68px!important}.w-70{width:70px;min-width:70px!important}.w-71{width:71px;min-width:71px!important}.w-78{width:78px;min-width:78px!important}.w-80{width:80px;min-width:80px!important}.w-83{width:83px;min-width:83px!important}.w-84{width:84px;min-width:84px!important}.w-88{width:88px;min-width:88px!important}.w-90{width:90px;min-width:90px!important}.w-91{width:91px;min-width:91px!important}.w-93{width:93px;min-width:93px!important}.w-98{width:98px;min-width:98px!important}.w-101{width:101px;min-width:101px!important}.w-106{width:106px;min-width:106px!important}.w-108{width:108px;min-width:108px!important}.w-116{width:116px;min-width:116px!important}.w-126{width:126px;min-width:126px!important}.w-144{width:144px;min-width:144px!important}.w-155{width:155px;min-width:155px!important}.w-172{width:172px;min-width:172px!important}.w-179{width:179px;min-width:179px!important}.w-202{width:202px;min-width:202px!important}.w-223{width:223px;min-width:223px!important}.w-264{width:264px;min-width:264px!important}.w-268{width:268px;min-width:268px!important}.w-272{width:272px;min-width:272px!important}.w-277{width:277px;min-width:277px!important}.w-334{width:334px;min-width:334px!important}.w-442{width:442px;min-width:442px!important}.w-462{width:462px;min-width:462px!important}.w-612{width:612px;min-width:612px!important}.w-616{width:616px;min-width:616px!important}.w-620{width:620px;min-width:620px!important}.min-w-18{min-width:18px}.flex-1{flex:1}.w-33{width:33%}.w-40p{width:40%}.w-90p{width:90%}*{margin:0;font-family:Montserrat,sans-serif}html{scroll-behavior:auto!important}.gm-style-iw-chr,.gm-style-iw-tc{display:none}.gm-style .gm-style-iw-c{border-radius:0}.gm-style-iw{overflow-y:auto!important;overflow-x:hidden!important}.gm-style-iw>div{overflow:visible!important}.infoWindow{overflow:hidden!important}.gm-style-iw-d,.gm-style-iw.gm-style-iw-c{max-height:350px!important}::ng-deep .popover{--bs-popover-border-width: 0;--bs-popover-body-padding-y: 0;--bs-popover-body-padding-x: 0}::ng-deep .popover .popover-arrow{display:none}.c-pointer{cursor:pointer}.pointer-events-none{pointer-events:none}.ca-scroll-bar{overflow-y:scroll}.ca-scroll-bar::-webkit-scrollbar{width:2px}.ca-scroll-bar::-webkit-scrollbar-thumb{background:#ccc;border-radius:1px}.ca-scroll-bar::-webkit-scrollbar-track{background:#2f2f2f}.place-items-center{justify-content:center;align-items:center}.prevent-text-selection{-ms-user-select:none;-webkit-user-select:none;user-select:none;-moz-user-select:none}.datetime-dropdown-holder{position:relative;top:16px}.pickers_holder{position:absolute;top:3px!important;width:auto!important;padding:0;background-color:#fff;box-shadow:0 0 4px #00000026;z-index:999;border-radius:3px;overflow:hidden}.pickers_holder .time_picker{width:167px}.pickers_holder .date_picker{display:flex}.pickers_holder .date_picker .month-years-size{position:relative;width:48px;background-color:#f9f9f9}.pickers_holder .date_picker .month-years-size .calendar_border{position:absolute;top:50%;width:100%;height:24px;transform:translateY(-50%);background-color:#fff}.pickers_holder .date_picker .month-years-size .month-year-item{display:flex;align-items:center;justify-content:center;height:24px;font-size:14px;color:#919191;font-weight:400;text-align:center;text-transform:uppercase}.pickers_holder .date_picker .month-years-size .month-year-item .left-year-show{color:#919191;font-size:14px;font-weight:700}.pickers_holder .date_picker .month-years-size .month-year-item:hover{color:#6c6c6c;cursor:pointer;background-color:#fbe9e9;border-radius:2px}.pickers_holder .date_picker .month-years-size cdk-virtual-scroll-viewport ::-webkit-scrollbar{display:none}.pickers_holder .date_picker .month-years-size cdk-virtual-scroll-viewport::-webkit-scrollbar{display:none}.pickers_holder .date_picker .month-years-size .cdk-virtual-scroll-content-wrapper{padding:133px 2px 0}.pickers_holder .date_picker .full-calendars-list{flex:1;max-height:290px;min-width:264px;overflow:hidden}.pickers_holder .date_picker .full-calendars-list .full_list{height:100%}.pickers_holder .date_picker .full-calendars-list .full_list .selfScroll{width:100%;height:100%}.pickers_holder .time_picker .time_picker_head{height:36px;display:flex;padding:0 12px;align-items:center;justify-content:space-between}.pickers_holder .time_picker .time_picker_head .selected_time{font-size:14px;font-weight:800;color:#6c6c6c}.pickers_holder .time_picker .time_picker_head .sel_now{color:#536bc2;font-size:14px;font-weight:700}.pickers_holder .time_picker .time_picker_head .sel_now:hover{cursor:pointer;color:#5673aa}.pickers_holder .time_picker .time_picker_body .picker_body_head{height:22px;display:flex;align-items:center;background-color:#f7f7f7;margin:0 4px 2px;border-radius:2px}.pickers_holder .time_picker .time_picker_body .picker_body_head div{flex:0 0 33%;text-align:center;font-size:10px;font-weight:700;color:#919191}.pickers_holder .time_picker .time_picker_body .picker_body_head div.active{color:#919191}.pickers_holder .time_picker .time_picker_body .picker_body{position:relative;height:155px;display:flex;justify-content:center}.pickers_holder .time_picker .time_picker_body .picker_body:after{content:\"\";position:absolute;width:100%;height:31px;top:-1px;left:0;pointer-events:none;background:linear-gradient(to bottom,#fff,#fff0);z-index:11}.pickers_holder .time_picker .time_picker_body .picker_body:before{content:\"\";position:absolute;pointer-events:none;width:100%;height:31px;bottom:-1px;left:0;background:linear-gradient(to top,#fff,#fff0);z-index:11}.pickers_holder .time_picker .time_picker_body .picker_body .picker_line{position:absolute;width:calc(100% - 8px);height:22px;top:50%;left:4px;border-radius:2px;transform:translateY(-50%);background-color:#9191911a}.pickers_holder .time_picker .time_picker_body .picker_body .picker_line span{position:absolute;left:30%;font-size:14px;font-weight:400;color:#919191}.pickers_holder .time_picker .time_picker_body .picker_body .scroll_pickers{position:relative;height:22px;flex:0 0 33.3%;height:100%;padding:67px 0;margin:0 7px;overflow:auto;text-align:center;-ms-overflow-style:none;scrollbar-width:none;z-index:10}.pickers_holder .time_picker .time_picker_body .picker_body .scroll_pickers:first-child{flex:0 0 28px}.pickers_holder .time_picker .time_picker_body .picker_body .scroll_pickers:nth-child(2){flex:0 0 36px}.pickers_holder .time_picker .time_picker_body .picker_body .scroll_pickers:nth-child(3){flex:0 0 38px}.pickers_holder .time_picker .time_picker_body .picker_body .scroll_pickers::-webkit-scrollbar{display:none}.pickers_holder .time_picker .time_picker_body .picker_body .scroll_pickers .scroll_item{height:22px;display:flex;align-items:center;justify-content:center;font-size:14px;color:#919191;font-weight:400;-webkit-user-select:none;user-select:none}.pickers_holder .time_picker .time_picker_body .picker_body .scroll_pickers .scroll_item:hover{color:#5673aa;cursor:pointer}.pickers_holder .time_picker .time_picker_body .picker_body .scroll_pickers:hover{box-shadow:inset 0 0 4px #00000026}.pickers_holder .time_picker .picker_buttons{display:flex;padding:6px;justify-content:space-between}.pickers_holder .time_picker .picker_buttons .pick_button{display:flex;align-items:center;justify-content:center;height:32px;padding:0 12px;text-align:center;border-radius:2px;font-size:12px;font-weight:700;color:#919191b3}.pickers_holder .time_picker .picker_buttons .pick_button:hover{background-color:#f3f3f3;color:#919191;cursor:pointer}.pickers_holder .time_picker .picker_buttons .pick_button.set_button{width:57px;text-align:center;background-color:#6d82c7;color:#fff}.pickers_holder .time_picker .picker_buttons .pick_button.set_button:hover{background-color:#536bc2}.pickers_holder.dark_picker{background-color:#2f2f2f}.pickers_holder.dark_picker .month-years-size{width:40px;background-color:#424242}.pickers_holder.dark_picker .month-years-size .calendar_border{position:absolute;top:50%;width:100%;height:26px;transform:translateY(-50%);background-color:#2f2f2f}.pickers_holder.dark_picker .month-years-size .month-year-item{height:22px;color:#ccc;font-size:11px}.pickers_holder.dark_picker .month-years-size .month-year-item .left-year-show{color:#ccc;font-size:11px}.pickers_holder.dark_picker .month-years-size .month-year-item.current_month_year{color:#fff}.pickers_holder.dark_picker .month-years-size .month-year-item.current_month_year .left-year-show{color:#fff;font-weight:700}.pickers_holder.dark_picker .month-years-size .month-year-item:hover{color:#fff;background-color:#2f2f2f}.pickers_holder.dark_picker .month-years-size .cdk-virtual-scroll-content-wrapper{padding:133px 4px 0}.pickers_holder.dark_picker .date_picker{margin:4px}.pickers_holder.dark_picker .date_picker .full-calendars-list{min-width:184px}.pickers_holder.dark_picker .date_picker .full-calendars-list .calendar_view{width:182px;padding-top:6px;background-color:#2f2f2f}.pickers_holder.dark_picker .date_picker .full-calendars-list .calendar_view .calendar_view_head{padding:0 6px}.pickers_holder.dark_picker .date_picker .full-calendars-list .calendar_view .calendar_view_head .month_name{padding:0 4px;color:#fff;font-size:11px}.pickers_holder.dark_picker .date_picker .full-calendars-list .calendar_view .calendar_view_head .month_name .year_hold{margin-right:0;color:#fff}.pickers_holder.dark_picker .date_picker .full-calendars-list .calendar_view .calendar_view_head .today{padding:0 4px;color:#92b1f5;font-size:11px;text-transform:uppercase}.pickers_holder.dark_picker .date_picker .full-calendars-list .calendar_view .calendar_view_head .today:hover{color:#fff}.pickers_holder.dark_picker .date_picker .full-calendars-list .calendar_view .calendars_list_view .calendar_indicator{margin:12px 10px;color:#919191;font-size:11px;text-transform:uppercase}.pickers_holder.dark_picker .date_picker .full-calendars-list .calendar_view .calendars_list_view .calendar_indicator.current_year{color:#fff}.pickers_holder.dark_picker .date_picker .full-calendars-list .calendar_view .calendars_list_view .calendar_indicator.full_calendar{margin-bottom:4px}.pickers_holder.dark_picker .date_picker .full-calendars-list .calendar_view .calendars_list_view .calendar_month_days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin:0 6px 4px;padding:0}.pickers_holder.dark_picker .date_picker .full-calendars-list .calendar_view .calendars_list_view .calendar_month_days .cal_day{width:22px;height:22px;margin:0;font-size:9px;color:#aaa;text-align:center}.pickers_holder.dark_picker .date_picker .full-calendars-list .calendar_view .calendars_list_view .month_list{display:grid;grid-template-columns:repeat(3,1fr);column-gap:4px;row-gap:12px;justify-content:unset;margin:0 6px}.pickers_holder.dark_picker .date_picker .full-calendars-list .calendar_view .calendars_list_view .month_list .month_list_item{margin:0;height:22px;color:#919191;font-size:11px}.pickers_holder.dark_picker .date_picker .full-calendars-list .calendar_view .calendars_list_view .month_list .month_list_item:hover:not(.current_month){background-color:#424242;color:#fff;border-radius:2px;cursor:pointer}.pickers_holder.dark_picker .date_picker .full-calendars-list .calendar_view .calendars_list_view .month_list .month_list_item.current_month{color:#fff;background-color:#3b73ed66;border-radius:2px;cursor:pointer}.pickers_holder.dark_picker .date_picker .full-calendars-list .calendar_view .calendars_list_view .month_list.current_year .month_list_item{color:#fff}.pickers_holder.dark_picker .date_picker .full-calendars-list .calendar_view .calendars_list_view .calendar_days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin:0 6px;padding:0;height:auto}.pickers_holder.dark_picker .date_picker .full-calendars-list .calendar_view .calendars_list_view .calendar_days .calendar_day{width:22px;height:22px;margin:0;color:#919191;font-size:11px}.pickers_holder.dark_picker .date_picker .full-calendars-list .calendar_view .calendars_list_view .calendar_days .calendar_day.current_day{color:#fff;background-color:#3b73ed66;border-radius:2px}.pickers_holder.dark_picker .date_picker .full-calendars-list .calendar_view .calendars_list_view .calendar_days .calendar_day.selected_day{background-color:#3b73ed66;color:#fff;border-radius:2px}.pickers_holder.dark_picker .date_picker .full-calendars-list .calendar_view .calendars_list_view .calendar_days .calendar_day.day_in_current_month{color:#fff}.pickers_holder.dark_picker .date_picker .full-calendars-list .calendar_view .calendars_list_view .calendar_days .calendar_day.weekend_day_in_current_month{color:#ccc}.pickers_holder.dark_picker .date_picker .full-calendars-list .calendar_view .calendars_list_view .calendar_days .calendar_day:not(.empty_day):not(.selected_day):hover{background-color:#424242;border-radius:2px;cursor:pointer;color:#fff}.pickers_holder.dark_picker .time_picker{width:156px;margin:4px}.pickers_holder.dark_picker .time_picker .time_picker_head{height:18px;padding:0 4px;margin-bottom:4px}.pickers_holder.dark_picker .time_picker .time_picker_head .selected_time{color:#fff;font-size:11px}.pickers_holder.dark_picker .time_picker .time_picker_head .sel_now{color:#92b1f5;font-size:11px;text-transform:uppercase}.pickers_holder.dark_picker .time_picker .time_picker_body .picker_body_head{display:grid;grid-template-columns:repeat(3,1fr);column-gap:4px;margin:0 0 4px;padding:2px;background:none}.pickers_holder.dark_picker .time_picker .time_picker_body .picker_body_head div{color:#aaa;font-size:9px;text-align:center;text-transform:uppercase}.pickers_holder.dark_picker .time_picker .time_picker_body .picker_body{height:176px;display:grid;grid-template-columns:repeat(3,1fr);column-gap:4px;padding:0 2px}.pickers_holder.dark_picker .time_picker .time_picker_body .picker_body:before{display:none}.pickers_holder.dark_picker .time_picker .time_picker_body .picker_body:after{display:none}.pickers_holder.dark_picker .time_picker .time_picker_body .picker_body .picker_line{left:0;width:100%;background-color:#3b73ed33}.pickers_holder.dark_picker .time_picker .time_picker_body .picker_body .picker_line .border_line{left:33.3%;width:1px;height:12px;margin-top:5px;background-color:#92b1f5;opacity:.4;border-radius:2px}.pickers_holder.dark_picker .time_picker .time_picker_body .picker_body .picker_line .border_line.line_2{left:66.6%}.pickers_holder.dark_picker .time_picker .time_picker_body .picker_body .scroll_pickers{margin:0;padding:77px 0}.pickers_holder.dark_picker .time_picker .time_picker_body .picker_body .scroll_pickers .scroll_item{color:#aaa;font-size:11px}.pickers_holder.dark_picker .time_picker .time_picker_body .picker_body .scroll_pickers .scroll_item.active_item{color:#fff}.pickers_holder.dark_picker .time_picker .time_picker_body .picker_buttons{display:grid;grid-template-columns:repeat(2,1fr);column-gap:4px;margin-top:6px;padding:4px 0 0;border-top:1px solid #424242}.pickers_holder.dark_picker .time_picker .time_picker_body .picker_buttons .pick_button{height:18px;background-color:#424242;color:#fff;font-size:11px;text-transform:uppercase;border-radius:1px}.pickers_holder.dark_picker .time_picker .time_picker_body .picker_buttons .pick_button.set_button{width:auto;background-color:#3b73ed}.calendar_view{width:260px;padding-top:12px;background-color:#fff}.calendar_view .calendar_view_head{display:flex;justify-content:space-between;margin-bottom:12px;padding:0 12px}.calendar_view .calendar_view_head .month_name{font-size:12px;font-weight:700;color:#6c6c6c}.calendar_view .calendar_view_head .month_name .year_hold{margin-right:5px;text-transform:uppercase;color:#6c6c6c;cursor:pointer}.calendar_view .calendar_view_head .month_name .year_hold:hover{color:#919191}.calendar_view .calendar_view_head .today{font-size:12px;font-weight:700;color:#5673aab3;cursor:pointer}.calendar_view .calendar_view_head .today:hover{color:#3551b7}.calendar_view .calendars_list_view cdk-virtual-scroll-viewport{height:230px;min-height:230px}.calendar_view .calendars_list_view cdk-virtual-scroll-viewport ::-webkit-scrollbar{display:none}.calendar_view .calendars_list_view cdk-virtual-scroll-viewport::-webkit-scrollbar{display:none}.calendar_view .calendars_list_view .calendar_indicator{margin:12px;height:18px;font-size:12px;color:#6c6c6c66;font-weight:700}.calendar_view .calendars_list_view .calendar_month_days{padding:0 3px}.calendar_view .calendars_list_view .calendar_month_days.hideVisibility{visibility:hidden}.calendar_view .calendars_list_view .calendar_month_days .cal_day{width:24px;margin:0 6px;font-size:12px;font-weight:700;color:#b7b7b7}.calendar_view .calendars_list_view .calendar_days{height:140px;display:flex;flex-wrap:wrap;padding:0 3px}.calendar_view .calendars_list_view .calendar_days .calendar_day{display:flex;align-items:center;justify-content:center;flex:0 0 24px;width:24px;height:24px;margin:0 6px;font-size:14px;font-weight:400;color:#6c6c6c}.calendar_view .calendars_list_view .calendar_days .calendar_day.current_day{color:#fff;background-color:#919191;border-radius:2px}.calendar_view .calendars_list_view .calendar_days .calendar_day.selected_day{background-color:#919191;color:#fff;border-radius:2px}.calendar_view .calendars_list_view .calendar_days .calendar_day:not(.empty_day):not(.selected_day):hover{background-color:#f7f7f7;border-radius:2px;cursor:pointer;color:#3c3c3c}.calendar_view .month_list{display:flex;flex-wrap:wrap;justify-content:space-around;height:140px}.calendar_view .month_list .month_list_item{flex:0 0 50px;height:24px;margin:0 10px;display:flex;align-items:center;justify-content:center;border-radius:3px;font-size:12px;color:#6c6c6c;font-weight:400}.calendar_view .month_list .month_list_item:hover:not(.current_month){background-color:#f7f7f7;color:#3c3c3c;border-radius:2px;cursor:pointer}.calendar_view .month_list .month_list_item.current_month{color:#3c3c3c;background-color:#f7f7f7;border-radius:2px;cursor:pointer}.dropdown{z-index:999!important}input[type=date]::-webkit-inner-spin-button,input[type=date]::-webkit-calendar-picker-indicator{display:none;-webkit-appearance:none}.input-custom-group{display:block;position:relative}.input-custom-group .location-area-filter,.input-custom-group .location-area-filter.focus,.input-custom-group .location-area-filter.focus:hover{background-color:#424242!important;color:#fff!important}.input-custom-group .location-area-filter.focus::placeholder{background-color:#424242!important}.input-custom-group .location-area-filter:focus{background-color:#424242!important;color:#fff!important}.input-custom-group:hover.required-label-table label span{color:#2f2f2f!important}.input-custom-group.custom-empty-hover:hover{transition:.3s ease-in-out}.input-custom-group.custom-empty-hover:hover .input-dropdown-arrow:hover~.input-control,.input-custom-group.custom-empty-hover:hover .input-icon:hover~.input-control,.input-custom-group.custom-empty-hover:hover app-ca-input-placeholder-icon:hover~.input-control{background-color:#dadada}.input-custom-group.custom-empty-hover:hover .input-dropdown-arrow:before:hover,.input-custom-group.custom-empty-hover:hover .input-dropdown-arrow:after:hover~.input-control,.input-custom-group.custom-empty-hover:hover .input-icon:before:hover,.input-custom-group.custom-empty-hover:hover .input-icon:after:hover~.input-control,.input-custom-group.custom-empty-hover:hover app-ca-input-placeholder-icon:before:hover,.input-custom-group.custom-empty-hover:hover app-ca-input-placeholder-icon:after:hover~.input-control{background-color:#dadada}.input-custom-group.custom-filled-hover:hover{transition:.3s ease-in-out}.input-custom-group.custom-filled-hover:hover .input-clear{display:inline-block}.input-custom-group.custom-filled-hover:hover .input-dropdown-arrow:hover~.input-control,.input-custom-group.custom-filled-hover:hover .input-icon:hover~.input-control,.input-custom-group.custom-filled-hover:hover app-ca-input-placeholder-icon:hover~.input-control,.input-custom-group.custom-filled-hover:hover .input-clear:hover~.input-control{background-color:#dadada}.input-custom-group.custom-filled-hover:hover .input-dropdown-arrow:before:hover,.input-custom-group.custom-filled-hover:hover .input-dropdown-arrow:after:hover~.input-control,.input-custom-group.custom-filled-hover:hover .input-icon:before:hover,.input-custom-group.custom-filled-hover:hover .input-icon:after:hover~.input-control,.input-custom-group.custom-filled-hover:hover app-ca-input-placeholder-icon:before:hover,.input-custom-group.custom-filled-hover:hover app-ca-input-placeholder-icon:after:hover~.input-control,.input-custom-group.custom-filled-hover:hover .input-clear:before:hover,.input-custom-group.custom-filled-hover:hover .input-clear:after:hover~.input-control{background-color:#dadada}.input-custom-group.input-remove-trash-can:hover .input-clear{display:inline-block!important}.input-custom-group.input-remove-trash-can:hover .input-clear:hover~.input-control{background-color:#dadada}.input-custom-group.input-remove-trash-can:hover .placeholder-icon-right-side{opacity:0}.input-custom-group.input-remove-background:hover .input-control{background:transparent!important}.input-custom-group.input-remove-background.input-blue-text{color:red}.input-custom-group.input-remove-background .input-control{background:transparent;color:#2f2f2f;font-weight:400}.input-custom-group.input-remove-background .input-control.focus,.input-custom-group.input-remove-background .input-control.focus:hover{background:#2f2f2f!important;color:#fff!important}.input-custom-group.input-remove-background .input-control.focus::placeholder{color:#fff!important}.input-custom-group.input-remove-background .input-control:focus{background:#2f2f2f!important;color:#fff!important}.input-custom-group.input-remove-background .input-dropdown-arrow svg path{fill:#919191!important}.input-custom-group.input-blue-text .input-control{color:#6692f1}.input-custom-group.invalid-filled-focus-out:hover{transition:.3s ease-in-out}.input-custom-group.invalid-filled-focus-out:hover .input-clear,.input-custom-group.invalid-filled-focus-out:hover .input-pen-container,.input-custom-group.invalid-filled-focus-out:hover .input-invalid-danger-mark,.input-custom-group.invalid-filled-focus-out:hover .input-dropdown-arrow,.input-custom-group.invalid-filled-focus-out:hover .input-icon,.input-custom-group.invalid-filled-focus-out:hover .input-label-counter,.input-custom-group.invalid-filled-focus-out:hover .input-password-eye,.input-custom-group.invalid-filled-focus-out:hover app-ca-input-password,.input-custom-group.invalid-filled-focus-out:hover app-ca-input-placeholder-icon,.input-custom-group.invalid-filled-focus-out:hover app-ca-input-clear{display:inline-block}.input-custom-group.invalid-filled-focus-out:hover .input-clear:hover~.input-control,.input-custom-group.invalid-filled-focus-out:hover .input-pen-container:hover~.input-control,.input-custom-group.invalid-filled-focus-out:hover .input-invalid-danger-mark:hover~.input-control,.input-custom-group.invalid-filled-focus-out:hover .input-dropdown-arrow:hover~.input-control,.input-custom-group.invalid-filled-focus-out:hover .input-icon:hover~.input-control,.input-custom-group.invalid-filled-focus-out:hover .input-label-counter:hover~.input-control,.input-custom-group.invalid-filled-focus-out:hover .input-password-eye:hover~.input-control,.input-custom-group.invalid-filled-focus-out:hover app-ca-input-password:hover~.input-control,.input-custom-group.invalid-filled-focus-out:hover app-ca-input-placeholder-icon:hover~.input-control,.input-custom-group.invalid-filled-focus-out:hover app-ca-input-clear:hover~.input-control{background-color:#f5c7c7}.input-custom-group.invalid-filled-focus-out:hover .input-clear:before:hover,.input-custom-group.invalid-filled-focus-out:hover .input-clear:after:hover~.input-control,.input-custom-group.invalid-filled-focus-out:hover .input-pen-container:before:hover,.input-custom-group.invalid-filled-focus-out:hover .input-pen-container:after:hover~.input-control,.input-custom-group.invalid-filled-focus-out:hover .input-invalid-danger-mark:before:hover,.input-custom-group.invalid-filled-focus-out:hover .input-invalid-danger-mark:after:hover~.input-control,.input-custom-group.invalid-filled-focus-out:hover .input-dropdown-arrow:before:hover,.input-custom-group.invalid-filled-focus-out:hover .input-dropdown-arrow:after:hover~.input-control,.input-custom-group.invalid-filled-focus-out:hover .input-icon:before:hover,.input-custom-group.invalid-filled-focus-out:hover .input-icon:after:hover~.input-control,.input-custom-group.invalid-filled-focus-out:hover .input-label-counter:before:hover,.input-custom-group.invalid-filled-focus-out:hover .input-label-counter:after:hover~.input-control,.input-custom-group.invalid-filled-focus-out:hover .input-password-eye:before:hover,.input-custom-group.invalid-filled-focus-out:hover .input-password-eye:after:hover~.input-control,.input-custom-group.invalid-filled-focus-out:hover app-ca-input-password:before:hover,.input-custom-group.invalid-filled-focus-out:hover app-ca-input-password:after:hover~.input-control,.input-custom-group.invalid-filled-focus-out:hover app-ca-input-placeholder-icon:before:hover,.input-custom-group.invalid-filled-focus-out:hover app-ca-input-placeholder-icon:after:hover~.input-control,.input-custom-group.invalid-filled-focus-out:hover app-ca-input-clear:before:hover,.input-custom-group.invalid-filled-focus-out:hover app-ca-input-clear:after:hover~.input-control{background-color:#f5c7c7}.input-custom-group.invalid-filled-focus-out:hover .input-label-counter{display:flex}.input-custom-group.invalid-empty-focus-out:hover{transition:.3s ease-in-out}.input-custom-group.invalid-empty-focus-out:hover .input-clear{display:none}.input-custom-group.invalid-empty-focus-out:hover.input-remove-trash-can app-ca-input-clear .trash-can-svg .input-clear-x svg path{fill:#e66767}.input-custom-group.invalid-empty-focus-out:hover.input-remove-trash-can app-ca-input-clear .trash-can-svg .input-clear-x svg rect{fill:#e66767}.input-custom-group.invalid-empty-focus-out:hover.input-remove-trash-can app-ca-input-clear .trash-can-svg .input-clear-x:hover svg path{fill:#c20c0c}.input-custom-group.invalid-empty-focus-out:hover.input-remove-trash-can app-ca-input-clear .trash-can-svg .input-clear-x:hover svg rect{fill:#c20c0c}.input-custom-group.invalid-empty-focus-out:hover .input-pen-container,.input-custom-group.invalid-empty-focus-out:hover .input-invalid-danger-mark,.input-custom-group.invalid-empty-focus-out:hover .input-dropdown-arrow,.input-custom-group.invalid-empty-focus-out:hover app-ca-input-placeholder-icon,.input-custom-group.invalid-empty-focus-out:hover .input-icon{display:inline-block}.input-custom-group.invalid-empty-focus-out:hover .input-pen-container:hover~.input-control,.input-custom-group.invalid-empty-focus-out:hover .input-invalid-danger-mark:hover~.input-control,.input-custom-group.invalid-empty-focus-out:hover .input-dropdown-arrow:hover~.input-control,.input-custom-group.invalid-empty-focus-out:hover app-ca-input-placeholder-icon:hover~.input-control,.input-custom-group.invalid-empty-focus-out:hover .input-icon:hover~.input-control{background-color:#f5c7c7}.input-custom-group.invalid-empty-focus-out:hover .input-pen-container:before:hover,.input-custom-group.invalid-empty-focus-out:hover .input-pen-container:after:hover~.input-control,.input-custom-group.invalid-empty-focus-out:hover .input-invalid-danger-mark:before:hover,.input-custom-group.invalid-empty-focus-out:hover .input-invalid-danger-mark:after:hover~.input-control,.input-custom-group.invalid-empty-focus-out:hover .input-dropdown-arrow:before:hover,.input-custom-group.invalid-empty-focus-out:hover .input-dropdown-arrow:after:hover~.input-control,.input-custom-group.invalid-empty-focus-out:hover app-ca-input-placeholder-icon:before:hover,.input-custom-group.invalid-empty-focus-out:hover app-ca-input-placeholder-icon:after:hover~.input-control,.input-custom-group.invalid-empty-focus-out:hover .input-icon:before:hover,.input-custom-group.invalid-empty-focus-out:hover .input-icon:after:hover~.input-control{background-color:#f5c7c7}.input-custom-group.invalid-focus-in:hover{transition:.3s ease-in-out}.input-custom-group.invalid-focus-in:hover .input-password-eye:hover~.input-control,.input-custom-group.invalid-focus-in:hover app-ca-input-password:hover~.input-control,.input-custom-group.invalid-focus-in:hover app-ca-input-placeholder-icon:hover~.input-control,.input-custom-group.invalid-focus-in:hover app-ca-input-clear:hover~.input-control{background-color:#e22e22}.input-custom-group.invalid-focus-in:hover .input-password-eye:before:hover,.input-custom-group.invalid-focus-in:hover .input-password-eye:after:hover~.input-control,.input-custom-group.invalid-focus-in:hover app-ca-input-password:before:hover,.input-custom-group.invalid-focus-in:hover app-ca-input-password:after:hover~.input-control,.input-custom-group.invalid-focus-in:hover app-ca-input-placeholder-icon:before:hover,.input-custom-group.invalid-focus-in:hover app-ca-input-placeholder-icon:after:hover~.input-control,.input-custom-group.invalid-focus-in:hover app-ca-input-clear:before:hover,.input-custom-group.invalid-focus-in:hover app-ca-input-clear:after:hover~.input-control{background-color:#e22e22}.input-custom-group.valid-focus-out:hover{transition:.3s ease-in-out}.input-custom-group.valid-focus-out:hover .input-clear,.input-custom-group.valid-focus-out:hover .input-pen-container,.input-custom-group.valid-focus-out:hover .input-dropdown-arrow,.input-custom-group.valid-focus-out:hover .input-icon,.input-custom-group.valid-focus-out:hover .input-label-counter,.input-custom-group.valid-focus-out:hover .input-password-eye,.input-custom-group.valid-focus-out:hover app-ca-input-password,.input-custom-group.valid-focus-out:hover app-ca-input-placeholder-icon,.input-custom-group.valid-focus-out:hover app-ca-input-clear{display:inline-block;transition:.3s ease-in-out}.input-custom-group.valid-focus-out:hover .input-clear:hover~.input-control,.input-custom-group.valid-focus-out:hover .input-pen-container:hover~.input-control,.input-custom-group.valid-focus-out:hover .input-dropdown-arrow:hover~.input-control,.input-custom-group.valid-focus-out:hover .input-icon:hover~.input-control,.input-custom-group.valid-focus-out:hover .input-label-counter:hover~.input-control,.input-custom-group.valid-focus-out:hover .input-password-eye:hover~.input-control,.input-custom-group.valid-focus-out:hover app-ca-input-password:hover~.input-control,.input-custom-group.valid-focus-out:hover app-ca-input-placeholder-icon:hover~.input-control,.input-custom-group.valid-focus-out:hover app-ca-input-clear:hover~.input-control{background-color:#c5d8f3}.input-custom-group.valid-focus-out:hover .input-clear:before:hover,.input-custom-group.valid-focus-out:hover .input-clear:after:hover~.input-control,.input-custom-group.valid-focus-out:hover .input-pen-container:before:hover,.input-custom-group.valid-focus-out:hover .input-pen-container:after:hover~.input-control,.input-custom-group.valid-focus-out:hover .input-dropdown-arrow:before:hover,.input-custom-group.valid-focus-out:hover .input-dropdown-arrow:after:hover~.input-control,.input-custom-group.valid-focus-out:hover .input-icon:before:hover,.input-custom-group.valid-focus-out:hover .input-icon:after:hover~.input-control,.input-custom-group.valid-focus-out:hover .input-label-counter:before:hover,.input-custom-group.valid-focus-out:hover .input-label-counter:after:hover~.input-control,.input-custom-group.valid-focus-out:hover .input-password-eye:before:hover,.input-custom-group.valid-focus-out:hover .input-password-eye:after:hover~.input-control,.input-custom-group.valid-focus-out:hover app-ca-input-password:before:hover,.input-custom-group.valid-focus-out:hover app-ca-input-password:after:hover~.input-control,.input-custom-group.valid-focus-out:hover app-ca-input-placeholder-icon:before:hover,.input-custom-group.valid-focus-out:hover app-ca-input-placeholder-icon:after:hover~.input-control,.input-custom-group.valid-focus-out:hover app-ca-input-clear:before:hover,.input-custom-group.valid-focus-out:hover app-ca-input-clear:after:hover~.input-control{background-color:#c5d8f3}.input-custom-group.valid-focus-out:hover .input-label-counter{display:flex}.input-custom-group.valid-focus-out:hover .input-required-check{display:none}.input-custom-group.valid-focus-in:hover{transition:.3s ease-in-out}.input-custom-group.valid-focus-in:hover .trash-can-svg:hover~.input-control,.input-custom-group.valid-focus-in:hover .input-password-eye:hover~.input-control,.input-custom-group.valid-focus-in:hover app-ca-input-password:hover~.input-control,.input-custom-group.valid-focus-in:hover app-ca-input-placeholder-icon:hover~.input-control,.input-custom-group.valid-focus-in:hover app-ca-input-clear:hover~.input-control{background-color:#255bb9}.input-custom-group.valid-focus-in:hover .trash-can-svg:before:hover,.input-custom-group.valid-focus-in:hover .trash-can-svg:after:hover~.input-control,.input-custom-group.valid-focus-in:hover .input-password-eye:before:hover,.input-custom-group.valid-focus-in:hover .input-password-eye:after:hover~.input-control,.input-custom-group.valid-focus-in:hover app-ca-input-password:before:hover,.input-custom-group.valid-focus-in:hover app-ca-input-password:after:hover~.input-control,.input-custom-group.valid-focus-in:hover app-ca-input-placeholder-icon:before:hover,.input-custom-group.valid-focus-in:hover app-ca-input-placeholder-icon:after:hover~.input-control,.input-custom-group.valid-focus-in:hover app-ca-input-clear:before:hover,.input-custom-group.valid-focus-in:hover app-ca-input-clear:after:hover~.input-control{background-color:#255bb9}.input-custom-group.inactive-filled:hover .input-clear,.input-custom-group.inactive-filled:hover .trash-can-svg,.input-custom-group.inactive-filled:hover .input-pen-container,.input-custom-group.inactive-filled:hover .input-dropdown-arrow,.input-custom-group.inactive-filled:hover .input-icon,.input-custom-group.inactive-filled:hover .input-password-eye,.input-custom-group.inactive-filled:hover app-ca-input-password,.input-custom-group.inactive-filled:hover app-ca-input-placeholder-icon,.input-custom-group.inactive-filled:hover app-ca-input-clear{display:inline-block;transition:.3s ease-in-out}.input-custom-group.inactive-filled:hover .input-clear:hover~.input-control,.input-custom-group.inactive-filled:hover .trash-can-svg:hover~.input-control,.input-custom-group.inactive-filled:hover .input-pen-container:hover~.input-control,.input-custom-group.inactive-filled:hover .input-dropdown-arrow:hover~.input-control,.input-custom-group.inactive-filled:hover .input-icon:hover~.input-control,.input-custom-group.inactive-filled:hover .input-password-eye:hover~.input-control,.input-custom-group.inactive-filled:hover app-ca-input-password:hover~.input-control,.input-custom-group.inactive-filled:hover app-ca-input-placeholder-icon:hover~.input-control,.input-custom-group.inactive-filled:hover app-ca-input-clear:hover~.input-control{background-color:#f7f7f7}.input-custom-group.inactive-filled:hover .input-clear:before:hover,.input-custom-group.inactive-filled:hover .input-clear:after:hover~.input-control,.input-custom-group.inactive-filled:hover .trash-can-svg:before:hover,.input-custom-group.inactive-filled:hover .trash-can-svg:after:hover~.input-control,.input-custom-group.inactive-filled:hover .input-pen-container:before:hover,.input-custom-group.inactive-filled:hover .input-pen-container:after:hover~.input-control,.input-custom-group.inactive-filled:hover .input-dropdown-arrow:before:hover,.input-custom-group.inactive-filled:hover .input-dropdown-arrow:after:hover~.input-control,.input-custom-group.inactive-filled:hover .input-icon:before:hover,.input-custom-group.inactive-filled:hover .input-icon:after:hover~.input-control,.input-custom-group.inactive-filled:hover .input-password-eye:before:hover,.input-custom-group.inactive-filled:hover .input-password-eye:after:hover~.input-control,.input-custom-group.inactive-filled:hover app-ca-input-password:before:hover,.input-custom-group.inactive-filled:hover app-ca-input-password:after:hover~.input-control,.input-custom-group.inactive-filled:hover app-ca-input-placeholder-icon:before:hover,.input-custom-group.inactive-filled:hover app-ca-input-placeholder-icon:after:hover~.input-control,.input-custom-group.inactive-filled:hover app-ca-input-clear:before:hover,.input-custom-group.inactive-filled:hover app-ca-input-clear:after:hover~.input-control{background-color:#f7f7f7}.input-custom-group.inactive-empty:hover .input-clear,.input-custom-group.inactive-empty:hover .input-pen-container,.input-custom-group.inactive-empty:hover .input-dropdown-arrow,.input-custom-group.inactive-empty:hover .input-icon,.input-custom-group.inactive-empty:hover .input-password-eye,.input-custom-group.inactive-empty:hover app-ca-input-password,.input-custom-group.inactive-empty:hover app-ca-input-placeholder-icon,.input-custom-group.inactive-empty:hover app-ca-input-clear{display:inline-block;transition:.3s ease-in-out}.input-custom-group.inactive-empty:hover .input-clear:hover~.input-control,.input-custom-group.inactive-empty:hover .input-pen-container:hover~.input-control,.input-custom-group.inactive-empty:hover .input-dropdown-arrow:hover~.input-control,.input-custom-group.inactive-empty:hover .input-icon:hover~.input-control,.input-custom-group.inactive-empty:hover .input-password-eye:hover~.input-control,.input-custom-group.inactive-empty:hover app-ca-input-password:hover~.input-control,.input-custom-group.inactive-empty:hover app-ca-input-placeholder-icon:hover~.input-control,.input-custom-group.inactive-empty:hover app-ca-input-clear:hover~.input-control{background-color:#f7f7f7}.input-custom-group.inactive-empty:hover .input-clear:before:hover,.input-custom-group.inactive-empty:hover .input-clear:after:hover~.input-control,.input-custom-group.inactive-empty:hover .input-pen-container:before:hover,.input-custom-group.inactive-empty:hover .input-pen-container:after:hover~.input-control,.input-custom-group.inactive-empty:hover .input-dropdown-arrow:before:hover,.input-custom-group.inactive-empty:hover .input-dropdown-arrow:after:hover~.input-control,.input-custom-group.inactive-empty:hover .input-icon:before:hover,.input-custom-group.inactive-empty:hover .input-icon:after:hover~.input-control,.input-custom-group.inactive-empty:hover .input-password-eye:before:hover,.input-custom-group.inactive-empty:hover .input-password-eye:after:hover~.input-control,.input-custom-group.inactive-empty:hover app-ca-input-password:before:hover,.input-custom-group.inactive-empty:hover app-ca-input-password:after:hover~.input-control,.input-custom-group.inactive-empty:hover app-ca-input-placeholder-icon:before:hover,.input-custom-group.inactive-empty:hover app-ca-input-placeholder-icon:after:hover~.input-control,.input-custom-group.inactive-empty:hover app-ca-input-clear:before:hover,.input-custom-group.inactive-empty:hover app-ca-input-clear:after:hover~.input-control{background-color:#f7f7f7}.input-custom-group .input-label{position:absolute;top:4px;left:6px;font-size:14px;line-height:18px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;transition:.3s ease-in-out}.input-custom-group .input-label span::-moz-selection{background-color:#2f2f2f33!important;color:#2f2f2f!important}.input-custom-group .input-label span::selection{background-color:#2f2f2f33!important;color:#2f2f2f!important}.input-custom-group .input-label.required:after{content:\" *\";color:#ef5350}.input-custom-group .input-label.inactive-empty{color:#919191!important}.input-custom-group .input-label.up-label{top:-17px;left:6px;font-size:11px;font-weight:600}.input-custom-group .input-label.in-label{top:4px!important;font-size:11px!important;font-weight:600!important;transition:none!important}.input-custom-group .input-label.in-label.in-label-focus{color:#fff!important}.input-custom-group .input-label.no-transition{transition:none!important}.input-custom-group .input-label.input-placeholderIcon-on{left:37px}.input-custom-group .input-label.input-placeholderIcon-on.up-label{left:36px}.input-custom-group .input-label.hidden{display:none!important}.input-custom-group .input-label.required-label span{color:#df3c3c}.input-custom-group .input-label.load-shipper .load-shipper{display:grid;grid-template-columns:455px 120px;align-items:center}.input-custom-group .input-label.load-shipper .load-shipper span:nth-child(2){text-align:right;color:#6c6c6c;font-size:11px;font-weight:600}.input-custom-group .input-label.load-shipper.required:after{position:absolute;right:0;left:60px;top:0}.input-custom-group .input-label.load-shipper.multiple-labels.required:after,.input-custom-group .input-label.load-shipper.up-label.required:after{transition-delay:.1s;transition-timing-function:ease-in;position:absolute;right:0;left:48px;top:0}.input-custom-group .input-label .load-dispatches-ttd{display:grid;grid-template-columns:92px 89px 182px 53px;align-items:center;-moz-column-gap:65px;grid-column-gap:65px;column-gap:65px}.input-custom-group .input-label .load-dispatches-ttd span:nth-child(4){color:#2f2f2f!important;opacity:0;top:-19px;font-size:11px;font-weight:600}.input-custom-group .input-label .load-dispatches-ttd.multiple-labels-position-on-focus span:nth-child(4){transition-delay:.3s;color:#6c6c6c!important;opacity:1;top:-19px}.input-custom-group .input-label.dropdown-double-column>*{display:grid;grid-template-columns:118px 1fr;align-items:center;-moz-column-gap:4px;grid-column-gap:4px;column-gap:4px}.input-custom-group .input-label.dropdown-triple-column>*{display:grid;grid-template-columns:220px 138px 220px;align-items:center;-moz-column-gap:4px;grid-column-gap:4px;column-gap:4px}.input-custom-group .input-label.load-broker .load-broker{display:grid;align-items:center;grid-template-columns:277px 82px 69px}.input-custom-group .input-label.load-broker .load-broker span:nth-child(2),.input-custom-group .input-label.load-broker .load-broker span:nth-child(3){color:#2f2f2f!important;opacity:0;top:-19px;font-size:11px;font-weight:600}.input-custom-group .input-label.load-broker .load-broker.multiple-labels-position-on-focus span:nth-child(2),.input-custom-group .input-label.load-broker .load-broker.multiple-labels-position-on-focus span:nth-child(3){transition-delay:.3s;color:#919191!important;opacity:1;top:-19px;text-align:right}.input-custom-group .input-label.load-broker.required:after{position:absolute;left:51px;right:0;top:-1px}.input-custom-group .input-label.load-broker.multiple-labels.required:after,.input-custom-group .input-label.load-broker.up-label.required:after{transition-delay:.1s;transition-timing-function:ease-in;position:absolute;left:44px;right:0;top:-1px}.input-custom-group .input-label .load-broker-contact,.input-custom-group .input-label .load-shipper-contact{display:grid;grid-template-columns:235px 38px;align-items:center;grid-column-gap:10px;-moz-column-gap:10px;column-gap:10px;transition:.3 ease-in-out}.input-custom-group .input-label .load-broker-contact span:nth-child(2),.input-custom-group .input-label .load-shipper-contact span:nth-child(2){color:#2f2f2f!important;opacity:0;top:-19px;font-size:11px;font-weight:600}.input-custom-group .input-label .load-broker-contact.multiple-labels-position-on-focus span:nth-child(2),.input-custom-group .input-label .load-shipper-contact.multiple-labels-position-on-focus span:nth-child(2){transition-delay:.3s;opacity:1;top:-19px;color:#6c6c6c!important}.input-custom-group .input-label.load-shipper-contact .load-shipper-contact{grid-template-columns:295px 38px}.input-custom-group .input-label.regular{font-weight:400}.input-custom-group .input-label.datetimeclass.dark{color:#fff}.input-custom-group .hide-loads .load-broker{grid-template-columns:365px 92px}.input-custom-group .input-control{width:100%;height:26px;border:none;outline:none;border-radius:2px;padding:4px 6px;font-size:14px;font-weight:400;background-color:#eee;color:#2f2f2f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.input-custom-group .input-control::-moz-selection{background-color:#2f2f2f33;color:#2f2f2f}.input-custom-group .input-control::selection{background-color:#2f2f2f33;color:#2f2f2f}.input-custom-group .input-control.center{text-align:center}.input-custom-group .input-control.uppercase{text-transform:uppercase}.input-custom-group .input-control.lowercase{text-transform:lowercase}.input-custom-group .input-control:hover{background-color:#dadada}.input-custom-group .input-control:focus{background-color:#1d1d1d;color:#fff;transition:.2s ease-in-out}.input-custom-group .input-control:focus::-webkit-input-placeholder{color:#fff6}.input-custom-group .input-control:focus::-moz-placeholder{color:#fff6}.input-custom-group .input-control:focus:-ms-input-placeholder{color:#fff6}.input-custom-group .input-control:focus::-ms-input-placeholder{color:#fff6}.input-custom-group .input-control:focus::placeholder{color:#fff6}.input-custom-group .input-control:focus::-moz-selection{background-color:#fff3;color:#fff}.input-custom-group .input-control:focus::selection{background-color:#fff3;color:#fff}.input-custom-group .input-control:focus.blue-dropdown{background-color:#0b49d1}.input-custom-group .input-control.valid-focus-in,.input-custom-group .input-control.dropdown-placeholder-active,.input-custom-group .input-control.multiSelect-dropdown-active{background-color:#255bb9;color:#fff}.input-custom-group .input-control.valid-focus-in::-webkit-input-placeholder,.input-custom-group .input-control.dropdown-placeholder-active::-webkit-input-placeholder,.input-custom-group .input-control.multiSelect-dropdown-active::-webkit-input-placeholder{color:#6f9ee0}.input-custom-group .input-control.valid-focus-in::-moz-placeholder,.input-custom-group .input-control.dropdown-placeholder-active::-moz-placeholder,.input-custom-group .input-control.multiSelect-dropdown-active::-moz-placeholder{color:#6f9ee0}.input-custom-group .input-control.valid-focus-in:-ms-input-placeholder,.input-custom-group .input-control.dropdown-placeholder-active:-ms-input-placeholder,.input-custom-group .input-control.multiSelect-dropdown-active:-ms-input-placeholder{color:#6f9ee0}.input-custom-group .input-control.valid-focus-in::-ms-input-placeholder,.input-custom-group .input-control.dropdown-placeholder-active::-ms-input-placeholder,.input-custom-group .input-control.multiSelect-dropdown-active::-ms-input-placeholder{color:#6f9ee0}.input-custom-group .input-control.valid-focus-in::placeholder,.input-custom-group .input-control.dropdown-placeholder-active::placeholder,.input-custom-group .input-control.multiSelect-dropdown-active::placeholder{color:#6f9ee0}.input-custom-group .input-control.valid-focus-in::-moz-selection,.input-custom-group .input-control.dropdown-placeholder-active::-moz-selection,.input-custom-group .input-control.multiSelect-dropdown-active::-moz-selection{background-color:#fff3;color:#fff}.input-custom-group .input-control.valid-focus-in::selection,.input-custom-group .input-control.dropdown-placeholder-active::selection,.input-custom-group .input-control.multiSelect-dropdown-active::selection{background-color:#fff3;color:#fff}.input-custom-group .input-control.valid-focus-out-filled{background-color:#e2ecf9;color:#2f2f2f}.input-custom-group .input-control.valid-focus-out-filled.input-dropdown-table{background-color:#fff}.input-custom-group .input-control.valid-focus-out-filled::-moz-selection{background-color:#2f2f2f33;color:#2f2f2f}.input-custom-group .input-control.valid-focus-out-filled::selection{background-color:#2f2f2f33;color:#2f2f2f}.input-custom-group .input-control.valid-focus-out-filled:hover{background-color:#c5d8f3}.input-custom-group .input-control.invalid-focus-in,.input-custom-group .input-control.invalid-search-in-dropdown-focus-in{background-color:#e22e22;color:#fff}.input-custom-group .input-control.invalid-focus-in::-moz-selection,.input-custom-group .input-control.invalid-search-in-dropdown-focus-in::-moz-selection{background-color:#fff3;color:#fff}.input-custom-group .input-control.invalid-focus-in::selection,.input-custom-group .input-control.invalid-search-in-dropdown-focus-in::selection{background-color:#fff3;color:#fff}.input-custom-group .input-control.invalid-focus-out-filled,.input-custom-group .input-control.invalid-focus-out-empty{background-color:#fae3e3;color:#2f2f2f}.input-custom-group .input-control.invalid-focus-out-filled::-moz-selection,.input-custom-group .input-control.invalid-focus-out-empty::-moz-selection{background-color:#2f2f2f33;color:#2f2f2f}.input-custom-group .input-control.invalid-focus-out-filled::selection,.input-custom-group .input-control.invalid-focus-out-empty::selection{background-color:#2f2f2f33;color:#2f2f2f}.input-custom-group .input-control.invalid-focus-out-filled:hover,.input-custom-group .input-control.invalid-focus-out-empty:hover{background-color:#f5c7c7}.input-custom-group .input-control.invalid-focus-out-empty-table:hover{color:#2f2f2f;background-color:#f5c7c7}.input-custom-group .input-control.inactive-empty{background-color:#f7f7f7;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}.input-custom-group .input-control.inactive-filled{background-color:#f7f7f7;color:#2f2f2f;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}.input-custom-group .input-control.inactive-filled::-moz-selection{background-color:#2f2f2f33;color:#2f2f2f}.input-custom-group .input-control.inactive-filled::selection{background-color:#2f2f2f33;color:#2f2f2f}.input-custom-group .input-control.datetimeclass:not(.inactive-filled){letter-spacing:1px;pointer-events:none;opacity:0}.input-custom-group .input-control.has-placeholderIcon{padding-left:37px}.input-custom-group .input-control.dropdown-input-image-truck{padding-left:63px}.input-custom-group .input-control.dropdown-input-image-truck-focus::-webkit-input-placeholder{padding-left:63px}.input-custom-group .input-control.dropdown-input-image-truck-focus::-moz-placeholder{padding-left:63px}.input-custom-group .input-control.dropdown-input-image-truck-focus:-ms-input-placeholder{padding-left:63px}.input-custom-group .input-control.dropdown-input-image-truck-focus::-ms-input-placeholder{padding-left:63px}.input-custom-group .input-control.dropdown-input-image-truck-focus::placeholder{padding-left:63px}.input-custom-group .input-control.dropdown-input-image-trailer{padding-left:68px}.input-custom-group .input-control.dropdown-input-image-trailer-focus::-webkit-input-placeholder{padding-left:68px}.input-custom-group .input-control.dropdown-input-image-trailer-focus::-moz-placeholder{padding-left:68px}.input-custom-group .input-control.dropdown-input-image-trailer-focus:-ms-input-placeholder{padding-left:68px}.input-custom-group .input-control.dropdown-input-image-trailer-focus::-ms-input-placeholder{padding-left:68px}.input-custom-group .input-control.dropdown-input-image-trailer-focus::placeholder{padding-left:68px}.input-custom-group .input-control.dropdown-input-image-color{padding-left:29px}.input-custom-group .input-control.dropdown-input-image-user{padding-left:30px}.input-custom-group .input-control.dropdown-input-image-pm{padding-left:37px}.input-custom-group .input-control.dropdown-input-image-without-text-transparent,.input-custom-group .input-control.multiple-input-values{color:transparent}.input-custom-group .input-control.input-32-font-20{font-weight:700;font-size:20px}.input-custom-group .input-control.details-pages{height:32px;background:#1d1d1d;color:#fff6}.input-custom-group .input-control.details-pages .input-dropdown-arrow:hover,.input-custom-group .input-control.details-pages:hover{background:#1d1d1d}.input-custom-group .input-control.details-pages::-webkit-input-placeholder{color:#fff6}.input-custom-group .input-control.details-pages::-moz-placeholder{color:#fff6}.input-custom-group .input-control.details-pages:-ms-input-placeholder{color:#fff6}.input-custom-group .input-control.details-pages::-ms-input-placeholder{color:#fff6}.input-custom-group .input-control.details-pages::placeholder{color:#fff6}.input-custom-group .input-control.disable-select-on-focus-out::-moz-selection{background-color:transparent}.input-custom-group .input-control.disable-select-on-focus-out::selection{background-color:transparent}.input-custom-group .input-control.hide-placeholder-in-multiple-placeholder-input::-webkit-input-placeholder{opacity:0;color:transparent}.input-custom-group .input-control.hide-placeholder-in-multiple-placeholder-input::-moz-placeholder{opacity:0;color:transparent}.input-custom-group .input-control.hide-placeholder-in-multiple-placeholder-input:-ms-input-placeholder{opacity:0;color:transparent}.input-custom-group .input-control.hide-placeholder-in-multiple-placeholder-input::-ms-input-placeholder{opacity:0;color:transparent}.input-custom-group .input-control.hide-placeholder-in-multiple-placeholder-input::placeholder{opacity:0;color:transparent}.input-custom-group .input-control.multiple-input-placeholder{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.input-custom-group .input-control.load-dispatches-ttd,.input-custom-group .input-control.load-broker,.input-custom-group .input-control.load-shipper,.input-custom-group .input-control.load-shipper-contact{position:absolute;bottom:1.5px;background-color:transparent;display:grid;align-items:center}.input-custom-group .input-control.load-dispatches-ttd span,.input-custom-group .input-control.load-broker span,.input-custom-group .input-control.load-shipper span,.input-custom-group .input-control.load-shipper-contact span{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.input-custom-group .input-control.double-text-dropdown{position:absolute;top:50%;transform:translateY(-48%);background-color:transparent;display:flex;align-items:center;justify-content:space-between;padding-right:26px}.input-custom-group .input-control.double-text-dropdown span:last-child .multiple-input-text{color:#919191;font-size:11px;font-weight:400}.input-custom-group .input-control.double-text-dropdown span:last-child .multiple-input-text.focusable-text{color:#6f9ee0;font-size:11px;font-weight:400}.input-custom-group .input-control.double-text-dropdown span.focusable-text{color:#6f9ee0}.input-custom-group .input-control.load-dispatches-ttd{grid-template-columns:repeat(2,156px) 150px 122px;padding-top:3px}.input-custom-group .input-control.load-dispatches-ttd svg{height:16px;width:44px}.input-custom-group .input-control.load-dispatches-ttd svg path{fill:#919191}.input-custom-group .input-control.load-dispatches-ttd span:nth-child(1) .multiple-input-text,.input-custom-group .input-control.load-dispatches-ttd span:nth-child(2) .multiple-input-text{max-width:70px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.input-custom-group .input-control.load-dispatches-ttd span:nth-child(3) .multiple-input-text{max-width:100px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.input-custom-group .input-control.load-dispatches-ttd span:last-child{justify-content:flex-end}.input-custom-group .input-control.load-dispatches-ttd span:last-child .multiple-input-text{color:#919191!important;font-size:11px;font-weight:400;line-height:24px}.input-custom-group .input-control.load-dispatches-ttd span:last-child .multiple-input-text.focusable-text{color:#6f9ee0;font-size:11px;font-weight:400}.input-custom-group .input-control.load-dispatches-ttd span.focusable-text{color:#6f9ee0}.input-custom-group .input-control.load-dispatches-ttd span span{line-height:23px;position:relative}.input-custom-group .input-control.load-dispatches-ttd .focusable-svg svg #Ellipse_9856,.input-custom-group .input-control.load-dispatches-ttd .focusable-svg svg #Ellipse_9857,.input-custom-group .input-control.load-dispatches-ttd .focusable-svg svg #Ellipse_9858,.input-custom-group .input-control.load-dispatches-ttd .focusable-svg svg path{fill:#6f9ee0}.input-custom-group .input-control.load-dispatches-ttd .focusable-image{opacity:.6}.input-custom-group .input-control.load-dispatches-ttd .trailerContainer{width:max-content!important;padding:0!important;margin:0!important}.input-custom-group .input-control.payroll-deduction-truck .focusable-svg svg #Ellipse_9856,.input-custom-group .input-control.payroll-deduction-truck .focusable-svg svg #Ellipse_9857,.input-custom-group .input-control.payroll-deduction-truck .focusable-svg svg #Ellipse_9858,.input-custom-group .input-control.payroll-deduction-truck .focusable-svg svg path{fill:#6f9ee0}.input-custom-group .input-control.load-broker{display:grid;grid-template-columns:229px 115px 48px;align-items:center;height:24px}.input-custom-group .input-control.load-broker span:nth-child(1){white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.input-custom-group .input-control.load-broker span:nth-child(2),.input-custom-group .input-control.load-broker span:nth-child(3){justify-content:flex-end}.input-custom-group .input-control.load-broker span:nth-child(3){position:relative;bottom:1px}.input-custom-group .input-control.load-broker span:nth-child(3) .multiple-input-text.counter{max-width:-webkit-max-content;max-width:-moz-max-content;max-width:max-content;height:18px;border-radius:30px;text-align:center;font-size:11px;font-weight:400;color:#919191;background-color:#91919133;padding:1px 6px}.input-custom-group .input-control.load-broker span:nth-child(3) .multiple-input-text.counter.counter-focus{color:#6f9ee0;background-color:#6f9ee033}.input-custom-group .input-control.load-broker span:nth-child(3) .multiple-input-text.counter.counter-one{max-width:none!important;width:19px!important}.input-custom-group .input-control.load-broker-contact,.input-custom-group .input-control.load-shipper-contact{position:absolute;top:50%;transform:translateY(-50%);background-color:transparent!important;display:grid;grid-template-columns:165px 94px;align-items:center;grid-column-gap:20px;-moz-column-gap:20px;column-gap:20px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;height:25px;padding-right:35px}.input-custom-group .input-control.load-broker-contact span,.input-custom-group .input-control.load-shipper-contact span{overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.input-custom-group .input-control.load-broker-contact span span,.input-custom-group .input-control.load-shipper-contact span span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.input-custom-group .input-control.load-broker-contact span:nth-child(2),.input-custom-group .input-control.load-shipper-contact span:nth-child(2){justify-self:flex-end;font-size:11px;font-weight:400;line-height:24px}.input-custom-group .input-control.load-broker-contact span:nth-child(2) span,.input-custom-group .input-control.load-shipper-contact span:nth-child(2) span{color:#919191!important}.input-custom-group .input-control.text-suffix{position:absolute;top:50%;transform:translateY(-50%);background-color:transparent!important;display:flex;align-items:center;column-gap:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;height:25px;padding-right:35px}.input-custom-group .input-control.text-suffix span{overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.input-custom-group .input-control.text-suffix span span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.input-custom-group .input-control.text-suffix span:nth-child(2){justify-self:flex-end;font-size:14px;font-weight:400;line-height:18px}.input-custom-group .input-control.text-suffix span:nth-child(2) span:not(.focusable-text){color:#919191!important}.input-custom-group .input-control.text-suffix span:nth-child(2) span:not(.focusable-text):before{content:\"\\2022 \"}.input-custom-group .input-control.text-suffix span:nth-child(2) span.ca-add-dot:before{content:\"\\2022 \"}.input-custom-group .input-control.load-shipper-contact{grid-template-columns:283px 38px}.input-custom-group .input-control.load-shipper{grid-template-columns:394px 180px;-moz-column-gap:2px;column-gap:2px;padding-right:25px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;height:25px}.input-custom-group .input-control.load-shipper span:nth-child(2),.input-custom-group .input-control.load-shipper span:nth-child(3){justify-content:flex-end;font-size:11px;color:#919191!important;font-weight:400}.input-custom-group .input-control.load-shipper span:nth-child(2) span{color:#919191!important}.input-custom-group .input-control.load-shipper span:nth-child(2) span.focusable-text{color:#6f9ee0}.input-custom-group .input-control.load-shipper span:nth-child(3) .multiple-input-text.counter{max-width:-webkit-max-content;max-width:-moz-max-content;max-width:max-content;height:18px;border-radius:30px;text-align:center;font-size:11px;font-weight:400;color:#919191;background-color:#91919133;padding:1px 6px;position:relative;bottom:1px}.input-custom-group .input-control.load-shipper span:nth-child(3) .multiple-input-text.counter.counter-focus{color:#6f9ee0;background-color:#6f9ee033}.input-custom-group .input-control.load-shipper span:nth-child(3) .multiple-input-text.counter.counter-one{max-width:none!important;width:19px!important}.input-custom-group .input-control.load-shipper span span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.input-custom-group .input-control.cursor-on-right-side{text-align:right;padding-right:32px}.input-custom-group .input-control.merge-dropdown-body-with-input::-webkit-input-placeholder{color:#fff6}.input-custom-group .input-control.merge-dropdown-body-with-input::-moz-placeholder{color:#fff6}.input-custom-group .input-control.merge-dropdown-body-with-input:-ms-input-placeholder{color:#fff6}.input-custom-group .input-control.merge-dropdown-body-with-input::-ms-input-placeholder{color:#fff6}.input-custom-group .input-control.merge-dropdown-body-with-input::placeholder{color:#fff6}.input-custom-group .input-control.input-commands{background-color:#1d1d1d!important;color:#fff!important}.input-custom-group .input-control.input-commands.blue-commands{background-color:#0b49d1!important}.input-custom-group .input-control.dropdown-label-active{background-color:#1d1d1d!important;color:#fff!important}.input-custom-group .input-control.dispatch-dropdown{width:calc(100% - 24px);background-color:#2f2f2f!important}.input-custom-group input[type=number]::-webkit-inner-spin-button,.input-custom-group input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0!important}.input-custom-group input[type=number]::-webkit-inner-spin-button:hover,.input-custom-group input[type=number]::-webkit-outer-spin-button:hover,.input-custom-group input[type=number]::-webkit-inner-spin-button:focus,.input-custom-group input[type=number]::-webkit-outer-spin-button:focus{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0!important}.input-custom-group input[type=number]{-moz-appearance:textfield!important}.input-custom-group input[type=number]:hover,.input-custom-group input[type=number]:focus{-moz-appearance:textfield!important}.input-custom-group .load-dispatches-ttd-owner{position:absolute;left:13px;bottom:7px;width:10px;height:10px}.input-custom-group .load-dispatches-ttd-owner svg{width:10px!important;height:10px!important}.input-custom-group .time-picker-opacity{opacity:1!important}.input-custom-group .dispatch-history-default-color{background:#f7f7f7!important;transition:background .3s ease-in-out}.input-custom-group .dispatch-history-row-hover{background:#eee!important;transition:background .3s ease-in-out}.input-custom-group .input-required-check{position:absolute;right:6px;width:14px;height:10px;display:inline-block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.input-custom-group .input-required-check svg path{fill:#6f9ee0}.input-custom-group .input-clear{position:absolute;right:4px;top:47%;transform:translateY(-50%);border-radius:1px;display:none;z-index:10;cursor:pointer;transition:.3s ease-in-out}.input-custom-group .input-clear .input-clear-x svg{width:18px!important;height:18px!important;overflow:visible}.input-custom-group .input-clear .input-clear-x svg path{fill:#eee}.input-custom-group .input-clear .input-clear-x svg rect{fill:#919191;transition:transform .3s;transform:scale(1);transform-origin:center}.input-custom-group .input-clear .input-clear-x:hover svg{overflow:visible}.input-custom-group .input-clear .input-clear-x:hover svg rect{transform:scale(1.2);transform-origin:center;transition:transform .3s;fill:#424242}.input-custom-group .input-clear.datetimeclass{z-index:22!important}.input-custom-group .input-clear.focus{display:inline-block}.input-custom-group .input-clear.focus .input-clear-x svg path{fill:#1d1d1d}.input-custom-group .input-clear.focus .input-clear-x svg rect{fill:#aaa}.input-custom-group .input-clear.focus .input-clear-x:hover svg rect{fill:#fff}.input-custom-group .input-clear.valid-focus-in{display:inline-block}.input-custom-group .input-clear.valid-focus-in .input-clear-x svg path{fill:#255bb9}.input-custom-group .input-clear.valid-focus-in .input-clear-x svg rect{fill:#c5d8f3}.input-custom-group .input-clear.valid-focus-in .input-clear-x:hover svg rect{fill:#fff}.input-custom-group .input-clear.valid-focus-out .input-clear-x svg path{fill:#c5d8f3}.input-custom-group .input-clear.valid-focus-out .input-clear-x svg rect{fill:#6f9ee0}.input-custom-group .input-clear.valid-focus-out .input-clear-x:hover svg rect{fill:#3074d3}.input-custom-group .input-clear.invalid-focus-in{display:inline-block}.input-custom-group .input-clear.invalid-focus-in .input-clear-x svg path{fill:#e22e22}.input-custom-group .input-clear.invalid-focus-in .input-clear-x svg rect{fill:#f5c7c7}.input-custom-group .input-clear.invalid-focus-in .input-clear-x:hover svg rect{fill:#fff}.input-custom-group .input-clear.invalid-focus-out .input-clear-x svg path{fill:#f5c7c7}.input-custom-group .input-clear.invalid-focus-out .input-clear-x svg rect{fill:#e57373}.input-custom-group .input-clear.invalid-focus-out .input-clear-x:hover svg rect{fill:#ef5350}.input-custom-group .input-clear.incorrect-input{display:none}.input-custom-group .input-clear.incorrect-input .input-clear-x svg path{fill:#ef5350!important}.input-custom-group .input-clear.incorrect-input .input-clear-x svg rect{fill:transparent!important}.input-custom-group .input-clear.incorrect-input .input-clear-x:hover{display:inline-block}.input-custom-group .input-clear.incorrect-input .input-clear-x:hover svg path{fill:#eee!important}.input-custom-group .input-clear.incorrect-input .input-clear-x:hover svg rect{fill:#ef5350!important}.input-custom-group .input-clear.incorrect-input-on{display:inline-block}.input-custom-group .input-clear.incorrect-input-on .input-clear-x svg path{fill:#eee!important}.input-custom-group .input-clear.incorrect-input-on .input-clear-x svg rect{fill:#e57373!important}.input-custom-group .input-clear.incorrect-input-on .input-clear-x:hover svg path{fill:#eee!important}.input-custom-group .input-clear.incorrect-input-on .input-clear-x:hover svg rect{fill:#ef5350!important}.input-custom-group .input-clear.dropdown-on{right:27px!important;top:50%;transform:translateY(-50%)}.input-custom-group .input-clear.dropdown-on svg-icon{display:flex}.input-custom-group .input-clear.hidden{display:none}.input-custom-group .input-clear.trash-can-svg .input-clear-x svg{width:20px!important;height:20px!important;position:relative;left:1px}.input-custom-group .input-clear.trash-can-svg .input-clear-x svg path{fill:#aaa}.input-custom-group .input-clear.trash-can-svg .input-clear-x svg rect{fill:#aaa}.input-custom-group .input-clear.trash-can-svg .input-clear-x:hover svg path{fill:#919191}.input-custom-group .input-clear.trash-can-svg .input-clear-x:hover svg rect{fill:#919191}.input-custom-group .input-clear.trash-can-svg:before{content:\"\";display:block;height:16px;width:1px;border-radius:3px;background-color:#91919166;position:absolute;right:22px;top:56%;transform:translateY(-50%)}.input-custom-group .input-clear.trash-can-svg.valid-focus-in{display:none}.input-custom-group .input-clear.trash-can-svg.valid-focus-in .input-clear-x svg path{fill:#c5d8f3}.input-custom-group .input-clear.trash-can-svg.valid-focus-in .input-clear-x svg rect{fill:#c5d8f3}.input-custom-group .input-clear.trash-can-svg.valid-focus-in .input-clear-x:hover svg path{fill:#fff}.input-custom-group .input-clear.trash-can-svg.valid-focus-in .input-clear-x:hover svg rect{fill:#fff}.input-custom-group .input-clear.trash-can-svg.valid-focus-in:before{background-color:#c5d8f3}.input-custom-group .input-clear.trash-can-svg.valid-focus-out .input-clear-x svg path{fill:#6f9ee0}.input-custom-group .input-clear.trash-can-svg.valid-focus-out .input-clear-x svg rect{fill:#6f9ee0}.input-custom-group .input-clear.trash-can-svg.valid-focus-out .input-clear-x:hover svg path{fill:#3074d3}.input-custom-group .input-clear.trash-can-svg.valid-focus-out .input-clear-x:hover svg rect{fill:#3074d3}.input-custom-group .input-clear.trash-can-svg.valid-focus-out:before{background-color:#6f9ee066}.input-custom-group .input-clear-dispatch{position:absolute;right:0;top:47%;display:flex;justify-content:center;align-items:center;width:26px;height:26px;transform:translateY(-50%);border-radius:2px;z-index:10;cursor:pointer;transition:background .3s ease-in-out}.input-custom-group .input-clear-dispatch svg-icon svg{display:flex;width:12px!important;height:12px!important}.input-custom-group .input-clear-dispatch svg-icon svg path{fill:#919191;transition:fill .3s ease-in-out}.input-custom-group .input-clear-dispatch:hover{background-color:#91919166}.input-custom-group .input-clear-dispatch:hover svg-icon svg path{fill:#dadada}.input-custom-group .input-icon{position:absolute;left:6px;top:47%;transform:translateY(-50%);z-index:10;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition:.3s ease-in-out}.input-custom-group .input-icon svg-icon svg{width:18px;height:18px}.input-custom-group .input-icon.datetimeclass{z-index:21}.input-custom-group .input-icon.default-svg-color svg path{fill:#919191}.input-custom-group .input-icon.cursor-pointer{cursor:pointer}.input-custom-group .input-icon:after{content:\"\";display:block;height:15px;width:1px;border-radius:3px;background:#91919166;position:absolute;left:21px;top:55%;transform:translateY(-50%)}.input-custom-group .input-icon.focus svg path{fill:#ccc}.input-custom-group .input-icon.focus text{fill:#ccc}.input-custom-group .input-icon.focus:after{background:#ccc6}.input-custom-group .input-icon.valid-focus-in svg path{fill:#98b9ea}.input-custom-group .input-icon.valid-focus-in text{fill:#98b9ea}.input-custom-group .input-icon.valid-focus-in:after{background:#c5d8f3}.input-custom-group .input-icon.valid-focus-out svg path{fill:#6692f1}.input-custom-group .input-icon.valid-focus-out text{fill:#6f9ee0}.input-custom-group .input-icon.valid-focus-out:after{background-color:#6f9ee066}.input-custom-group .input-icon.valid-focus-out-dropdown-label:after{background-color:#6f9ee066}.input-custom-group .input-icon.invalid-focus-in svg path{fill:#ffb0a8}.input-custom-group .input-icon.invalid-focus-in text{fill:#ffb0a8}.input-custom-group .input-icon.invalid-focus-in:after{background-color:#f5c7c7}.input-custom-group .input-icon.invalid-focus-out svg path{fill:#e57373}.input-custom-group .input-icon.invalid-focus-out text{fill:#e57373}.input-custom-group .input-icon.invalid-focus-out:after{background:#e5737366}.input-custom-group .input-icon.inactive-empty svg path{fill:#ccc}.input-custom-group .input-icon.inactive-filled svg path{fill:#aaa}.input-custom-group .input-icon.inactive-filled:after{background-color:#aaa6}.input-custom-group .input-icon.discolor-placeholder svg path{fill:#919191}.input-custom-group .input-icon.load-adjusted-rate svg path{fill:#ffa726}.input-custom-group .input-icon.load-advance-rate svg path{fill:#4db6a2}.input-custom-group .input-icon.hidden{display:none!important}.input-custom-group .input-dropdown-arrow{display:inline-block;position:absolute;right:6px;top:50%;transform:translateY(-50%);width:14px;height:14px;line-height:18px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:10;cursor:pointer}.input-custom-group .input-dropdown-arrow svg{display:flex;width:100%;transform:rotate(0);transition:.3s ease-in-out}.input-custom-group .input-dropdown-arrow svg path{fill:#919191}.input-custom-group .input-dropdown-arrow:hover svg path{fill:#424242}.input-custom-group .input-dropdown-arrow.datetimeclass{z-index:22!important}.input-custom-group .input-dropdown-arrow.focus svg{transform:rotate(180deg);transition:.3s ease-in-out}.input-custom-group .input-dropdown-arrow.focus svg path{fill:#ccc}.input-custom-group .input-dropdown-arrow.focus:hover svg path{fill:#fff}.input-custom-group .input-dropdown-arrow.invalid-focus-out svg path{fill:#e57373}.input-custom-group .input-dropdown-arrow.invalid-focus-out:hover svg path{fill:#ef5350}.input-custom-group .input-dropdown-arrow.invalid-focus-in svg path,.input-custom-group .input-dropdown-arrow.invalid-search-in-dropdown-focus-in svg path{fill:#f5c7c7}.input-custom-group .input-dropdown-arrow.invalid-focus-in:hover svg path,.input-custom-group .input-dropdown-arrow.invalid-search-in-dropdown-focus-in:hover svg path{fill:#fff}.input-custom-group .input-dropdown-arrow.valid-focus-in svg path{fill:#c5d8f3}.input-custom-group .input-dropdown-arrow.valid-focus-in:hover svg path{fill:#fff}.input-custom-group .input-dropdown-arrow.valid-focus-out svg path{fill:#6692f1}.input-custom-group .input-dropdown-arrow.valid-focus-out:hover svg path{fill:#3074d3}.input-custom-group .input-error{position:absolute;top:100%;right:5px;color:#ef5350;font-size:11px;font-weight:600;line-height:14px;display:inline-block}.input-custom-group .input-error::-moz-selection{background-color:#ef535033;color:#ef5350}.input-custom-group .input-error::selection{background-color:#ef535033;color:#ef5350}.input-custom-group .error-inside-input{position:absolute;right:32px;font-weight:600;font-size:11px;line-height:14px;color:#df3c3c;top:24%;pointer-events:none}.input-custom-group .input-password-eye{display:none;width:18px;height:18px;position:absolute;left:6px;top:50%;transform:translateY(-50%);padding-top:0;cursor:pointer;transition:.3s ease-in-out}.input-custom-group .input-password-eye svg{width:18px;height:18px;position:absolute;bottom:0}.input-custom-group .input-password-eye svg path{fill:#919191}.input-custom-group .input-password-eye:after{content:\"\";display:block;height:15px;width:1px;border-radius:3px;background:#91919166;position:absolute;left:24px;top:52%;transform:translateY(-50%)}.input-custom-group .input-password-eye.visible{display:inline-block}.input-custom-group .input-password-eye.inactive svg path{fill:#ccc}.input-custom-group .input-password-eye.inactive:after{background-color:#aaa6}.input-custom-group .input-password-eye.valid-focus-out svg path{fill:#6f9ee0}.input-custom-group .input-password-eye.valid-focus-out:hover svg path{fill:#3074d3}.input-custom-group .input-password-eye.valid-focus-out:after{background-color:#6f9ee066}.input-custom-group .input-password-eye.valid-focus-in{display:inline-block}.input-custom-group .input-password-eye.valid-focus-in svg path{fill:#98b9ea}.input-custom-group .input-password-eye.valid-focus-in:hover svg path{fill:#fff}.input-custom-group .input-password-eye.valid-focus-in:after{background-color:#c5d8f3}.input-custom-group .input-password-eye.invalid-focus-out svg{transition:.3s ease-in-out}.input-custom-group .input-password-eye.invalid-focus-out svg path{fill:#e57373}.input-custom-group .input-password-eye.invalid-focus-out:hover svg path{fill:#ef5350}.input-custom-group .input-password-eye.invalid-focus-out:after{background-color:#e5737366}.input-custom-group .input-password-eye.invalid-focus-in svg{transition:.3s ease-in-out}.input-custom-group .input-password-eye.invalid-focus-in svg path{fill:#ffb0a8}.input-custom-group .input-password-eye.invalid-focus-in:hover svg path{fill:#fff}.input-custom-group .input-password-eye.invalid-focus-in:after{background-color:#f5c7c7}@keyframes dropdown{0%{margin-top:20px;visibility:hidden;opacity:0}to{opacity:1;margin-top:10px;visibility:visible!important}}@keyframes dropup{0%{margin-top:-19px;visibility:hidden;opacity:0}to{margin-top:inherit;visibility:visible!important}}.input-custom-group .date_time_holder{display:flex;align-items:center;position:absolute;top:0;width:100%;height:100%;padding:0 6px;opacity:0;z-index:20;cursor:text}.input-custom-group .date_time_holder span{position:relative;line-height:14px;display:flex;height:100%;align-items:center;z-index:10}.input-custom-group .date_time_holder span .border-picker{position:absolute;top:0;left:50%;transform:translate(-50%);height:100%;display:flex;align-items:center;justify-content:center;width:0px}.input-custom-group .date_time_holder span::selection{background-color:#fff3;color:#fff}.input-custom-group .date_time_holder span div::selection{background-color:#fff3;color:#fff}.input-custom-group .date_time_holder::selection{background-color:transparent!important;color:#fff}.input-custom-group .date_time_holder span.main{padding:0 2px;outline:none;font-size:14px;z-index:11}.input-custom-group .date_time_holder span.main::selection{z-index:10}.input-custom-group .date_time_holder span.main:first-child{padding-left:4px}.input-custom-group .date_time_holder span.reset-selection-color::selection{background-color:transparent!important;color:#2f2f2f!important}.input-custom-group .date_time_holder.focus{opacity:1;padding-left:35px}.input-custom-group .date_time_holder.focus span:nth-child(2){z-index:12;pointer-events:none}.input-custom-group .date_time_holder.focus span:nth-child(3){z-index:13}.input-custom-group .date_time_holder.focus span:nth-child(4){z-index:14;pointer-events:none}.input-custom-group .date_time_holder.focus span:nth-child(5){z-index:15}.input-custom-group .date_time_holder.valid-focus-out-filled{opacity:1}.input-custom-group .date_time_holder.valid-focus-out-filled span,.input-custom-group .date_time_holder.valid-focus-out-filled span .border-picker{color:#2f2f2f!important;-webkit-user-select:none;user-select:none}.input-custom-group .date_time_holder.dark.valid-focus-out-filled{background:#3b73ed33!important}.input-custom-group .date_time_holder.dark.valid-focus-out-filled span,.input-custom-group .date_time_holder.dark.valid-focus-out-filled span .border-picker{color:#fff!important}.input-custom-group .date_time_holder.dark.valid-focus-out-filled:hover{background:#3b73ed66!important}.input-custom-group .date_time_holder.dark.valid-focus-in{background:#0b49d1!important}.input-custom-group .date_time_holder.dark.valid-focus-in span,.input-custom-group .date_time_holder.dark.valid-focus-in span .border-picker{color:#fff!important}.input-custom-group .date_time_holder.focus{background-color:#1d1d1d;color:#fff;transition:.2s ease-in-out}.input-custom-group .date_time_holder.valid-focus-in{opacity:1}.input-custom-group .date_time_holder.valid-focus-in::selection,.input-custom-group .date_time_holder.valid-focus-in div::selection{background-color:#fff3;color:#fff}.input-custom-group .date_time_holder.invalid-focus-out-filled{opacity:1}.input-custom-group .date_time_holder.date_time_holder_bank_card span.main{padding:0 3px}.input-custom-group .ca-placeholder-text{position:absolute;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;top:50%;transform:translateY(-50%);color:#919191;font-weight:400;font-size:14px;line-height:18px;padding-left:1px}.input-custom-group .ca-placeholder-text svg text{fill:#919191}.input-custom-group .ca-placeholder-text.inactive-filled{color:#aaa}.input-custom-group .ca-placeholder-text.inactive-filled svg text{fill:#aaa}.input-custom-group .ca-placeholder-text.focus{color:#919191}.input-custom-group .ca-placeholder-text.focus svg text{fill:#919191}.input-custom-group .ca-placeholder-text.valid-focus-in{color:#c5d8f3}.input-custom-group .ca-placeholder-text.valid-focus-in svg text{fill:#c5d8f3}.input-custom-group .ca-placeholder-text.valid-focus-out{color:#919191}.input-custom-group .ca-placeholder-text.valid-focus-out svg text{fill:#919191}.input-custom-group .ca-placeholder-text.invalid-focus-in{color:#f5c7c7}.input-custom-group .ca-placeholder-text.invalid-focus-in svg text{fill:#f5c7c7}.input-custom-group .ca-placeholder-text.invalid-focus-out{color:#919191}.input-custom-group .ca-placeholder-text.invalid-focus-out svg text{fill:#919191}.input-custom-group .input-invalid-danger-mark{position:absolute;right:5px;top:48%;transform:translateY(-50%);line-height:13.3px}.input-custom-group .input-invalid-danger-mark svg{width:13.3px;height:13.3px}.input-custom-group .input-invalid-danger-mark svg path{fill:#e57373}.input-custom-group .password-capslock{position:absolute;right:5px;top:-16px;color:#ffb74d;font-size:11px;font-weight:600;margin:0;padding:0;-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important}.input-custom-group .ta-input-commands{display:flex;align-items:center;gap:4px;position:absolute;right:4px}.input-custom-group .ta-input-commands:before{content:attr(data-before-content);color:#919191;font-weight:400;font-size:14px;line-height:18px}.input-custom-group .ta-input-commands .ta-input-command-first{border-radius:1px;display:block;z-index:20;cursor:pointer}.input-custom-group .ta-input-commands .ta-input-command-first .ta-input-command-svg-first svg{width:18px!important;height:18px!important;overflow:visible;transition:transform .3s}.input-custom-group .ta-input-commands .ta-input-command-first .ta-input-command-svg-first svg path{fill:#1d1d1d}.input-custom-group .ta-input-commands .ta-input-command-first .ta-input-command-svg-first svg rect{transition:transform .3s;transform:scale(1);transform-origin:center;fill:#ccc}.input-custom-group .ta-input-commands .ta-input-command-first .ta-input-command-svg-first:hover svg{overflow:visible}.input-custom-group .ta-input-commands .ta-input-command-first .ta-input-command-svg-first:hover svg rect{transform:scale(1.2);transform-origin:center;transition:transform .3s;fill:#fff}.input-custom-group .ta-input-commands .ta-input-command-second{border-radius:1px;display:block;z-index:20;cursor:pointer}.input-custom-group .ta-input-commands .ta-input-command-second .ta-input-command-svg-second svg{width:18px!important;height:18px!important;overflow:visible;transition:transform .3s}.input-custom-group .ta-input-commands .ta-input-command-second .ta-input-command-svg-second svg path{fill:#1d1d1d}.input-custom-group .ta-input-commands .ta-input-command-second .ta-input-command-svg-second svg rect{transition:transform .3s;transform:scale(1);transform-origin:center;fill:#ccc}.input-custom-group .ta-input-commands .ta-input-command-second .ta-input-command-svg-second:hover svg{overflow:visible}.input-custom-group .ta-input-commands .ta-input-command-second .ta-input-command-svg-second:hover svg rect{transform:scale(1.2);transform-origin:center;transition:transform .3s;fill:#fff}.input-custom-group .ta-input-commands .ta-input-command-third{border-radius:1px;display:block;z-index:20;cursor:pointer}.input-custom-group .ta-input-commands .ta-input-command-third .ta-input-command-svg-third svg{width:18px!important;height:18px!important;overflow:visible;transition:transform .3s}.input-custom-group .ta-input-commands .ta-input-command-third .ta-input-command-svg-third svg path{fill:#1d1d1d}.input-custom-group .ta-input-commands .ta-input-command-third .ta-input-command-svg-third svg rect{transition:transform .3s;transform:scale(1);transform-origin:center;fill:#ccc}.input-custom-group .ta-input-commands .ta-input-command-third .ta-input-command-svg-third:hover svg{overflow:visible}.input-custom-group .ta-input-commands .ta-input-command-third .ta-input-command-svg-third:hover svg rect{transform:scale(1.2);transform-origin:center;transition:transform .3s;fill:#fff}.input-custom-group .ta-input-commands.blue-commands .ta-input-command-svg-first svg rect,.input-custom-group .ta-input-commands.blue-commands .ta-input-command-svg-second svg rect,.input-custom-group .ta-input-commands.blue-commands .ta-input-command-svg-third svg rect{fill:none}.input-custom-group .ta-input-commands.blue-commands .ta-input-command-svg-first svg path,.input-custom-group .ta-input-commands.blue-commands .ta-input-command-svg-second svg path,.input-custom-group .ta-input-commands.blue-commands .ta-input-command-svg-third svg path{fill:#6692f1}.input-custom-group .ta-input-commands.blue-commands .ta-input-command-svg-first:hover svg,.input-custom-group .ta-input-commands.blue-commands .ta-input-command-svg-second:hover svg,.input-custom-group .ta-input-commands.blue-commands .ta-input-command-svg-third:hover svg{overflow:visible}.input-custom-group .ta-input-commands.blue-commands .ta-input-command-svg-first:hover svg rect,.input-custom-group .ta-input-commands.blue-commands .ta-input-command-svg-second:hover svg rect,.input-custom-group .ta-input-commands.blue-commands .ta-input-command-svg-third:hover svg rect{transform:scale(1.2);transform-origin:center;transition:transform .3s;fill:#6692f1}.input-custom-group .ta-input-commands.blue-commands .ta-input-command-svg-first:hover svg path,.input-custom-group .ta-input-commands.blue-commands .ta-input-command-svg-second:hover svg path,.input-custom-group .ta-input-commands.blue-commands .ta-input-command-svg-third:hover svg path{fill:#bed0f9}.input-custom-group .ta-input-commands.blue-commands-focus .ta-input-command-svg-first svg rect,.input-custom-group .ta-input-commands.blue-commands-focus .ta-input-command-svg-second svg rect,.input-custom-group .ta-input-commands.blue-commands-focus .ta-input-command-svg-third svg rect{fill:#ffffffb2}.input-custom-group .ta-input-commands.blue-commands-focus .ta-input-command-svg-first svg path,.input-custom-group .ta-input-commands.blue-commands-focus .ta-input-command-svg-second svg path,.input-custom-group .ta-input-commands.blue-commands-focus .ta-input-command-svg-third svg path{fill:#0b49d1}.input-custom-group .ta-input-commands.blue-commands-focus .ta-input-command-svg-first:hover svg,.input-custom-group .ta-input-commands.blue-commands-focus .ta-input-command-svg-second:hover svg,.input-custom-group .ta-input-commands.blue-commands-focus .ta-input-command-svg-third:hover svg{overflow:visible}.input-custom-group .ta-input-commands.blue-commands-focus .ta-input-command-svg-first:hover svg rect,.input-custom-group .ta-input-commands.blue-commands-focus .ta-input-command-svg-second:hover svg rect,.input-custom-group .ta-input-commands.blue-commands-focus .ta-input-command-svg-third:hover svg rect{transform:scale(1.2);transform-origin:center;transition:transform .3s}.input-custom-group .input-label-counter{position:absolute;display:flex;align-items:center;justify-content:center;width:22px;height:18px;font-size:11px;font-weight:700;color:#424242;background-color:#42424233;border-radius:9px;margin:0;padding-left:.5px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.input-custom-group .input-loading-spinner{position:absolute;right:6px;bottom:3px}.input-custom-group .input-pen-container{position:absolute;right:50px;top:46%;transform:translateY(-50%);display:none;z-index:10;cursor:pointer;transition:.3s ease-in-out}.input-custom-group .input-pen-container .input-pen svg{width:18px!important;height:18px!important;overflow:visible}.input-custom-group .input-pen-container .input-pen svg path{fill:#c5d8f3}.input-custom-group .input-pen-container .input-pen svg rect{transition:transform .3s;transform:scale(1);transform-origin:center;fill:#6f9ee0}.input-custom-group .input-pen-container .input-pen:hover svg{overflow:visible}.input-custom-group .input-pen-container .input-pen:hover svg rect{transform:scale(1.2);transform-origin:center;transition:transform .3s;fill:#3074d3}.input-custom-group .dropdown-selected-image{position:absolute;left:6px;top:48%;transform:translateY(-50%);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}.input-custom-group .dropdown-selected-image.truck-make svg path{fill:#6c6c6c}.input-custom-group .dropdown-selected-image.trailer-make svg path{fill:#6c6c6c}.input-custom-group .dropdown-selected-image.name-initials-instead-url{width:18px;height:18px;border-radius:50%;object-fit:cover;top:50%;transform:translateY(-50%)}.input-custom-group .dropdown-selected-image.load-broker{height:26px}.input-custom-group .dropdown-selected-image.load-broker svg{height:18px}.input-custom-group .dropdown-selected-image.load-broker.medium svg #Path_33564{fill:#ffb74d}.input-custom-group .dropdown-selected-image.load-broker.low svg #Path_33564{fill:#e57373}.input-custom-group .dropdown-selected-image.semitruck svg path,.input-custom-group .dropdown-selected-image.semisleeper svg path,.input-custom-group .dropdown-selected-image.boxtruck svg path,.input-custom-group .dropdown-selected-image.reefertruck svg path,.input-custom-group .dropdown-selected-image.cargovan svg path,.input-custom-group .dropdown-selected-image.dumptruck svg path,.input-custom-group .dropdown-selected-image.cementtruck svg path,.input-custom-group .dropdown-selected-image.garbagetruckm .input-custom-group .dropdown-selected-image.towtruck svg path,.input-custom-group .dropdown-selected-image.carhauler svg path,.input-custom-group .dropdown-selected-image.spotter svg path,.input-custom-group .dropdown-selected-image.flatbed svg path,.input-custom-group .dropdown-selected-image.stepdeck svg path,.input-custom-group .dropdown-selected-image.lowboyrgn svg path,.input-custom-group .dropdown-selected-image.chassis svg path,.input-custom-group .dropdown-selected-image.conestoga svg path,.input-custom-group .dropdown-selected-image.sidekit svg path,.input-custom-group .dropdown-selected-image.container svg path,.input-custom-group .dropdown-selected-image.dryvan svg path,.input-custom-group .dropdown-selected-image.reefer svg path,.input-custom-group .dropdown-selected-image.enddump svg path,.input-custom-group .dropdown-selected-image.bottomdump svg path,.input-custom-group .dropdown-selected-image.hopper svg path,.input-custom-group .dropdown-selected-image.tanker svg path,.input-custom-group .dropdown-selected-image.pneumatictanker svg path,.input-custom-group .dropdown-selected-image.carhaulerstigner svg path{fill:#919191!important}.input-custom-group .dropdown-selected-image.unset-color svg #Ellipse_9856,.input-custom-group .dropdown-selected-image.unset-color svg #Ellipse_9857,.input-custom-group .dropdown-selected-image.unset-color svg #Ellipse_9858,.input-custom-group .dropdown-selected-image.unset-color svg path{fill:#fff6!important}.input-custom-group .placeholder-icon-right-side{position:absolute;right:4px}.input-custom-group .placeholder-icon-right-side.green svg path{fill:#4db6a2}.input-custom-group .placeholder-icon-right-side.purple svg path{fill:#ba68c8}.input-custom-group .placeholder-icon-right-side.blue svg path{fill:#6f9ee0}.input-custom-group .placeholder-icon-right-side.orange svg path{fill:#f89b2e}.input-custom-group .placeholder-icon-right-side.red svg path{fill:#e66767}.input-custom-group .placeholder-icon-right-side:before{content:\"\";display:block;height:15px;width:1px;border-radius:3px;position:absolute;right:22px;top:55%;transform:translateY(-50%);background-color:#91919166}.input-custom-group .placeholder-icon-right-side.focus:before{background-color:#ccc6}.input-custom-group .placeholder-icon-right-side.valid-focus-out:before{background-color:#6f9ee066}.input-custom-group .placeholder-icon-right-side.valid-focus-in:before{background-color:#c5d8f3}.input-custom-group .placeholder-icon-right-side.invalid-focus-out:before{background-color:#e5737366}.input-custom-group .placeholder-icon-right-side.invalid-focus-in:before{background-color:#f5c7c7}.input-fixed-placehoder-label{color:#919191;position:absolute;right:0;font-size:14px;top:3px}.input-fixed-placehoder-input{padding-right:25px!important}.input-border-radius{border-radius:8px!important}.hide-input-value{text-indent:-9999px}.payroll-deduction-truck-svg{line-height:16px}.payroll-deduction-truck-svg svg{width:46px;height:16px}.payroll-deduction-truck{display:grid!important;grid-template-columns:305px 92px!important}\n"], dependencies: [{ kind: "ngmodule", type:
|
|
184
200
|
// Modules
|
|
@@ -274,4 +290,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
274
290
|
type: Output,
|
|
275
291
|
args: ['dropDownKeyNavigation']
|
|
276
292
|
}] } });
|
|
277
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGVzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1pbnB1dC10ZXN0L2lucHV0LXRlc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtaW5wdXQtdGVzdC9pbnB1dC10ZXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHSCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLElBQUksRUFDSixTQUFTLEVBQ1QsaUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFJSCxVQUFVLEdBQ2IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBSXhELE9BQU8sRUFBb0IsY0FBYyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRzNELFFBQVE7QUFDUixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzdELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXRFLFFBQVE7QUFDUixPQUFPLEVBQ0gsY0FBYyxFQUNkLHVCQUF1QixFQUN2QiwyQkFBMkIsRUFDM0IsY0FBYyxFQUNkLGtDQUFrQyxFQUNsQyw2QkFBNkIsRUFDN0IsYUFBYSxFQUNiLGNBQWMsRUFDZCxhQUFhLEVBQ2IscUJBQXFCLEVBQ3JCLHVCQUF1QixFQUN2QixrQkFBa0IsR0FD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S0FBSztnQkFDTyxXQUFXO3NCQUF2QixLQUFLO2dCQUlHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBR0csMkJBQTJCO3NCQURuQyxNQUFNO3VCQUFDLDZCQUE2QjtnQkFJWCxjQUFjO3NCQUF2QyxNQUFNO3VCQUFDLGdCQUFnQjtnQkFHSCxTQUFTO3NCQUE3QixNQUFNO3VCQUFDLFdBQVc7Z0JBRUcsZUFBZTtzQkFBcEMsTUFBTTt1QkFBQyxZQUFZO2dCQUVGLFdBQVc7c0JBQTVCLE1BQU07dUJBQUMsUUFBUTtnQkFFUSxZQUFZO3NCQUFuQyxNQUFNO3VCQUFDLGNBQWM7Z0JBRUwsZUFBZTtzQkFBL0IsTUFBTTt1QkFBQyxPQUFPO2dCQUlhLHFCQUFxQjtzQkFBaEQsTUFBTTt1QkFBQyxrQkFBa0I7Z0JBRU8sMEJBQTBCO3NCQUExRCxNQUFNO3VCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFNlbGYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgICBBYnN0cmFjdENvbnRyb2wsXG4gICAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gICAgTmdDb250cm9sLFxuICAgIFZhbGlkYXRvcnMsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE5nYk1vZHVsZSB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBbmd1bGFyU3ZnSWNvbk1vZHVsZSB9IGZyb20gJ2FuZ3VsYXItc3ZnLWljb24nO1xuXG4vLyBtb2RlbHNcbmltcG9ydCB7IElDYUlucHV0IH0gZnJvbSAnLi9jb25maWcnO1xuaW1wb3J0IHsgSW5wdXRDaGFuZ2VWYWx1ZSwgSW5wdXRTdmdSb3V0ZXMgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IENvbW1hbmRzRXZlbnQsIExhYmVsQ29sb3IgfSBmcm9tICcuL21vZGVscyc7XG5cbi8vIGVtdW1zXG5pbXBvcnQgeyBJbnB1dENvbW1hbmRzVHlwZSwgSW5wdXRTdHJpbmdFbnVtIH0gZnJvbSAnLi9lbnVtcyc7XG5pbXBvcnQgeyBEcm9wZG93blRlbXBsYXRlVHlwZUVudW0gfSBmcm9tICcuLi9jYS1pbnB1dC1kcm9wZG93bi9lbnVtcyc7XG5cbi8vIHBpcGVzXG5pbXBvcnQge1xuICAgIElucHV0Q2xhc3NQaXBlLFxuICAgIElucHV0Q29udGFpbmVyQ2xhc3NQaXBlLFxuICAgIElucHV0RHJvcGRvd25BcnJvd0NsYXNzUGlwZSxcbiAgICBJbnB1dEVycm9yUGlwZSxcbiAgICBJbnB1dFBsYWNlaG9sZGVySWNvblJpZ2h0Q2xhc3NQaXBlLFxuICAgIElucHV0UGxhY2Vob2xkZXJUZXh0Q2xhc3NQaXBlLFxuICAgIElucHV0VHlwZVBpcGUsXG4gICAgTGFiZWxDbGFzc1BpcGUsXG4gICAgU2hvd0NsZWFyUGlwZSxcbiAgICBTaG93RHJvcGRvd25BcnJvd1BpcGUsXG4gICAgU2hvd1BsYWNlaG9sZGVyVGV4dFBpcGUsXG4gICAgU2hvd1ZhbGlkQ2hlY2tQaXBlLFxufSBmcm9tICcuL3BpcGVzJztcbmltcG9ydCB7XG4gICAgQ2FTdmdQaXBlLFxuICAgIExvYWRTdGF0dXNDb2xvclBpcGUsXG4gICAgVGhvdXNhbmRTZXBhcmF0b3JQaXBlLFxufSBmcm9tICcuLi8uLi9waXBlcyc7XG5cbi8vIG1hc2tcbmltcG9ydCB7IE5neE1hc2tNb2R1bGUgfSBmcm9tICduZ3gtbWFzayc7XG5pbXBvcnQgeyBOZ3hNYXNrU2VydmljZSB9IGZyb20gJ25neC1tYXNrJztcblxuLy8gY29tcG9uZW50c1xuaW1wb3J0IHsgQ2FJbnB1dFBhc3N3b3JkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NhLWlucHV0LXBhc3N3b3JkL2NhLWlucHV0LXBhc3N3b3JkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYUlucHV0UGxhY2Vob2xkZXJJY29uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NhLWlucHV0LXBsYWNlaG9sZGVyLWljb24vY2EtaW5wdXQtcGxhY2Vob2xkZXItaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FJbnB1dENsZWFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NhLWlucHV0LWNsZWFyL2NhLWlucHV0LWNsZWFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYUFwcFRvb2x0aXBWMkNvbXBvbmVudCB9IGZyb20gJy4uL2NhLWFwcC10b29sdGlwLXYyL2NhLWFwcC10b29sdGlwLXYyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYUlucHV0Q29tbWFuZHNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2EtaW5wdXQtY29tbWFuZHMvY2EtaW5wdXQtY29tbWFuZHMuY29tcG9uZW50JztcbmltcG9ydCB7IENhU3Bpbm5lckNvbXBvbmVudCB9IGZyb20gJy4uL2NhLXNwaW5uZXIvY2Etc3Bpbm5lci5jb21wb25lbnQnO1xuXG4vLyBkaXJlY3RpdmVzXG5pbXBvcnQgeyBDYXBzTG9ja0RpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBNYXhWYWx1ZURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBSZXN0cmljdElucHV0RGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IFByaWNlRm9ybWF0RGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IENvbW1hbmRWaXNpYmxlRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2NvbW1hbmQtdmlzaWJsZS5kaXJlY3RpdmUnO1xuXG4vLyBjbGFzc1xuaW1wb3J0IHsgRXZlbnRJbnB1dE1hbmFnZXIgfSBmcm9tICcuL2Jhc2UtY2xhc3Nlcy9jYS1pbnB1dC1ldmVudC1tYW5hZ2VyJztcblxuLy8gbWl4aW5zXG5pbXBvcnQgeyBJbnB1dENvbW1hbmRNaXhpbiB9IGZyb20gJy4vbWl4aW5zL2lucHV0LWNvbW1hbmQubWl4aW4nO1xuaW1wb3J0IHsgSW5wdXRIZWxwZXJNaXhpbiB9IGZyb20gJy4vbWl4aW5zL2lucHV0LWhlbHBlci5taXhpbic7XG5pbXBvcnQgeyBPcHRpb25Nb2RlbCB9IGZyb20gJy4uL2NhLWlucHV0LWRyb3Bkb3duL21vZGVscyc7XG5cbmNsYXNzIElucHV0QmFzZSB7XG4gICAgcHVibGljIGlucHV0RWxlbWVudCE6IEVsZW1lbnRSZWY7XG4gICAgcHVibGljIF9pbnB1dENvbmZpZyE6IElDYUlucHV0O1xuICAgIHB1YmxpYyBpc1Zpc2libGVDb21tYW5kczogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBtYXNrQXBwbGllciE6IE5neE1hc2tTZXJ2aWNlO1xuICAgIHB1YmxpYyB0aG91c2FuZFNlcGFyYXRvclBpcGUhOiBUaG91c2FuZFNlcGFyYXRvclBpcGU7XG4gICAgcHVibGljIGlzRm9jdXNJbnB1dDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBpc0VkaXRJbnB1dDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBpc0Ryb3Bkb3duVG9nZ2xlcjogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBpc1RvdWNoZWRJbnB1dDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBzZXRDb21tYW5kRXZlbnQhOiBFdmVudElucHV0TWFuYWdlcjxDb21tYW5kc0V2ZW50PjtcblxuICAgIHB1YmxpYyBoYW5kbGVUb2dnbGVEcm9wZG93bk9wdGlvbnMhOiBFdmVudEVtaXR0ZXI8dm9pZD47XG5cbiAgICBwdWJsaWMgb25Ub3VjaGVkID0gKCkgPT4ge307XG4gICAgcHVibGljIG9uQ2hhbmdlKF86IGFueSk6IHZvaWQge31cbiAgICBwdWJsaWMgaGFuZGxlQ2hhbmdlSW5wdXRBbmRVcGRhdGVDb250cm9sKF86IElucHV0Q2hhbmdlVmFsdWUpOiB2b2lkIHt9XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnY2EtaW5wdXQtdGVzdCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIC8vIE1vZHVsZXNcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBOZ2JNb2R1bGUsXG4gICAgICAgIEFuZ3VsYXJTdmdJY29uTW9kdWxlLFxuICAgICAgICBOZ3hNYXNrTW9kdWxlLFxuXG4gICAgICAgIC8vIFBpcGVzXG4gICAgICAgIElucHV0RXJyb3JQaXBlLFxuICAgICAgICBJbnB1dENvbnRhaW5lckNsYXNzUGlwZSxcbiAgICAgICAgSW5wdXRDbGFzc1BpcGUsXG4gICAgICAgIElucHV0UGxhY2Vob2xkZXJUZXh0Q2xhc3NQaXBlLFxuICAgICAgICBTaG93UGxhY2Vob2xkZXJUZXh0UGlwZSxcbiAgICAgICAgTGFiZWxDbGFzc1BpcGUsXG4gICAgICAgIENhU3ZnUGlwZSxcbiAgICAgICAgTG9hZFN0YXR1c0NvbG9yUGlwZSxcbiAgICAgICAgSW5wdXRQbGFjZWhvbGRlckljb25SaWdodENsYXNzUGlwZSxcbiAgICAgICAgTWF4VmFsdWVEaXJlY3RpdmUsXG4gICAgICAgIElucHV0VHlwZVBpcGUsXG4gICAgICAgIFNob3dWYWxpZENoZWNrUGlwZSxcbiAgICAgICAgU2hvd0Ryb3Bkb3duQXJyb3dQaXBlLFxuICAgICAgICBJbnB1dERyb3Bkb3duQXJyb3dDbGFzc1BpcGUsXG5cbiAgICAgICAgLy8gRGlyZWN0aXZlc1xuICAgICAgICBSZXN0cmljdElucHV0RGlyZWN0aXZlLFxuICAgICAgICBQcmljZUZvcm1hdERpcmVjdGl2ZSxcbiAgICAgICAgU2hvd0NsZWFyUGlwZSxcbiAgICAgICAgQ2Fwc0xvY2tEaXJlY3RpdmUsXG4gICAgICAgIENvbW1hbmRWaXNpYmxlRGlyZWN0aXZlLFxuXG4gICAgICAgIC8vIENvbXBvbmVudHNcbiAgICAgICAgQ2FJbnB1dENsZWFyQ29tcG9uZW50LFxuICAgICAgICBDYUFwcFRvb2x0aXBWMkNvbXBvbmVudCxcbiAgICAgICAgQ2FJbnB1dFBsYWNlaG9sZGVySWNvbkNvbXBvbmVudCxcbiAgICAgICAgQ2FJbnB1dFBhc3N3b3JkQ29tcG9uZW50LFxuICAgICAgICBDYUlucHV0Q29tbWFuZHNDb21wb25lbnQsXG4gICAgICAgIENhU3Bpbm5lckNvbXBvbmVudCxcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC10ZXN0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vaW5wdXQtdGVzdC5jb21wb25lbnQuc2NzcycsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgSW5wdXRUZXN0Q29tcG9uZW50XG4gICAgZXh0ZW5kcyBJbnB1dENvbW1hbmRNaXhpbihJbnB1dEhlbHBlck1peGluKElucHV0QmFzZSkpXG4gICAgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3SW5pdFxue1xuICAgIHB1YmxpYyBpbnB1dFZhbHVlOiBJbnB1dENoYW5nZVZhbHVlID0gJyc7XG4gICAgcHVibGljIG92ZXJyaWRlIF9pbnB1dENvbmZpZyE6IElDYUlucHV0O1xuXG4gICAgcHVibGljIGlucHV0U3ZnUm91dGVzID0gSW5wdXRTdmdSb3V0ZXM7XG5cbiAgICBAVmlld0NoaWxkKCdpbnB1dCcsIHsgc3RhdGljOiB0cnVlIH0pIG92ZXJyaWRlIGlucHV0RWxlbWVudCE6IEVsZW1lbnRSZWY7XG5cbiAgICBASW5wdXQoKSBwYXJlbnRDb250cm9sITogQWJzdHJhY3RDb250cm9sPGFueSwgYW55PiB8IG51bGw7XG4gICAgQElucHV0KCkgc2VsZWN0ZWREcm9wZG93bkxhYmVsQ29sb3IhOiBMYWJlbENvbG9yIHwgbnVsbDtcbiAgICBASW5wdXQoKSB0ZW1wbGF0ZSE6IHN0cmluZztcbiAgICBASW5wdXQoKSBpbmNvcnJlY3RWYWx1ZSE6IGJvb2xlYW47XG4gICAgQElucHV0KCkgc2V0IGlucHV0Q29uZmlnKGNvbmZpZzogSUNhSW5wdXQpIHtcbiAgICAgICAgdGhpcy5faW5wdXRDb25maWcgPSBjb25maWc7XG4gICAgfVxuXG4gICAgQElucHV0KCkgYWN0aXZlSXRlbSE6IE9wdGlvbk1vZGVsIHwgbnVsbDtcblxuICAgIEBPdXRwdXQoJ2hhbmRsZVRvZ2dsZURyb3Bkb3duT3B0aW9ucycpXG4gICAgb3ZlcnJpZGUgaGFuZGxlVG9nZ2xlRHJvcGRvd25PcHRpb25zOiBFdmVudEVtaXR0ZXI8dm9pZD4gPVxuICAgICAgICBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICBAT3V0cHV0KCdpbmNvcnJlY3RFdmVudCcpIGluY29ycmVjdElucHV0OiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPVxuICAgICAgICBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICBAT3V0cHV0KCdibHVySW5wdXQnKSBibHVySW5wdXQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9XG4gICAgICAgIG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgICBAT3V0cHV0KCdmb2N1c0lucHV0JykgZm9jdXNJbnB1dEV2ZW50OiBFdmVudEVtaXR0ZXI8Rm9jdXNFdmVudD4gPVxuICAgICAgICBuZXcgRXZlbnRFbWl0dGVyPEZvY3VzRXZlbnQ+KCk7XG4gICAgQE91dHB1dCgnY2hhbmdlJykgY2hhbmdlSW5wdXQ6IEV2ZW50RW1pdHRlcjxJbnB1dENoYW5nZVZhbHVlPiA9XG4gICAgICAgIG5ldyBFdmVudEVtaXR0ZXI8SW5wdXRDaGFuZ2VWYWx1ZT4oKTtcbiAgICBAT3V0cHV0KCdjb21tYW5kRXZlbnQnKSBjb21tYW5kRXZlbnQ6IEV2ZW50RW1pdHRlcjxDb21tYW5kc0V2ZW50PiA9XG4gICAgICAgIG5ldyBFdmVudEVtaXR0ZXI8Q29tbWFuZHNFdmVudD4oKTtcbiAgICBAT3V0cHV0KCdjbGVhcicpIGNsZWFySW5wdXRFdmVudDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID1cbiAgICAgICAgbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgLy8gRHJvcGRvd25cbiAgICBAT3V0cHV0KCdzaG93SGlkZURyb3Bkb3duJykgc2hvd0hpZGVEcm9wZG93bkV2ZW50OiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPVxuICAgICAgICBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gICAgQE91dHB1dCgnZHJvcERvd25LZXlOYXZpZ2F0aW9uJykgZHJvcERvd25LZXlOYXZpZ2F0aW9uRXZlbnQ6IEV2ZW50RW1pdHRlcjx7XG4gICAgICAgIGtleUNvZGU6IG51bWJlcjtcbiAgICAgICAgZGF0YTogSUNhSW5wdXQgfCBudWxsO1xuICAgIH0+ID0gbmV3IEV2ZW50RW1pdHRlcjx7XG4gICAgICAgIGtleUNvZGU6IG51bWJlcjtcbiAgICAgICAgZGF0YTogSUNhSW5wdXQgfCBudWxsO1xuICAgIH0+KCk7XG5cbiAgICAvLyBldmVudHNcbiAgICBwdWJsaWMgb3ZlcnJpZGUgc2V0Q29tbWFuZEV2ZW50ID0gbmV3IEV2ZW50SW5wdXRNYW5hZ2VyPENvbW1hbmRzRXZlbnQ+KFxuICAgICAgICBudWxsLFxuICAgICAgICB0aGlzLmNvbW1hbmRFdmVudFxuICAgICk7XG5cbiAgICBwdWJsaWMgaXNDYXBzTG9ja09uID0gZmFsc2U7XG5cbiAgICBwdWJsaWMgaW5wdXRDb21tYW5kc1R5cGUgPSBJbnB1dENvbW1hbmRzVHlwZTtcbiAgICBwdWJsaWMgaW5wdXRTdHJpbmdFbnVtID0gSW5wdXRTdHJpbmdFbnVtO1xuICAgIHB1YmxpYyBkcm9wZG93blRlbXBsYXRlVHlwZUVudW0gPSBEcm9wZG93blRlbXBsYXRlVHlwZUVudW07XG5cbiAgICAvLyBQYXNzd29yZFxuICAgIHB1YmxpYyBpc1RvZ2dsZVBhc3N3b3JkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBwdWJsaWMgZ2V0IGlucHV0Q29uZmlnKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5faW5wdXRDb25maWc7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpIEBTZWxmKCkgcHVibGljIG5nQ29udHJvbDogTmdDb250cm9sLFxuICAgICAgICBwdWJsaWMgY2hkZXQ6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwdWJsaWMgb3ZlcnJpZGUgbWFza0FwcGxpZXI6IE5neE1hc2tTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgb3ZlcnJpZGUgdGhvdXNhbmRTZXBhcmF0b3JQaXBlOiBUaG91c2FuZFNlcGFyYXRvclBpcGVcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgaWYgKHRoaXMubmdDb250cm9sKSB7XG4gICAgICAgICAgICB0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZUNoYW5nZUlucHV0QW5kVXBkYXRlQ29udHJvbCh0aGlzLmlucHV0VmFsdWUpO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5faW5wdXRDb25maWcuYXV0b0ZvY3VzKVxuICAgICAgICAgICAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcblxuICAgICAgICAgICAgaWYgKHRoaXMucGFyZW50Q29udHJvbCkge1xuICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbD8uc2V0VmFsaWRhdG9ycyh0aGlzLnBhcmVudENvbnRyb2wudmFsaWRhdG9yKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5wYXJlbnRDb250cm9sPy5oYXNWYWxpZGF0b3IoVmFsaWRhdG9ycy5yZXF1aXJlZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250cm9sPy5hZGRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0IGNvbnRyb2woKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm5nQ29udHJvbD8uY29udHJvbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICAgIH1cblxuICAgIHB1YmxpYyB3cml0ZVZhbHVlKG9iajogSW5wdXRDaGFuZ2VWYWx1ZSk6IHZvaWQge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMudHJhbnNmb3JtVmFsdWUodGhpcy5faW5wdXRDb25maWcsIG9iaik7IC8vIOKchSBBcHBseSBtYXNrXG5cbiAgICAgICAgdGhpcy5pbnB1dFZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUpOyAvLyBOb3RpZnkgQW5ndWxhciBmb3JtIGFib3V0IHRoZSBjaGFuZ2VcbiAgICAgICAgaWYgKHZhbHVlICYmIHRoaXMuX2lucHV0Q29uZmlnLnVwZGF0ZUFzVG91Y2hlZE9uRWRpdCkgdGhpcy5vblRvdWNoZWQoKTsgLy8gTWFyayBhcyB0b3VjaGVkXG5cbiAgICAgICAgaWYgKCF0aGlzLl9pbnB1dENvbmZpZy5pc0Ryb3Bkb3duICYmICF0aGlzLl9pbnB1dENvbmZpZy5pc0FkZHJlc3MpXG4gICAgICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlID0gdmFsdWU7XG5cbiAgICAgICAgdGhpcy5jaGRldC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgaGFuZGxlSW5wdXQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7IC8vIE5vdGlmeSBBbmd1bGFyIGZvcm0gYWJvdXQgdGhlIGNoYW5nZVxuICAgICAgICBpZiAodmFsdWUpIHRoaXMub25Ub3VjaGVkKCk7IC8vIE1hcmsgYXMgdG91Y2hlZFxuXG4gICAgICAgIGlmICh0aGlzLmlucHV0VmFsdWUgPT09IHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRyb2w/Lm1hcmtBc1VudG91Y2hlZCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGNsZWFySW5wdXQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLmhhbmRsZUNoYW5nZUlucHV0QW5kVXBkYXRlQ29udHJvbCgnJyk7XG4gICAgICAgIHRoaXMuY2xlYXJJbnB1dEV2ZW50LmVtaXQodHJ1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIG92ZXJyaWRlIGhhbmRsZUNoYW5nZUlucHV0QW5kVXBkYXRlQ29udHJvbCh2YWx1ZTogSW5wdXRDaGFuZ2VWYWx1ZSkge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgICAgICAgaWYgKCF0aGlzLl9pbnB1dENvbmZpZy5pc0Ryb3Bkb3duICYmICF0aGlzLl9pbnB1dENvbmZpZy5pc0FkZHJlc3MpIHtcbiAgICAgICAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICAgIC8vIFRyaWdnZXIgYWxsIGlucHV0cyBkaXJlY3RpdmVzIHRoYXQgbGlzdGVuIGZvciBpbnB1dCBFdmVudFxuICAgICAgICAgICAgY29uc3QgZXZlbnQgPSBuZXcgRXZlbnQoJ2lucHV0JywgeyBidWJibGVzOiB0cnVlIH0pO1xuICAgICAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5kaXNwYXRjaEV2ZW50KGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBoYW5kbGVJbnB1dEZvY3VzKGV2ZW50OiBGb2N1c0V2ZW50KSB7XG4gICAgICAgIHRoaXMuZm9jdXNJbnB1dEV2ZW50LmVtaXQoZXZlbnQpO1xuICAgICAgICB0aGlzLmlzRm9jdXNJbnB1dCA9IHRydWU7XG4gICAgfVxuXG4gICAgcHVibGljIGhhbmRsZUlucHV0Qmx1cihldmVudDogRm9jdXNFdmVudCkge1xuICAgICAgICB0aGlzLmJsdXJJbnB1dC5lbWl0KHRydWUpO1xuICAgICAgICB0aGlzLmlzRm9jdXNJbnB1dCA9IGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblBvcG92ZXJTaG93bigpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9pbnB1dENvbmZpZy5kcm9wZG93bkxhYmVsKSB7XG4gICAgICAgICAgICB0aGlzLmlzRm9jdXNJbnB1dCA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb25Qb3BvdmVySGlkZGVuKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX2lucHV0Q29uZmlnLmRyb3Bkb3duTGFiZWwpIHtcbiAgICAgICAgICAgIHRoaXMuaXNGb2N1c0lucHV0ID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb25Ub2dnbGVQYXNzd29yZChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5pc1RvZ2dsZVBhc3N3b3JkID0gIXRoaXMuaXNUb2dnbGVQYXNzd29yZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFuZGxlQ2Fwc0xvY2soc3RhdHVzOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuaXNDYXBzTG9ja09uID0gc3RhdHVzO1xuICAgIH1cblxuICAgIHB1YmxpYyBoYW5kbGVDb21tYW5kVmlzaWJsZShzdGF0dXM6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5pc1Zpc2libGVDb21tYW5kcyA9IHN0YXR1cztcbiAgICB9XG5cbiAgICBwdWJsaWMgaWRlbnRpZnkoaW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBpbmRleDtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFuZGxlS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICB0aGlzLmRyb3BEb3duS2V5TmF2aWdhdGlvbkV2ZW50LmVtaXQoe1xuICAgICAgICAgICAga2V5Q29kZTogZXZlbnQua2V5Q29kZSxcbiAgICAgICAgICAgIGRhdGE6IHRoaXMuaW5wdXRDb25maWcsXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICBjbGFzcz1cImlucHV0LWN1c3RvbS1ncm91cCB7eyBfaW5wdXRDb25maWcuY3VzdG9tQ2xhc3MgfX1cIlxuICAgIFtuZ0NsYXNzXT1cIlxuICAgICAgICBjb250cm9sXG4gICAgICAgICAgICB8IGlucHV0Q29udGFpbmVyQ2xhc3NcbiAgICAgICAgICAgICAgICA6IGlzRm9jdXNJbnB1dFxuICAgICAgICAgICAgICAgIDogY29udHJvbD8udG91Y2hlZCFcbiAgICAgICAgICAgICAgICA6IF9pbnB1dENvbmZpZ1xuICAgICAgICAgICAgICAgIDogY29udHJvbD8udmFsdWVcbiAgICBcIlxuICAgIG5nYlRvb2x0aXBcbiAgICBbbWFpbkNhVG9vbHRpcF09XCJjb250cm9sPy5lcnJvcnMgfCBpbnB1dEVycm9yOiBfaW5wdXRDb25maWcubmFtZVwiXG4gICAgW3Rvb2x0aXBCYWNrZ3JvdW5kXT1cIicjREYzQzNDJ1wiXG4gICAgW2Rpc2FibGVUb29sdGlwXT1cIiFfaW5wdXRDb25maWcucmVxdWlyZWRMYWJlbCB8fCAhIWNvbnRyb2w/LnZhbGlkXCJcbiAgICBwb3NpdGlvbj1cImJvdHRvbVwiXG4gICAgdHJpZ2dlcnM9XCJob3ZlclwiXG4+XG4gICAgPCEtLSBJbnB1dCBMb2FkaW5nIHNwaW5uZXIgLS0+XG4gICAgQGlmIChfaW5wdXRDb25maWc/LmxvYWRpbmdTcGlubmVyPy5pc0xvYWRpbmcgJiYgIV9pbnB1dENvbmZpZy5pc0Rpc2FibGVkKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1sb2FkaW5nLXNwaW5uZXJcIj5cbiAgICAgICAgICAgIDxhcHAtY2Etc3Bpbm5lclxuICAgICAgICAgICAgICAgIFtzaXplXT1cIl9pbnB1dENvbmZpZy5sb2FkaW5nU3Bpbm5lcj8uc2l6ZVwiXG4gICAgICAgICAgICAgICAgW2NvbG9yXT1cIl9pbnB1dENvbmZpZy5sb2FkaW5nU3Bpbm5lcj8uY29sb3JcIlxuICAgICAgICAgICAgPjwvYXBwLWNhLXNwaW5uZXI+XG4gICAgICAgIDwvZGl2PlxuICAgIH1cblxuICAgIDwhLS0gSW5wdXQgQ29tbWFuZHMgLS0+XG4gICAgQGlmIChfaW5wdXRDb25maWcuY29tbWFuZHM/LmFjdGl2ZSAmJiBpc1Zpc2libGVDb21tYW5kcykge1xuICAgICAgICA8YXBwLWNhLWlucHV0LWNvbW1hbmRzXG4gICAgICAgICAgICBbaW5wdXRDb25maWddPVwiX2lucHV0Q29uZmlnXCJcbiAgICAgICAgICAgIFtpc0ZvY3VzSW5wdXRdPVwiaXNGb2N1c0lucHV0XCJcbiAgICAgICAgICAgIFtpc1Zpc2libGVDb21tYW5kc109XCJpc1Zpc2libGVDb21tYW5kc1wiXG4gICAgICAgICAgICAob25Db21tYW5kc0NsaWNrKT1cIm9uQ29tbWFuZHMoJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgPC9hcHAtY2EtaW5wdXQtY29tbWFuZHM+XG4gICAgfVxuICAgIDwhLS0gSW5wdXQgVmFsaWQgQ2hlY2sgLS0+XG4gICAgQGlmIChcbiAgICAgICAgY29udHJvbCB8IHNob3dWYWxpZENoZWNrOiBpc0ZvY3VzSW5wdXQgOiBfaW5wdXRDb25maWcgOiBjb250cm9sPy52YWx1ZVxuICAgICkge1xuICAgICAgICA8c3ZnLWljb25cbiAgICAgICAgICAgIGNsYXNzPVwiaW5wdXQtcmVxdWlyZWQtY2hlY2sge3sgX2lucHV0Q29uZmlnLmN1c3RvbUNsYXNzIH19XCJcbiAgICAgICAgICAgIFtzcmNdPVwiaW5wdXRTdmdSb3V0ZXMuY29uZmlybVN2Z1wiXG4gICAgICAgID48L3N2Zy1pY29uPlxuICAgIH1cbiAgICA8IS0tIElucHV0IFBhc3N3b3JkIENhcHMgTG9jayBBbmQgRXllIC0tPlxuICAgIEBpZiAoX2lucHV0Q29uZmlnLnR5cGUgPT09ICdwYXNzd29yZCcpIHtcbiAgICAgICAgPGFwcC1jYS1pbnB1dC1wYXNzd29yZFxuICAgICAgICAgICAgW2lucHV0Q29uZmlnXT1cIl9pbnB1dENvbmZpZ1wiXG4gICAgICAgICAgICBbZ2V0U3VwZXJDb250cm9sXT1cImNvbnRyb2xcIlxuICAgICAgICAgICAgW2lzRm9jdXNJbnB1dF09XCJpc0ZvY3VzSW5wdXRcIlxuICAgICAgICAgICAgW2lzVG91Y2hlZElucHV0XT1cImlzVG91Y2hlZElucHV0XCJcbiAgICAgICAgICAgIFtpc0NhcHNMb2NrT25dPVwiaXNDYXBzTG9ja09uXCJcbiAgICAgICAgICAgIFtpc1RvZ2dsZVBhc3N3b3JkXT1cImlzVG9nZ2xlUGFzc3dvcmRcIlxuICAgICAgICAgICAgKG9uVG9nZ2xlUGFzc3dvcmRDbGljayk9XCJvblRvZ2dsZVBhc3N3b3JkKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgIDwvYXBwLWNhLWlucHV0LXBhc3N3b3JkPlxuICAgIH1cbiAgICA8IS0tIElucHV0IENsZWFyIC0tPlxuICAgIEBpZiAoX2lucHV0Q29uZmlnIHwgc2hvd0NsZWFyKSB7XG4gICAgICAgIDxhcHAtY2EtaW5wdXQtY2xlYXJcbiAgICAgICAgICAgIFtpbnB1dENvbmZpZ109XCJfaW5wdXRDb25maWdcIlxuICAgICAgICAgICAgW2dldFN1cGVyQ29udHJvbF09XCJjb250cm9sXCJcbiAgICAgICAgICAgIFtpc0ZvY3VzSW5wdXRdPVwiaXNGb2N1c0lucHV0XCJcbiAgICAgICAgICAgIFtpbmNvcnJlY3RWYWx1ZV09XCJpbmNvcnJlY3RWYWx1ZVwiXG4gICAgICAgICAgICBbc2VsZWN0ZWREcm9wZG93bkxhYmVsQ29sb3JdPVwic2VsZWN0ZWREcm9wZG93bkxhYmVsQ29sb3JcIlxuICAgICAgICAgICAgW3RlbXBsYXRlXT1cInRlbXBsYXRlXCJcbiAgICAgICAgICAgIChjbGVhcklucHV0Q2xpY2spPVwiY2xlYXJJbnB1dCgkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICA8L2FwcC1jYS1pbnB1dC1jbGVhcj5cbiAgICB9XG5cbiAgICA8IS0tIElucHV0IERyb3Bkb3duIEFycm93IC0tPlxuICAgIEBpZiAoX2lucHV0Q29uZmlnIHwgc2hvd0Ryb3Bkb3duQXJyb3cpIHtcbiAgICAgICAgPHN2Zy1pY29uXG4gICAgICAgICAgICBjbGFzcz1cImlucHV0LWRyb3Bkb3duLWFycm93IHt7IF9pbnB1dENvbmZpZy5jdXN0b21DbGFzcyB9fVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJcbiAgICAgICAgICAgICAgICBjb250cm9sXG4gICAgICAgICAgICAgICAgICAgIHwgaW5wdXREcm9wZG93bkFycm93Q2xhc3NcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaXNGb2N1c0lucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICA6IF9pbnB1dENvbmZpZ1xuICAgICAgICAgICAgICAgICAgICAgICAgOiBpc1RvdWNoZWRJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgOiBjb250cm9sPy52YWx1ZVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIFtzcmNdPVwiaW5wdXRTdmdSb3V0ZXMuaW5wdXREcm9wZG93bkFycm93U3ZnXCJcbiAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVEcm9wZG93bk9wdGlvbnMoKVwiXG4gICAgICAgID48L3N2Zy1pY29uPlxuICAgIH1cblxuICAgIDwhLS0gSW5wdXQgUGxhY2Vob2xkZXIgSWNvbiAtLT5cbiAgICBAaWYgKF9pbnB1dENvbmZpZy5wbGFjZWhvbGRlckljb24pIHtcbiAgICAgICAgPGFwcC1jYS1pbnB1dC1wbGFjZWhvbGRlci1pY29uXG4gICAgICAgICAgICBbaW5wdXRDb25maWddPVwiX2lucHV0Q29uZmlnXCJcbiAgICAgICAgICAgIFtnZXRTdXBlckNvbnRyb2xdPVwiY29udHJvbFwiXG4gICAgICAgICAgICBbaXNGb2N1c0lucHV0XT1cImlzRm9jdXNJbnB1dFwiXG4gICAgICAgICAgICBbaXNUb3VjaGVkSW5wdXRdPVwiY29udHJvbD8udG91Y2hlZCFcIlxuICAgICAgICAgICAgW3NlbGVjdGVkRHJvcGRvd25MYWJlbENvbG9yXT1cInNlbGVjdGVkRHJvcGRvd25MYWJlbENvbG9yXCJcbiAgICAgICAgICAgIFtpc0VkaXRJbnB1dF09XCJpc0VkaXRJbnB1dFwiXG4gICAgICAgICAgICAob25QbGFjZWhvbGRlckljb25FdmVudEVtaXR0ZXIpPVwib25QbGFjZWhvbGRlckljb25FdmVudCgkZXZlbnQpXCJcbiAgICAgICAgICAgIChvblBvcG92ZXJTaG93bkVtaXR0ZXIpPVwib25Qb3BvdmVyU2hvd24oKVwiXG4gICAgICAgICAgICAob25Qb3BvdmVySGlkZGVuRW1pdHRlcik9XCJvblBvcG92ZXJIaWRkZW4oKVwiXG4gICAgICAgID5cbiAgICAgICAgPC9hcHAtY2EtaW5wdXQtcGxhY2Vob2xkZXItaWNvbj5cbiAgICB9XG5cbiAgICA8IS0tIElucHV0IFBsYWNlaG9sZGVyIFRleHQgLS0+XG4gICAgQGlmIChcbiAgICAgICAgX2lucHV0Q29uZmlnXG4gICAgICAgICAgICB8IHNob3dQbGFjZWhvbGRlclRleHQ6IGNvbnRyb2wgOiBpc1Zpc2libGVDb21tYW5kcyA6IGNvbnRyb2w/LnZhbHVlXG4gICAgKSB7XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgICBjbGFzcz1cImNhLXBsYWNlaG9sZGVyLXRleHQge3sgX2lucHV0Q29uZmlnLmN1c3RvbUNsYXNzIH19XCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIlxuICAgICAgICAgICAgICAgIGlzRm9jdXNJbnB1dFxuICAgICAgICAgICAgICAgICAgICB8IGlucHV0UGxhY2Vob2xkZXJUZXh0Q2xhc3NcbiAgICAgICAgICAgICAgICAgICAgICAgIDogY29udHJvbD8udG91Y2hlZCFcbiAgICAgICAgICAgICAgICAgICAgICAgIDogY29udHJvbFxuICAgICAgICAgICAgICAgICAgICAgICAgOiBfaW5wdXRDb25maWdcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaXNWaXNpYmxlQ29tbWFuZHNcbiAgICAgICAgICAgICAgICAgICAgICAgIDogY29udHJvbD8udmFsdWVcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICBbc3R5bGUubGVmdF09XCJcbiAgICAgICAgICAgICAgICBfaW5wdXRDb25maWcucGxhY2Vob2xkZXJUZXh0Py50b0xvd2VyQ2FzZSgpID09PVxuICAgICAgICAgICAgICAgICAgICBpbnB1dFN0cmluZ0VudW0uUEVSU09OUyB8fFxuICAgICAgICAgICAgICAgIF9pbnB1dENvbmZpZy5wbGFjZWhvbGRlclRleHQ/LnRvTG93ZXJDYXNlKCkgPT09XG4gICAgICAgICAgICAgICAgICAgIGlucHV0U3RyaW5nRW51bS5WRUhJQ0xFU1xuICAgICAgICAgICAgICAgICAgICA/IDMwICsgKGNvbnRyb2w/LnZhbHVlPy50b1N0cmluZygpPy5sZW5ndGggKyAxKSAqIDkgKyAncHgnXG4gICAgICAgICAgICAgICAgICAgIDogaXNGb2N1c0lucHV0ICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBfaW5wdXRDb25maWcucGxhY2Vob2xkZXJUZXh0Py50b0xvd2VyQ2FzZSgpICE9PVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0Q29tbWFuZHNUeXBlLk1PTlRIU1xuICAgICAgICAgICAgICAgICAgICAgID8gJ2F1dG8nXG4gICAgICAgICAgICAgICAgICAgICAgOiAoY29udHJvbD8udmFsdWU/LnRvU3RyaW5nKCk/Lmxlbmd0aCArIDEpICogOCArICdweCdcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICBbc3R5bGUucmlnaHRdPVwiXG4gICAgICAgICAgICAgICAgaXNGb2N1c0lucHV0ICYmXG4gICAgICAgICAgICAgICAgX2lucHV0Q29uZmlnLnBsYWNlaG9sZGVyVGV4dD8udG9Mb3dlckNhc2UoKSAhPT1cbiAgICAgICAgICAgICAgICAgICAgaW5wdXRDb21tYW5kc1R5cGUuTU9OVEhTXG4gICAgICAgICAgICAgICAgICAgID8gJzI4cHgnXG4gICAgICAgICAgICAgICAgICAgIDogJ2F1dG8nXG4gICAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgICAgICB7eyBfaW5wdXRDb25maWcucGxhY2Vob2xkZXJUZXh0IH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICB9XG5cbiAgICA8IS0tIElucHV0IExhYmVsIENvdW50ZXIgLS0+XG4gICAgQGlmIChcbiAgICAgICAgc2VsZWN0ZWREcm9wZG93bkxhYmVsQ29sb3IgJiZcbiAgICAgICAgY29udHJvbD8udmFsdWUgJiZcbiAgICAgICAgIWlzRm9jdXNJbnB1dCAmJlxuICAgICAgICAhX2lucHV0Q29uZmlnLmlzRGlzYWJsZWQgJiZcbiAgICAgICAgX2lucHV0Q29uZmlnLnNob3dDb3VudFxuICAgICkge1xuICAgICAgICA8cFxuICAgICAgICAgICAgW3N0eWxlLnRvcF09XCInNHB4J1wiXG4gICAgICAgICAgICBbc3R5bGUubGVmdF09XCIoY29udHJvbD8udmFsdWU/LnRvU3RyaW5nKCk/Lmxlbmd0aCArIDYuNSkgKiA4ICsgJ3B4J1wiXG4gICAgICAgICAgICBjbGFzcz1cImlucHV0LWxhYmVsLWNvdW50ZXJcIlxuICAgICAgICA+XG4gICAgICAgICAgICB7eyBzZWxlY3RlZERyb3Bkb3duTGFiZWxDb2xvci5jb3VudCB9fVxuICAgICAgICA8L3A+XG4gICAgfVxuXG4gICAgPCEtLSBTcGVjaWFsIERyb3Bkb3duIFNlbGVjdGVkIFNWRyB3aXRoIG9yIFdpdGhvdXQgVGV4dCAtLT5cbiAgICBAaWYgKFxuICAgICAgICBfaW5wdXRDb25maWc/LmRyb3Bkb3duSW1hZ2VJbnB1dD8uaWNvbnNQYXRoICYmXG4gICAgICAgIGFjdGl2ZUl0ZW0gJiZcbiAgICAgICAgIV9pbnB1dENvbmZpZz8uaGlkZUFsbEl0ZW1zSW5JbnB1dERyb3Bkb3duICYmXG4gICAgICAgICEoIV9pbnB1dENvbmZpZy5kcm9wZG93bkltYWdlSW5wdXQ/LndpdGhUZXh0ICYmIGlzRm9jdXNJbnB1dCkgJiZcbiAgICAgICAgIShcbiAgICAgICAgICAgIFsndHJ1Y2snLCAndHJhaWxlciddLmluY2x1ZGVzKFxuICAgICAgICAgICAgICAgIF9pbnB1dENvbmZpZy5kcm9wZG93bkltYWdlSW5wdXQ/LnRlbXBsYXRlIVxuICAgICAgICAgICAgKSAmJlxuICAgICAgICAgICAgaXNGb2N1c0lucHV0ICYmXG4gICAgICAgICAgICBfaW5wdXRDb25maWcuZHJvcGRvd25JbWFnZUlucHV0Py5yZW1vdmVcbiAgICAgICAgKSAmJlxuICAgICAgICAhX2lucHV0Q29uZmlnPy5kcm9wZG93bkltYWdlSW5wdXQ/Lm5hbWVJbml0aWFsc0luc3RlYWRVcmxcbiAgICApIHtcbiAgICAgICAgPHN2Zy1pY29uXG4gICAgICAgICAgICBbc3JjXT1cIl9pbnB1dENvbmZpZy5kcm9wZG93bkltYWdlSW5wdXQ/Lmljb25zUGF0aCFcIlxuICAgICAgICAgICAgY2xhc3M9XCJkcm9wZG93bi1zZWxlY3RlZC1pbWFnZSB7e1xuICAgICAgICAgICAgICAgIF9pbnB1dENvbmZpZy5kcm9wZG93bkltYWdlSW5wdXQ/LmNsYXNzXG4gICAgICAgICAgICB9fVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgJ3Vuc2V0LWNvbG9yJzpcbiAgICAgICAgICAgICAgICAgICAgaXNGb2N1c0lucHV0ICYmIF9pbnB1dENvbmZpZy5kcm9wZG93bkltYWdlSW5wdXQ/LmNsYXNzLFxuICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICBbc3ZnU3R5bGVdPVwie1xuICAgICAgICAgICAgICAgIGZpbGw6XG4gICAgICAgICAgICAgICAgICAgIF9pbnB1dENvbmZpZy5kcm9wZG93bkltYWdlSW5wdXQ/LmNvbG9yICYmICFpc0ZvY3VzSW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgID8gX2lucHV0Q29uZmlnLmRyb3Bkb3duSW1hZ2VJbnB1dD8uY29sb3JcbiAgICAgICAgICAgICAgICAgICAgICAgIDogJyNmZmZmZmYnLFxuICAgICAgICAgICAgfVwiXG4gICAgICAgID5cbiAgICAgICAgPC9zdmctaWNvbj5cbiAgICB9XG5cbiAgICA8IS0tIElucHV0IExhYmVsIC0tPlxuICAgIEBpZiAoIV9pbnB1dENvbmZpZy5tdWx0aVNlbGVjdERyb3Bkb3duQWN0aXZlKSB7XG4gICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgW2Zvcl09XCJfaW5wdXRDb25maWcubmFtZVwiXG4gICAgICAgICAgICBjbGFzcz1cImlucHV0LWxhYmVsIHt7IF9pbnB1dENvbmZpZy5jdXN0b21DbGFzcyB9fSB7e1xuICAgICAgICAgICAgICAgIF9pbnB1dENvbmZpZy5tdWx0aXBsZUxhYmVsPy5jdXN0b21DbGFzc1xuICAgICAgICAgICAgfX1cIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiXG4gICAgICAgICAgICAgICAgY29udHJvbD8udmFsdWVcbiAgICAgICAgICAgICAgICAgICAgfCBsYWJlbENsYXNzXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlzRm9jdXNJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgOiBfaW5wdXRDb25maWdcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaXNUb3VjaGVkSW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIDogY29udHJvbD8uaW52YWxpZFxuICAgICAgICAgICAgICAgICAgICAgICAgOiBjb250cm9sPy50b3VjaGVkXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGNvbnRyb2xcbiAgICAgICAgICAgIFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIEBpZiAoX2lucHV0Q29uZmlnLmxhYmVsKSB7XG4gICAgICAgICAgICAgICAgPHNwYW4+e3sgX2lucHV0Q29uZmlnLmxhYmVsIH19IDwvc3Bhbj5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmIChfaW5wdXRDb25maWcubXVsdGlwbGVMYWJlbD8ubGFiZWxzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIFtjbGFzc109XCJfaW5wdXRDb25maWcubXVsdGlwbGVMYWJlbD8uY3VzdG9tQ2xhc3MhXCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgJ211bHRpcGxlLWxhYmVscy1wb3NpdGlvbi1vbi1mb2N1cyc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNGb2N1c0lucHV0IHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX2lucHV0Q29uZmlnLm11bHRpcGxlSW5wdXRWYWx1ZXM/Lm9wdGlvbnM/Lmxlbmd0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9pbnB1dENvbmZpZy5pc1JlcXVpcmVkICYmICFfaW5wdXRDb25maWcuaXNEaXNhYmxlZCxcbiAgICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICBAZm9yIChcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsIG9mIF9pbnB1dENvbmZpZy5tdWx0aXBsZUxhYmVsPy5sYWJlbHM7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFjayAkaW5kZXhcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBsYWJlbCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvbGFiZWw+XG4gICAgfVxuXG4gICAgPGlucHV0XG4gICAgICAgICNpbnB1dFxuICAgICAgICAoaW5wdXQpPVwiaGFuZGxlSW5wdXQoJGV2ZW50KVwiXG4gICAgICAgIFtyZXN0cmljdElucHV0XT1cImlucHV0Q29uZmlnXCJcbiAgICAgICAgcHJpY2VGb3JtYXRcbiAgICAgICAgW3ByaWNlU2VwYXJhdG9yXT1cIlxuICAgICAgICAgICAgaW5wdXRDb25maWcucHJpY2VTZXBhcmF0b3IgfHwgaW5wdXRDb25maWcudGhvdXNhbmRTZXBhcmF0b3JcbiAgICAgICAgXCJcbiAgICAgICAgKGZvY3VzKT1cImhhbmRsZUlucHV0Rm9jdXMoJGV2ZW50KVwiXG4gICAgICAgIChibHVyKT1cImhhbmRsZUlucHV0Qmx1cigkZXZlbnQpXCJcbiAgICAgICAgKGtleWRvd24pPVwiaGFuZGxlS2V5RG93bigkZXZlbnQpXCJcbiAgICAgICAgW3JlYWRPbmx5XT1cIl9pbnB1dENvbmZpZy5yZWFkT25seVwiXG4gICAgICAgIFt0eXBlXT1cIl9pbnB1dENvbmZpZy50eXBlIHwgaW5wdXRUeXBlOiBpc1RvZ2dsZVBhc3N3b3JkXCJcbiAgICAgICAgY2xhc3M9XCJpbnB1dC1jb250cm9sXG4gICAgICAgICAgICB7eyBfaW5wdXRDb25maWcudGV4dFRyYW5zZm9ybSB9fVxuICAgICAgICAgICAge3sgX2lucHV0Q29uZmlnLnRleHRBbGlnbiB9fVxuICAgICAgICAgICAge3sgX2lucHV0Q29uZmlnLmN1c3RvbUNsYXNzIH19XG4gICAgICAgIFwiXG4gICAgICAgIFthcHBNYXhWYWx1ZV09XCJpbnB1dENvbmZpZy5tYXhcIlxuICAgICAgICBhcHBDYXBzTG9ja1xuICAgICAgICAoY2Fwc0xvY2tTdGF0dXMpPVwiaGFuZGxlQ2Fwc0xvY2soJGV2ZW50KVwiXG4gICAgICAgIGNvbW1hbmRWaXNpYmxlXG4gICAgICAgIChjb21tYW5kVmlzaWJsZSk9XCJoYW5kbGVDb21tYW5kVmlzaWJsZSgkZXZlbnQpXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIlxuICAgICAgICAgICAgKF9pbnB1dENvbmZpZy5wbGFjZWhvbGRlckluc3RlYWRPZkxhYmVsICYmXG4gICAgICAgICAgICBfaW5wdXRDb25maWcucGxhY2Vob2xkZXIgJiZcbiAgICAgICAgICAgIGlzRm9jdXNJbnB1dFxuICAgICAgICAgICAgICAgID8gX2lucHV0Q29uZmlnLnBsYWNlaG9sZGVyXG4gICAgICAgICAgICAgICAgOiAnJykgfHxcbiAgICAgICAgICAgIChfaW5wdXRDb25maWcucGxhY2Vob2xkZXIgJiYgaXNGb2N1c0lucHV0XG4gICAgICAgICAgICAgICAgPyBfaW5wdXRDb25maWcucGxhY2Vob2xkZXJcbiAgICAgICAgICAgICAgICA6ICcnKVxuICAgICAgICBcIlxuICAgICAgICBbbWFza109XCJfaW5wdXRDb25maWcubWFza1wiXG4gICAgICAgIFtuZ0NsYXNzXT1cIlxuICAgICAgICAgICAgY29udHJvbFxuICAgICAgICAgICAgICAgIHwgaW5wdXRDbGFzc1xuICAgICAgICAgICAgICAgICAgICA6IGlzRm9jdXNJbnB1dFxuICAgICAgICAgICAgICAgICAgICA6IGNvbnRyb2w/LnRvdWNoZWQhXG4gICAgICAgICAgICAgICAgICAgIDogX2lucHV0Q29uZmlnXG4gICAgICAgICAgICAgICAgICAgIDogaW5wdXRcbiAgICAgICAgICAgICAgICAgICAgOiBpc1Zpc2libGVDb21tYW5kc1xuICAgICAgICAgICAgICAgICAgICA6IGNvbnRyb2w/LnZhbHVlXG4gICAgICAgICAgICAgICAgICAgIDogY29udHJvbD8uaW52YWxpZFxuICAgICAgICAgICAgICAgICAgICA6IGNvbnRyb2w/LnRvdWNoZWRcbiAgICAgICAgICAgICAgICAgICAgOiBpc0Ryb3Bkb3duVG9nZ2xlclxuICAgICAgICAgICAgICAgICAgICA6IGlzRWRpdElucHV0XG4gICAgICAgICAgICAgICAgICAgIDogdGVtcGxhdGVcbiAgICAgICAgXCJcbiAgICAvPlxuXG4gICAgPCEtLSBQbGFjZWhvbGRlciBJY29uIG9uIFJpZ2h0IFNpZGUgLS0+XG4gICAgQGlmIChfaW5wdXRDb25maWcucGxhY2Vob2xkZXJJY29uUmlnaHRTaWRlKSB7XG4gICAgICAgIDxzdmctaWNvblxuICAgICAgICAgICAgY2xhc3M9XCJwbGFjZWhvbGRlci1pY29uLXJpZ2h0LXNpZGUge3tcbiAgICAgICAgICAgICAgICBfaW5wdXRDb25maWcucGxhY2Vob2xkZXJJY29uQ29sb3JcbiAgICAgICAgICAgIH19XCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIlxuICAgICAgICAgICAgICAgIGlzRm9jdXNJbnB1dFxuICAgICAgICAgICAgICAgICAgICB8IGlucHV0UGxhY2Vob2xkZXJJY29uUmlnaHRDbGFzc1xuICAgICAgICAgICAgICAgICAgICAgICAgOiBjb250cm9sXG4gICAgICAgICAgICAgICAgICAgICAgICA6IF9pbnB1dENvbmZpZ1xuICAgICAgICAgICAgICAgICAgICAgICAgOiBpc1RvdWNoZWRJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgOiBjb250cm9sPy52YWx1ZVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIFtzcmNdPVwiXG4gICAgICAgICAgICAgICAgX2lucHV0Q29uZmlnLnBsYWNlaG9sZGVySWNvblJpZ2h0U2lkZS50b0xvd2VyQ2FzZSgpXG4gICAgICAgICAgICAgICAgICAgIHwgY2FTdmc6ICdjb21tb24nXG4gICAgICAgICAgICBcIlxuICAgICAgICA+PC9zdmctaWNvbj5cbiAgICB9XG5cbiAgICA8IS0tIElucHV0IEVycm9yIE1lc3NhZ2UgLS0+XG4gICAgQGlmIChcbiAgICAgICAgISghY29udHJvbD8udmFsdWUgJiYgaXNGb2N1c0lucHV0KSAmJlxuICAgICAgICAoaXNUb3VjaGVkSW5wdXQgfHwgY29udHJvbD8udG91Y2hlZCB8fCBjb250cm9sPy52YWx1ZSkgJiZcbiAgICAgICAgY29udHJvbD8uaW52YWxpZCAmJlxuICAgICAgICAhX2lucHV0Q29uZmlnLmlzSW52YWxpZFNlYXJjaEluRHJvcGRvd24gJiZcbiAgICAgICAgIV9pbnB1dENvbmZpZy5pc0Rpc2FibGVkXG4gICAgKSB7XG4gICAgICAgIEBpZiAoXG4gICAgICAgICAgICAhKF9pbnB1dENvbmZpZy5oaWRlRXJyb3JNZXNzYWdlIHx8IF9pbnB1dENvbmZpZy5lcnJvckluc2lkZUlucHV0KVxuICAgICAgICApIHtcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaW5wdXQtZXJyb3Ige3sgX2lucHV0Q29uZmlnLmN1c3RvbUNsYXNzIH19XCI+XG4gICAgICAgICAgICAgICAge3sgY29udHJvbD8uZXJyb3JzIHwgaW5wdXRFcnJvcjogX2lucHV0Q29uZmlnLm5hbWUgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgfVxuXG4gICAgICAgIDwhLS0gRXJyb3IgTWVzc2FnZSBJbnNpZGUgSW5wdXQgLS0+XG4gICAgICAgIEBpZiAoX2lucHV0Q29uZmlnLmVycm9ySW5zaWRlSW5wdXQpIHtcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXJyb3ItaW5zaWRlLWlucHV0IHt7IF9pbnB1dENvbmZpZy5jdXN0b21DbGFzcyB9fVwiPlxuICAgICAgICAgICAgICAgIHt7IGNvbnRyb2w/LmVycm9ycyB8IGlucHV0RXJyb3I6IF9pbnB1dENvbmZpZy5uYW1lIH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKF9pbnB1dENvbmZpZy5maXhlZFBsYWNob2xkZXIgJiYgaW5wdXQudmFsdWUpIHtcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJpbnB1dC1maXhlZC1wbGFjZWhvZGVyLWxhYmVsXCI+XG4gICAgICAgICAgICB7eyBfaW5wdXRDb25maWcuZml4ZWRQbGFjaG9sZGVyIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICB9XG48L2Rpdj5cbiJdfQ==
|
|
293
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGVzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1pbnB1dC10ZXN0L2lucHV0LXRlc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtaW5wdXQtdGVzdC9pbnB1dC10ZXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHSCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLElBQUksRUFDSixTQUFTLEVBQ1QsaUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFJSCxVQUFVLEdBQ2IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSTFDLE9BQU8sRUFBb0IsY0FBYyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRzNELFFBQVE7QUFDUixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzdELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXRFLFFBQVE7QUFDUixPQUFPLEVBQ0gsY0FBYyxFQUNkLHVCQUF1QixFQUN2QiwyQkFBMkIsRUFDM0IsY0FBYyxFQUNkLGtDQUFrQyxFQUNsQyw2QkFBNkIsRUFDN0IsYUFBYSxFQUNiLGNBQWMs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QUExRCxNQUFNO3VCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBTZWxmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gICAgQWJzdHJhY3RDb250cm9sLFxuICAgIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICAgIE5nQ29udHJvbCxcbiAgICBWYWxpZGF0b3JzLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBOZ2JNb2R1bGUgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQW5ndWxhclN2Z0ljb25Nb2R1bGUgfSBmcm9tICdhbmd1bGFyLXN2Zy1pY29uJztcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuXG4vLyBtb2RlbHNcbmltcG9ydCB7IElDYUlucHV0IH0gZnJvbSAnLi9jb25maWcnO1xuaW1wb3J0IHsgSW5wdXRDaGFuZ2VWYWx1ZSwgSW5wdXRTdmdSb3V0ZXMgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IENvbW1hbmRzRXZlbnQsIExhYmVsQ29sb3IgfSBmcm9tICcuL21vZGVscyc7XG5cbi8vIGVtdW1zXG5pbXBvcnQgeyBJbnB1dENvbW1hbmRzVHlwZSwgSW5wdXRTdHJpbmdFbnVtIH0gZnJvbSAnLi9lbnVtcyc7XG5pbXBvcnQgeyBEcm9wZG93blRlbXBsYXRlVHlwZUVudW0gfSBmcm9tICcuLi9jYS1pbnB1dC1kcm9wZG93bi9lbnVtcyc7XG5cbi8vIHBpcGVzXG5pbXBvcnQge1xuICAgIElucHV0Q2xhc3NQaXBlLFxuICAgIElucHV0Q29udGFpbmVyQ2xhc3NQaXBlLFxuICAgIElucHV0RHJvcGRvd25BcnJvd0NsYXNzUGlwZSxcbiAgICBJbnB1dEVycm9yUGlwZSxcbiAgICBJbnB1dFBsYWNlaG9sZGVySWNvblJpZ2h0Q2xhc3NQaXBlLFxuICAgIElucHV0UGxhY2Vob2xkZXJUZXh0Q2xhc3NQaXBlLFxuICAgIElucHV0VHlwZVBpcGUsXG4gICAgTGFiZWxDbGFzc1BpcGUsXG4gICAgU2hvd0NsZWFyUGlwZSxcbiAgICBTaG93RHJvcGRvd25BcnJvd1BpcGUsXG4gICAgU2hvd1BsYWNlaG9sZGVyVGV4dFBpcGUsXG4gICAgU2hvd1ZhbGlkQ2hlY2tQaXBlLFxufSBmcm9tICcuL3BpcGVzJztcbmltcG9ydCB7XG4gICAgQ2FTdmdQaXBlLFxuICAgIExvYWRTdGF0dXNDb2xvclBpcGUsXG4gICAgVGhvdXNhbmRTZXBhcmF0b3JQaXBlLFxufSBmcm9tICcuLi8uLi9waXBlcyc7XG5cbi8vIG1hc2tcbmltcG9ydCB7IE5neE1hc2tNb2R1bGUgfSBmcm9tICduZ3gtbWFzayc7XG5pbXBvcnQgeyBOZ3hNYXNrU2VydmljZSB9IGZyb20gJ25neC1tYXNrJztcblxuLy8gY29tcG9uZW50c1xuaW1wb3J0IHsgQ2FJbnB1dFBhc3N3b3JkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NhLWlucHV0LXBhc3N3b3JkL2NhLWlucHV0LXBhc3N3b3JkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYUlucHV0UGxhY2Vob2xkZXJJY29uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NhLWlucHV0LXBsYWNlaG9sZGVyLWljb24vY2EtaW5wdXQtcGxhY2Vob2xkZXItaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FJbnB1dENsZWFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NhLWlucHV0LWNsZWFyL2NhLWlucHV0LWNsZWFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYUFwcFRvb2x0aXBWMkNvbXBvbmVudCB9IGZyb20gJy4uL2NhLWFwcC10b29sdGlwLXYyL2NhLWFwcC10b29sdGlwLXYyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYUlucHV0Q29tbWFuZHNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2EtaW5wdXQtY29tbWFuZHMvY2EtaW5wdXQtY29tbWFuZHMuY29tcG9uZW50JztcbmltcG9ydCB7IENhU3Bpbm5lckNvbXBvbmVudCB9IGZyb20gJy4uL2NhLXNwaW5uZXIvY2Etc3Bpbm5lci5jb21wb25lbnQnO1xuXG4vLyBkaXJlY3RpdmVzXG5pbXBvcnQgeyBDYXBzTG9ja0RpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBNYXhWYWx1ZURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBSZXN0cmljdElucHV0RGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IFByaWNlRm9ybWF0RGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IENvbW1hbmRWaXNpYmxlRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2NvbW1hbmQtdmlzaWJsZS5kaXJlY3RpdmUnO1xuXG4vLyBjbGFzc1xuaW1wb3J0IHsgRXZlbnRJbnB1dE1hbmFnZXIgfSBmcm9tICcuL2Jhc2UtY2xhc3Nlcy9jYS1pbnB1dC1ldmVudC1tYW5hZ2VyJztcblxuLy8gbWl4aW5zXG5pbXBvcnQgeyBJbnB1dENvbW1hbmRNaXhpbiB9IGZyb20gJy4vbWl4aW5zL2lucHV0LWNvbW1hbmQubWl4aW4nO1xuaW1wb3J0IHsgSW5wdXRIZWxwZXJNaXhpbiB9IGZyb20gJy4vbWl4aW5zL2lucHV0LWhlbHBlci5taXhpbic7XG5pbXBvcnQgeyBPcHRpb25Nb2RlbCB9IGZyb20gJy4uL2NhLWlucHV0LWRyb3Bkb3duL21vZGVscyc7XG5cbmNsYXNzIElucHV0QmFzZSB7XG4gICAgcHVibGljIGlucHV0RWxlbWVudCE6IEVsZW1lbnRSZWY7XG4gICAgcHVibGljIF9pbnB1dENvbmZpZyE6IElDYUlucHV0O1xuICAgIHB1YmxpYyBpc1Zpc2libGVDb21tYW5kczogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBtYXNrQXBwbGllciE6IE5neE1hc2tTZXJ2aWNlO1xuICAgIHB1YmxpYyB0aG91c2FuZFNlcGFyYXRvclBpcGUhOiBUaG91c2FuZFNlcGFyYXRvclBpcGU7XG4gICAgcHVibGljIGlzRm9jdXNJbnB1dDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBpc0VkaXRJbnB1dDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBpc0Ryb3Bkb3duVG9nZ2xlcjogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBpc1RvdWNoZWRJbnB1dDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBzZXRDb21tYW5kRXZlbnQhOiBFdmVudElucHV0TWFuYWdlcjxDb21tYW5kc0V2ZW50PjtcblxuICAgIHB1YmxpYyBoYW5kbGVUb2dnbGVEcm9wZG93bk9wdGlvbnMhOiBFdmVudEVtaXR0ZXI8dm9pZD47XG5cbiAgICBwdWJsaWMgb25Ub3VjaGVkID0gKCkgPT4ge307XG4gICAgcHVibGljIG9uQ2hhbmdlKF86IGFueSk6IHZvaWQge31cbiAgICBwdWJsaWMgaGFuZGxlQ2hhbmdlSW5wdXRBbmRVcGRhdGVDb250cm9sKF86IElucHV0Q2hhbmdlVmFsdWUpOiB2b2lkIHt9XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnY2EtaW5wdXQtdGVzdCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIC8vIE1vZHVsZXNcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBOZ2JNb2R1bGUsXG4gICAgICAgIEFuZ3VsYXJTdmdJY29uTW9kdWxlLFxuICAgICAgICBOZ3hNYXNrTW9kdWxlLFxuXG4gICAgICAgIC8vIFBpcGVzXG4gICAgICAgIElucHV0RXJyb3JQaXBlLFxuICAgICAgICBJbnB1dENvbnRhaW5lckNsYXNzUGlwZSxcbiAgICAgICAgSW5wdXRDbGFzc1BpcGUsXG4gICAgICAgIElucHV0UGxhY2Vob2xkZXJUZXh0Q2xhc3NQaXBlLFxuICAgICAgICBTaG93UGxhY2Vob2xkZXJUZXh0UGlwZSxcbiAgICAgICAgTGFiZWxDbGFzc1BpcGUsXG4gICAgICAgIENhU3ZnUGlwZSxcbiAgICAgICAgTG9hZFN0YXR1c0NvbG9yUGlwZSxcbiAgICAgICAgSW5wdXRQbGFjZWhvbGRlckljb25SaWdodENsYXNzUGlwZSxcbiAgICAgICAgTWF4VmFsdWVEaXJlY3RpdmUsXG4gICAgICAgIElucHV0VHlwZVBpcGUsXG4gICAgICAgIFNob3dWYWxpZENoZWNrUGlwZSxcbiAgICAgICAgU2hvd0Ryb3Bkb3duQXJyb3dQaXBlLFxuICAgICAgICBJbnB1dERyb3Bkb3duQXJyb3dDbGFzc1BpcGUsXG5cbiAgICAgICAgLy8gRGlyZWN0aXZlc1xuICAgICAgICBSZXN0cmljdElucHV0RGlyZWN0aXZlLFxuICAgICAgICBQcmljZUZvcm1hdERpcmVjdGl2ZSxcbiAgICAgICAgU2hvd0NsZWFyUGlwZSxcbiAgICAgICAgQ2Fwc0xvY2tEaXJlY3RpdmUsXG4gICAgICAgIENvbW1hbmRWaXNpYmxlRGlyZWN0aXZlLFxuXG4gICAgICAgIC8vIENvbXBvbmVudHNcbiAgICAgICAgQ2FJbnB1dENsZWFyQ29tcG9uZW50LFxuICAgICAgICBDYUFwcFRvb2x0aXBWMkNvbXBvbmVudCxcbiAgICAgICAgQ2FJbnB1dFBsYWNlaG9sZGVySWNvbkNvbXBvbmVudCxcbiAgICAgICAgQ2FJbnB1dFBhc3N3b3JkQ29tcG9uZW50LFxuICAgICAgICBDYUlucHV0Q29tbWFuZHNDb21wb25lbnQsXG4gICAgICAgIENhU3Bpbm5lckNvbXBvbmVudCxcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC10ZXN0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vaW5wdXQtdGVzdC5jb21wb25lbnQuc2NzcycsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgSW5wdXRUZXN0Q29tcG9uZW50XG4gICAgZXh0ZW5kcyBJbnB1dENvbW1hbmRNaXhpbihJbnB1dEhlbHBlck1peGluKElucHV0QmFzZSkpXG4gICAgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95XG57XG4gICAgcHVibGljIGlucHV0VmFsdWU6IElucHV0Q2hhbmdlVmFsdWUgPSAnJztcbiAgICBwdWJsaWMgb3ZlcnJpZGUgX2lucHV0Q29uZmlnITogSUNhSW5wdXQ7XG4gICAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBwdWJsaWMgaW5wdXRTdmdSb3V0ZXMgPSBJbnB1dFN2Z1JvdXRlcztcblxuICAgIEBWaWV3Q2hpbGQoJ2lucHV0JywgeyBzdGF0aWM6IHRydWUgfSkgb3ZlcnJpZGUgaW5wdXRFbGVtZW50ITogRWxlbWVudFJlZjtcblxuICAgIEBJbnB1dCgpIHBhcmVudENvbnRyb2whOiBBYnN0cmFjdENvbnRyb2w8YW55LCBhbnk+IHwgbnVsbDtcbiAgICBASW5wdXQoKSBzZWxlY3RlZERyb3Bkb3duTGFiZWxDb2xvciE6IExhYmVsQ29sb3IgfCBudWxsO1xuICAgIEBJbnB1dCgpIHRlbXBsYXRlITogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGluY29ycmVjdFZhbHVlITogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBzZXQgaW5wdXRDb25maWcoY29uZmlnOiBJQ2FJbnB1dCkge1xuICAgICAgICB0aGlzLl9pbnB1dENvbmZpZyA9IGNvbmZpZztcbiAgICB9XG5cbiAgICBASW5wdXQoKSBhY3RpdmVJdGVtITogT3B0aW9uTW9kZWwgfCBudWxsO1xuXG4gICAgQE91dHB1dCgnaGFuZGxlVG9nZ2xlRHJvcGRvd25PcHRpb25zJylcbiAgICBvdmVycmlkZSBoYW5kbGVUb2dnbGVEcm9wZG93bk9wdGlvbnM6IEV2ZW50RW1pdHRlcjx2b2lkPiA9XG4gICAgICAgIG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIEBPdXRwdXQoJ2luY29ycmVjdEV2ZW50JykgaW5jb3JyZWN0SW5wdXQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9XG4gICAgICAgIG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIEBPdXRwdXQoJ2JsdXJJbnB1dCcpIGJsdXJJbnB1dDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID1cbiAgICAgICAgbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICAgIEBPdXRwdXQoJ2ZvY3VzSW5wdXQnKSBmb2N1c0lucHV0RXZlbnQ6IEV2ZW50RW1pdHRlcjxGb2N1c0V2ZW50PiA9XG4gICAgICAgIG5ldyBFdmVudEVtaXR0ZXI8Rm9jdXNFdmVudD4oKTtcbiAgICBAT3V0cHV0KCdjaGFuZ2UnKSBjaGFuZ2VJbnB1dDogRXZlbnRFbWl0dGVyPElucHV0Q2hhbmdlVmFsdWU+ID1cbiAgICAgICAgbmV3IEV2ZW50RW1pdHRlcjxJbnB1dENoYW5nZVZhbHVlPigpO1xuICAgIEBPdXRwdXQoJ2NvbW1hbmRFdmVudCcpIGNvbW1hbmRFdmVudDogRXZlbnRFbWl0dGVyPENvbW1hbmRzRXZlbnQ+ID1cbiAgICAgICAgbmV3IEV2ZW50RW1pdHRlcjxDb21tYW5kc0V2ZW50PigpO1xuICAgIEBPdXRwdXQoJ2NsZWFyJykgY2xlYXJJbnB1dEV2ZW50OiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPVxuICAgICAgICBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICAvLyBEcm9wZG93blxuICAgIEBPdXRwdXQoJ3Nob3dIaWRlRHJvcGRvd24nKSBzaG93SGlkZURyb3Bkb3duRXZlbnQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9XG4gICAgICAgIG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgICBAT3V0cHV0KCdkcm9wRG93bktleU5hdmlnYXRpb24nKSBkcm9wRG93bktleU5hdmlnYXRpb25FdmVudDogRXZlbnRFbWl0dGVyPHtcbiAgICAgICAga2V5Q29kZTogbnVtYmVyO1xuICAgICAgICBkYXRhOiBJQ2FJbnB1dCB8IG51bGw7XG4gICAgfT4gPSBuZXcgRXZlbnRFbWl0dGVyPHtcbiAgICAgICAga2V5Q29kZTogbnVtYmVyO1xuICAgICAgICBkYXRhOiBJQ2FJbnB1dCB8IG51bGw7XG4gICAgfT4oKTtcblxuICAgIC8vIGV2ZW50c1xuICAgIHB1YmxpYyBvdmVycmlkZSBzZXRDb21tYW5kRXZlbnQgPSBuZXcgRXZlbnRJbnB1dE1hbmFnZXI8Q29tbWFuZHNFdmVudD4oXG4gICAgICAgIG51bGwsXG4gICAgICAgIHRoaXMuY29tbWFuZEV2ZW50XG4gICAgKTtcblxuICAgIHB1YmxpYyBpc0NhcHNMb2NrT24gPSBmYWxzZTtcblxuICAgIHB1YmxpYyBpbnB1dENvbW1hbmRzVHlwZSA9IElucHV0Q29tbWFuZHNUeXBlO1xuICAgIHB1YmxpYyBpbnB1dFN0cmluZ0VudW0gPSBJbnB1dFN0cmluZ0VudW07XG4gICAgcHVibGljIGRyb3Bkb3duVGVtcGxhdGVUeXBlRW51bSA9IERyb3Bkb3duVGVtcGxhdGVUeXBlRW51bTtcblxuICAgIC8vIFBhc3N3b3JkXG4gICAgcHVibGljIGlzVG9nZ2xlUGFzc3dvcmQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIHB1YmxpYyBnZXQgaW5wdXRDb25maWcoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pbnB1dENvbmZpZztcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKCkgQFNlbGYoKSBwdWJsaWMgbmdDb250cm9sOiBOZ0NvbnRyb2wsXG4gICAgICAgIHB1YmxpYyBjaGRldDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHB1YmxpYyBvdmVycmlkZSBtYXNrQXBwbGllcjogTmd4TWFza1NlcnZpY2UsXG4gICAgICAgIHB1YmxpYyBvdmVycmlkZSB0aG91c2FuZFNlcGFyYXRvclBpcGU6IFRob3VzYW5kU2VwYXJhdG9yUGlwZVxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICBpZiAodGhpcy5uZ0NvbnRyb2wpIHtcbiAgICAgICAgICAgIHRoaXMubmdDb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlQ2hhbmdlSW5wdXRBbmRVcGRhdGVDb250cm9sKHRoaXMuaW5wdXRWYWx1ZSk7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLl9pbnB1dENvbmZpZy5hdXRvRm9jdXMpXG4gICAgICAgICAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5wYXJlbnRDb250cm9sKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wYXJlbnRDb250cm9sLnN0YXR1c0NoYW5nZXNcbiAgICAgICAgICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBhcmVudENvbnRyb2w/Lmhhc1ZhbGlkYXRvcihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbD8uYWRkVmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250cm9sPy5yZW1vdmVWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2w/LnNldFZhbGlkYXRvcnModGhpcy5wYXJlbnRDb250cm9sLnZhbGlkYXRvcik7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMucGFyZW50Q29udHJvbD8uaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnMucmVxdWlyZWQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbD8uYWRkVmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldCBjb250cm9sKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w7XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgd3JpdGVWYWx1ZShvYmo6IElucHV0Q2hhbmdlVmFsdWUpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnRyYW5zZm9ybVZhbHVlKHRoaXMuX2lucHV0Q29uZmlnLCBvYmopOyAvLyDinIUgQXBwbHkgbWFza1xuXG4gICAgICAgIHRoaXMuaW5wdXRWYWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTsgLy8gTm90aWZ5IEFuZ3VsYXIgZm9ybSBhYm91dCB0aGUgY2hhbmdlXG4gICAgICAgIGlmICh2YWx1ZSAmJiB0aGlzLl9pbnB1dENvbmZpZy51cGRhdGVBc1RvdWNoZWRPbkVkaXQpIHRoaXMub25Ub3VjaGVkKCk7IC8vIE1hcmsgYXMgdG91Y2hlZFxuXG4gICAgICAgIGlmICghdGhpcy5faW5wdXRDb25maWcuaXNEcm9wZG93biAmJiAhdGhpcy5faW5wdXRDb25maWcuaXNBZGRyZXNzKVxuICAgICAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSA9IHZhbHVlO1xuXG4gICAgICAgIHRoaXMuY2hkZXQuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIGhhbmRsZUlucHV0KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWU7XG4gICAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUpOyAvLyBOb3RpZnkgQW5ndWxhciBmb3JtIGFib3V0IHRoZSBjaGFuZ2VcbiAgICAgICAgaWYgKHZhbHVlKSB0aGlzLm9uVG91Y2hlZCgpOyAvLyBNYXJrIGFzIHRvdWNoZWRcblxuICAgICAgICBpZiAodGhpcy5pbnB1dFZhbHVlID09PSB2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5jb250cm9sPy5tYXJrQXNVbnRvdWNoZWQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBjbGVhcklucHV0KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy5oYW5kbGVDaGFuZ2VJbnB1dEFuZFVwZGF0ZUNvbnRyb2woJycpO1xuICAgICAgICB0aGlzLmNsZWFySW5wdXRFdmVudC5lbWl0KHRydWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBoYW5kbGVDaGFuZ2VJbnB1dEFuZFVwZGF0ZUNvbnRyb2wodmFsdWU6IElucHV0Q2hhbmdlVmFsdWUpIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gICAgICAgIGlmICghdGhpcy5faW5wdXRDb25maWcuaXNEcm9wZG93biAmJiAhdGhpcy5faW5wdXRDb25maWcuaXNBZGRyZXNzKSB7XG4gICAgICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlID0gdmFsdWU7XG4gICAgICAgICAgICAvLyBUcmlnZ2VyIGFsbCBpbnB1dHMgZGlyZWN0aXZlcyB0aGF0IGxpc3RlbiBmb3IgaW5wdXQgRXZlbnRcbiAgICAgICAgICAgIGNvbnN0IGV2ZW50ID0gbmV3IEV2ZW50KCdpbnB1dCcsIHsgYnViYmxlczogdHJ1ZSB9KTtcbiAgICAgICAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZGlzcGF0Y2hFdmVudChldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgaGFuZGxlSW5wdXRGb2N1cyhldmVudDogRm9jdXNFdmVudCkge1xuICAgICAgICB0aGlzLmZvY3VzSW5wdXRFdmVudC5lbWl0KGV2ZW50KTtcbiAgICAgICAgdGhpcy5pc0ZvY3VzSW5wdXQgPSB0cnVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBoYW5kbGVJbnB1dEJsdXIoZXZlbnQ6IEZvY3VzRXZlbnQpIHtcbiAgICAgICAgdGhpcy5ibHVySW5wdXQuZW1pdCh0cnVlKTtcbiAgICAgICAgdGhpcy5pc0ZvY3VzSW5wdXQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25Qb3BvdmVyU2hvd24oKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5faW5wdXRDb25maWcuZHJvcGRvd25MYWJlbCkge1xuICAgICAgICAgICAgdGhpcy5pc0ZvY3VzSW5wdXQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG9uUG9wb3ZlckhpZGRlbigpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9pbnB1dENvbmZpZy5kcm9wZG93bkxhYmVsKSB7XG4gICAgICAgICAgICB0aGlzLmlzRm9jdXNJbnB1dCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG9uVG9nZ2xlUGFzc3dvcmQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMuaXNUb2dnbGVQYXNzd29yZCA9ICF0aGlzLmlzVG9nZ2xlUGFzc3dvcmQ7XG4gICAgfVxuXG4gICAgcHVibGljIGhhbmRsZUNhcHNMb2NrKHN0YXR1czogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmlzQ2Fwc0xvY2tPbiA9IHN0YXR1cztcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFuZGxlQ29tbWFuZFZpc2libGUoc3RhdHVzOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuaXNWaXNpYmxlQ29tbWFuZHMgPSBzdGF0dXM7XG4gICAgfVxuXG4gICAgcHVibGljIGlkZW50aWZ5KGluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gaW5kZXg7XG4gICAgfVxuXG4gICAgcHVibGljIGhhbmRsZUtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgdGhpcy5kcm9wRG93bktleU5hdmlnYXRpb25FdmVudC5lbWl0KHtcbiAgICAgICAgICAgIGtleUNvZGU6IGV2ZW50LmtleUNvZGUsXG4gICAgICAgICAgICBkYXRhOiB0aGlzLmlucHV0Q29uZmlnLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJpbnB1dC1jdXN0b20tZ3JvdXAge3sgX2lucHV0Q29uZmlnLmN1c3RvbUNsYXNzIH19XCJcbiAgICBbbmdDbGFzc109XCJcbiAgICAgICAgY29udHJvbFxuICAgICAgICAgICAgfCBpbnB1dENvbnRhaW5lckNsYXNzXG4gICAgICAgICAgICAgICAgOiBpc0ZvY3VzSW5wdXRcbiAgICAgICAgICAgICAgICA6IGNvbnRyb2w/LnRvdWNoZWQhXG4gICAgICAgICAgICAgICAgOiBfaW5wdXRDb25maWdcbiAgICAgICAgICAgICAgICA6IGNvbnRyb2w/LnZhbHVlXG4gICAgXCJcbiAgICBuZ2JUb29sdGlwXG4gICAgW21haW5DYVRvb2x0aXBdPVwiY29udHJvbD8uZXJyb3JzIHwgaW5wdXRFcnJvcjogX2lucHV0Q29uZmlnLm5hbWVcIlxuICAgIFt0b29sdGlwQmFja2dyb3VuZF09XCInI0RGM0MzQydcIlxuICAgIFtkaXNhYmxlVG9vbHRpcF09XCIhX2lucHV0Q29uZmlnLnJlcXVpcmVkTGFiZWwgfHwgISFjb250cm9sPy52YWxpZFwiXG4gICAgcG9zaXRpb249XCJib3R0b21cIlxuICAgIHRyaWdnZXJzPVwiaG92ZXJcIlxuPlxuICAgIDwhLS0gSW5wdXQgTG9hZGluZyBzcGlubmVyIC0tPlxuICAgIEBpZiAoX2lucHV0Q29uZmlnPy5sb2FkaW5nU3Bpbm5lcj8uaXNMb2FkaW5nICYmICFfaW5wdXRDb25maWcuaXNEaXNhYmxlZCkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtbG9hZGluZy1zcGlubmVyXCI+XG4gICAgICAgICAgICA8YXBwLWNhLXNwaW5uZXJcbiAgICAgICAgICAgICAgICBbc2l6ZV09XCJfaW5wdXRDb25maWcubG9hZGluZ1NwaW5uZXI/LnNpemVcIlxuICAgICAgICAgICAgICAgIFtjb2xvcl09XCJfaW5wdXRDb25maWcubG9hZGluZ1NwaW5uZXI/LmNvbG9yXCJcbiAgICAgICAgICAgID48L2FwcC1jYS1zcGlubmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICB9XG5cbiAgICA8IS0tIElucHV0IENvbW1hbmRzIC0tPlxuICAgIEBpZiAoX2lucHV0Q29uZmlnLmNvbW1hbmRzPy5hY3RpdmUgJiYgaXNWaXNpYmxlQ29tbWFuZHMpIHtcbiAgICAgICAgPGFwcC1jYS1pbnB1dC1jb21tYW5kc1xuICAgICAgICAgICAgW2lucHV0Q29uZmlnXT1cIl9pbnB1dENvbmZpZ1wiXG4gICAgICAgICAgICBbaXNGb2N1c0lucHV0XT1cImlzRm9jdXNJbnB1dFwiXG4gICAgICAgICAgICBbaXNWaXNpYmxlQ29tbWFuZHNdPVwiaXNWaXNpYmxlQ29tbWFuZHNcIlxuICAgICAgICAgICAgKG9uQ29tbWFuZHNDbGljayk9XCJvbkNvbW1hbmRzKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgIDwvYXBwLWNhLWlucHV0LWNvbW1hbmRzPlxuICAgIH1cbiAgICA8IS0tIElucHV0IFZhbGlkIENoZWNrIC0tPlxuICAgIEBpZiAoXG4gICAgICAgIGNvbnRyb2wgfCBzaG93VmFsaWRDaGVjazogaXNGb2N1c0lucHV0IDogX2lucHV0Q29uZmlnIDogY29udHJvbD8udmFsdWVcbiAgICApIHtcbiAgICAgICAgPHN2Zy1pY29uXG4gICAgICAgICAgICBjbGFzcz1cImlucHV0LXJlcXVpcmVkLWNoZWNrIHt7IF9pbnB1dENvbmZpZy5jdXN0b21DbGFzcyB9fVwiXG4gICAgICAgICAgICBbc3JjXT1cImlucHV0U3ZnUm91dGVzLmNvbmZpcm1TdmdcIlxuICAgICAgICA+PC9zdmctaWNvbj5cbiAgICB9XG4gICAgPCEtLSBJbnB1dCBQYXNzd29yZCBDYXBzIExvY2sgQW5kIEV5ZSAtLT5cbiAgICBAaWYgKF9pbnB1dENvbmZpZy50eXBlID09PSAncGFzc3dvcmQnKSB7XG4gICAgICAgIDxhcHAtY2EtaW5wdXQtcGFzc3dvcmRcbiAgICAgICAgICAgIFtpbnB1dENvbmZpZ109XCJfaW5wdXRDb25maWdcIlxuICAgICAgICAgICAgW2dldFN1cGVyQ29udHJvbF09XCJjb250cm9sXCJcbiAgICAgICAgICAgIFtpc0ZvY3VzSW5wdXRdPVwiaXNGb2N1c0lucHV0XCJcbiAgICAgICAgICAgIFtpc1RvdWNoZWRJbnB1dF09XCJpc1RvdWNoZWRJbnB1dFwiXG4gICAgICAgICAgICBbaXNDYXBzTG9ja09uXT1cImlzQ2Fwc0xvY2tPblwiXG4gICAgICAgICAgICBbaXNUb2dnbGVQYXNzd29yZF09XCJpc1RvZ2dsZVBhc3N3b3JkXCJcbiAgICAgICAgICAgIChvblRvZ2dsZVBhc3N3b3JkQ2xpY2spPVwib25Ub2dnbGVQYXNzd29yZCgkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICA8L2FwcC1jYS1pbnB1dC1wYXNzd29yZD5cbiAgICB9XG4gICAgPCEtLSBJbnB1dCBDbGVhciAtLT5cbiAgICBAaWYgKF9pbnB1dENvbmZpZyB8IHNob3dDbGVhcikge1xuICAgICAgICA8YXBwLWNhLWlucHV0LWNsZWFyXG4gICAgICAgICAgICBbaW5wdXRDb25maWddPVwiX2lucHV0Q29uZmlnXCJcbiAgICAgICAgICAgIFtnZXRTdXBlckNvbnRyb2xdPVwiY29udHJvbFwiXG4gICAgICAgICAgICBbaXNGb2N1c0lucHV0XT1cImlzRm9jdXNJbnB1dFwiXG4gICAgICAgICAgICBbaW5jb3JyZWN0VmFsdWVdPVwiaW5jb3JyZWN0VmFsdWVcIlxuICAgICAgICAgICAgW3NlbGVjdGVkRHJvcGRvd25MYWJlbENvbG9yXT1cInNlbGVjdGVkRHJvcGRvd25MYWJlbENvbG9yXCJcbiAgICAgICAgICAgIFt0ZW1wbGF0ZV09XCJ0ZW1wbGF0ZVwiXG4gICAgICAgICAgICAoY2xlYXJJbnB1dENsaWNrKT1cImNsZWFySW5wdXQoJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgPC9hcHAtY2EtaW5wdXQtY2xlYXI+XG4gICAgfVxuXG4gICAgPCEtLSBJbnB1dCBEcm9wZG93biBBcnJvdyAtLT5cbiAgICBAaWYgKF9pbnB1dENvbmZpZyB8IHNob3dEcm9wZG93bkFycm93KSB7XG4gICAgICAgIDxzdmctaWNvblxuICAgICAgICAgICAgY2xhc3M9XCJpbnB1dC1kcm9wZG93bi1hcnJvdyB7eyBfaW5wdXRDb25maWcuY3VzdG9tQ2xhc3MgfX1cIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiXG4gICAgICAgICAgICAgICAgY29udHJvbFxuICAgICAgICAgICAgICAgICAgICB8IGlucHV0RHJvcGRvd25BcnJvd0NsYXNzXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlzRm9jdXNJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgOiBfaW5wdXRDb25maWdcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaXNUb3VjaGVkSW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIDogY29udHJvbD8udmFsdWVcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICBbc3JjXT1cImlucHV0U3ZnUm91dGVzLmlucHV0RHJvcGRvd25BcnJvd1N2Z1wiXG4gICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlRHJvcGRvd25PcHRpb25zKClcIlxuICAgICAgICA+PC9zdmctaWNvbj5cbiAgICB9XG5cbiAgICA8IS0tIElucHV0IFBsYWNlaG9sZGVyIEljb24gLS0+XG4gICAgQGlmIChfaW5wdXRDb25maWcucGxhY2Vob2xkZXJJY29uKSB7XG4gICAgICAgIDxhcHAtY2EtaW5wdXQtcGxhY2Vob2xkZXItaWNvblxuICAgICAgICAgICAgW2lucHV0Q29uZmlnXT1cIl9pbnB1dENvbmZpZ1wiXG4gICAgICAgICAgICBbZ2V0U3VwZXJDb250cm9sXT1cImNvbnRyb2xcIlxuICAgICAgICAgICAgW2lzRm9jdXNJbnB1dF09XCJpc0ZvY3VzSW5wdXRcIlxuICAgICAgICAgICAgW2lzVG91Y2hlZElucHV0XT1cImNvbnRyb2w/LnRvdWNoZWQhXCJcbiAgICAgICAgICAgIFtzZWxlY3RlZERyb3Bkb3duTGFiZWxDb2xvcl09XCJzZWxlY3RlZERyb3Bkb3duTGFiZWxDb2xvclwiXG4gICAgICAgICAgICBbaXNFZGl0SW5wdXRdPVwiaXNFZGl0SW5wdXRcIlxuICAgICAgICAgICAgKG9uUGxhY2Vob2xkZXJJY29uRXZlbnRFbWl0dGVyKT1cIm9uUGxhY2Vob2xkZXJJY29uRXZlbnQoJGV2ZW50KVwiXG4gICAgICAgICAgICAob25Qb3BvdmVyU2hvd25FbWl0dGVyKT1cIm9uUG9wb3ZlclNob3duKClcIlxuICAgICAgICAgICAgKG9uUG9wb3ZlckhpZGRlbkVtaXR0ZXIpPVwib25Qb3BvdmVySGlkZGVuKClcIlxuICAgICAgICA+XG4gICAgICAgIDwvYXBwLWNhLWlucHV0LXBsYWNlaG9sZGVyLWljb24+XG4gICAgfVxuXG4gICAgPCEtLSBJbnB1dCBQbGFjZWhvbGRlciBUZXh0IC0tPlxuICAgIEBpZiAoXG4gICAgICAgIF9pbnB1dENvbmZpZ1xuICAgICAgICAgICAgfCBzaG93UGxhY2Vob2xkZXJUZXh0OiBjb250cm9sIDogaXNWaXNpYmxlQ29tbWFuZHMgOiBjb250cm9sPy52YWx1ZVxuICAgICkge1xuICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJjYS1wbGFjZWhvbGRlci10ZXh0IHt7IF9pbnB1dENvbmZpZy5jdXN0b21DbGFzcyB9fVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJcbiAgICAgICAgICAgICAgICBpc0ZvY3VzSW5wdXRcbiAgICAgICAgICAgICAgICAgICAgfCBpbnB1dFBsYWNlaG9sZGVyVGV4dENsYXNzXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGNvbnRyb2w/LnRvdWNoZWQhXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGNvbnRyb2xcbiAgICAgICAgICAgICAgICAgICAgICAgIDogX2lucHV0Q29uZmlnXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlzVmlzaWJsZUNvbW1hbmRzXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGNvbnRyb2w/LnZhbHVlXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgW3N0eWxlLmxlZnRdPVwiXG4gICAgICAgICAgICAgICAgX2lucHV0Q29uZmlnLnBsYWNlaG9sZGVyVGV4dD8udG9Mb3dlckNhc2UoKSA9PT1cbiAgICAgICAgICAgICAgICAgICAgaW5wdXRTdHJpbmdFbnVtLlBFUlNPTlMgfHxcbiAgICAgICAgICAgICAgICBfaW5wdXRDb25maWcucGxhY2Vob2xkZXJUZXh0Py50b0xvd2VyQ2FzZSgpID09PVxuICAgICAgICAgICAgICAgICAgICBpbnB1dFN0cmluZ0VudW0uVkVISUNMRVNcbiAgICAgICAgICAgICAgICAgICAgPyAzMCArIChjb250cm9sPy52YWx1ZT8udG9TdHJpbmcoKT8ubGVuZ3RoICsgMSkgKiA5ICsgJ3B4J1xuICAgICAgICAgICAgICAgICAgICA6IGlzRm9jdXNJbnB1dCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgX2lucHV0Q29uZmlnLnBsYWNlaG9sZGVyVGV4dD8udG9Mb3dlckNhc2UoKSAhPT1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dENvbW1hbmRzVHlwZS5NT05USFNcbiAgICAgICAgICAgICAgICAgICAgICA/ICdhdXRvJ1xuICAgICAgICAgICAgICAgICAgICAgIDogKGNvbnRyb2w/LnZhbHVlPy50b1N0cmluZygpPy5sZW5ndGggKyAxKSAqIDggKyAncHgnXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgW3N0eWxlLnJpZ2h0XT1cIlxuICAgICAgICAgICAgICAgIGlzRm9jdXNJbnB1dCAmJlxuICAgICAgICAgICAgICAgIF9pbnB1dENvbmZpZy5wbGFjZWhvbGRlclRleHQ/LnRvTG93ZXJDYXNlKCkgIT09XG4gICAgICAgICAgICAgICAgICAgIGlucHV0Q29tbWFuZHNUeXBlLk1PTlRIU1xuICAgICAgICAgICAgICAgICAgICA/ICcyOHB4J1xuICAgICAgICAgICAgICAgICAgICA6ICdhdXRvJ1xuICAgICAgICAgICAgXCJcbiAgICAgICAgPlxuICAgICAgICAgICAge3sgX2lucHV0Q29uZmlnLnBsYWNlaG9sZGVyVGV4dCB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgfVxuXG4gICAgPCEtLSBJbnB1dCBMYWJlbCBDb3VudGVyIC0tPlxuICAgIEBpZiAoXG4gICAgICAgIHNlbGVjdGVkRHJvcGRvd25MYWJlbENvbG9yICYmXG4gICAgICAgIGNvbnRyb2w/LnZhbHVlICYmXG4gICAgICAgICFpc0ZvY3VzSW5wdXQgJiZcbiAgICAgICAgIV9pbnB1dENvbmZpZy5pc0Rpc2FibGVkICYmXG4gICAgICAgIF9pbnB1dENvbmZpZy5zaG93Q291bnRcbiAgICApIHtcbiAgICAgICAgPHBcbiAgICAgICAgICAgIFtzdHlsZS50b3BdPVwiJzRweCdcIlxuICAgICAgICAgICAgW3N0eWxlLmxlZnRdPVwiKGNvbnRyb2w/LnZhbHVlPy50b1N0cmluZygpPy5sZW5ndGggKyA2LjUpICogOCArICdweCdcIlxuICAgICAgICAgICAgY2xhc3M9XCJpbnB1dC1sYWJlbC1jb3VudGVyXCJcbiAgICAgICAgPlxuICAgICAgICAgICAge3sgc2VsZWN0ZWREcm9wZG93bkxhYmVsQ29sb3IuY291bnQgfX1cbiAgICAgICAgPC9wPlxuICAgIH1cblxuICAgIDwhLS0gU3BlY2lhbCBEcm9wZG93biBTZWxlY3RlZCBTVkcgd2l0aCBvciBXaXRob3V0IFRleHQgLS0+XG4gICAgQGlmIChcbiAgICAgICAgX2lucHV0Q29uZmlnPy5kcm9wZG93bkltYWdlSW5wdXQ/Lmljb25zUGF0aCAmJlxuICAgICAgICBhY3RpdmVJdGVtICYmXG4gICAgICAgICFfaW5wdXRDb25maWc/LmhpZGVBbGxJdGVtc0luSW5wdXREcm9wZG93biAmJlxuICAgICAgICAhKCFfaW5wdXRDb25maWcuZHJvcGRvd25JbWFnZUlucHV0Py53aXRoVGV4dCAmJiBpc0ZvY3VzSW5wdXQpICYmXG4gICAgICAgICEoXG4gICAgICAgICAgICBbJ3RydWNrJywgJ3RyYWlsZXInXS5pbmNsdWRlcyhcbiAgICAgICAgICAgICAgICBfaW5wdXRDb25maWcuZHJvcGRvd25JbWFnZUlucHV0Py50ZW1wbGF0ZSFcbiAgICAgICAgICAgICkgJiZcbiAgICAgICAgICAgIGlzRm9jdXNJbnB1dCAmJlxuICAgICAgICAgICAgX2lucHV0Q29uZmlnLmRyb3Bkb3duSW1hZ2VJbnB1dD8ucmVtb3ZlXG4gICAgICAgICkgJiZcbiAgICAgICAgIV9pbnB1dENvbmZpZz8uZHJvcGRvd25JbWFnZUlucHV0Py5uYW1lSW5pdGlhbHNJbnN0ZWFkVXJsXG4gICAgKSB7XG4gICAgICAgIDxzdmctaWNvblxuICAgICAgICAgICAgW3NyY109XCJfaW5wdXRDb25maWcuZHJvcGRvd25JbWFnZUlucHV0Py5pY29uc1BhdGghXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZHJvcGRvd24tc2VsZWN0ZWQtaW1hZ2Uge3tcbiAgICAgICAgICAgICAgICBfaW5wdXRDb25maWcuZHJvcGRvd25JbWFnZUlucHV0Py5jbGFzc1xuICAgICAgICAgICAgfX1cIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICd1bnNldC1jb2xvcic6XG4gICAgICAgICAgICAgICAgICAgIGlzRm9jdXNJbnB1dCAmJiBfaW5wdXRDb25maWcuZHJvcGRvd25JbWFnZUlucHV0Py5jbGFzcyxcbiAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgW3N2Z1N0eWxlXT1cIntcbiAgICAgICAgICAgICAgICBmaWxsOlxuICAgICAgICAgICAgICAgICAgICBfaW5wdXRDb25maWcuZHJvcGRvd25JbWFnZUlucHV0Py5jb2xvciAmJiAhaXNGb2N1c0lucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICA/IF9pbnB1dENvbmZpZy5kcm9wZG93bkltYWdlSW5wdXQ/LmNvbG9yXG4gICAgICAgICAgICAgICAgICAgICAgICA6ICcjZmZmZmZmJyxcbiAgICAgICAgICAgIH1cIlxuICAgICAgICA+XG4gICAgICAgIDwvc3ZnLWljb24+XG4gICAgfVxuXG4gICAgPCEtLSBJbnB1dCBMYWJlbCAtLT5cbiAgICBAaWYgKCFfaW5wdXRDb25maWcubXVsdGlTZWxlY3REcm9wZG93bkFjdGl2ZSkge1xuICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgIFtmb3JdPVwiX2lucHV0Q29uZmlnLm5hbWVcIlxuICAgICAgICAgICAgY2xhc3M9XCJpbnB1dC1sYWJlbCB7eyBfaW5wdXRDb25maWcuY3VzdG9tQ2xhc3MgfX0ge3tcbiAgICAgICAgICAgICAgICBfaW5wdXRDb25maWcubXVsdGlwbGVMYWJlbD8uY3VzdG9tQ2xhc3NcbiAgICAgICAgICAgIH19XCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIlxuICAgICAgICAgICAgICAgIGNvbnRyb2w/LnZhbHVlXG4gICAgICAgICAgICAgICAgICAgIHwgbGFiZWxDbGFzc1xuICAgICAgICAgICAgICAgICAgICAgICAgOiBpc0ZvY3VzSW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIDogX2lucHV0Q29uZmlnXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlzVG91Y2hlZElucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICA6IGNvbnRyb2w/LmludmFsaWRcbiAgICAgICAgICAgICAgICAgICAgICAgIDogY29udHJvbD8udG91Y2hlZFxuICAgICAgICAgICAgICAgICAgICAgICAgOiBjb250cm9sXG4gICAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgICAgICBAaWYgKF9pbnB1dENvbmZpZy5sYWJlbCkge1xuICAgICAgICAgICAgICAgIDxzcGFuPnt7IF9pbnB1dENvbmZpZy5sYWJlbCB9fSA8L3NwYW4+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoX2lucHV0Q29uZmlnLm11bHRpcGxlTGFiZWw/LmxhYmVscz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwiX2lucHV0Q29uZmlnLm11bHRpcGxlTGFiZWw/LmN1c3RvbUNsYXNzIVwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICdtdWx0aXBsZS1sYWJlbHMtcG9zaXRpb24tb24tZm9jdXMnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzRm9jdXNJbnB1dCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9pbnB1dENvbmZpZy5tdWx0aXBsZUlucHV0VmFsdWVzPy5vcHRpb25zPy5sZW5ndGgsXG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfaW5wdXRDb25maWcuaXNSZXF1aXJlZCAmJiAhX2lucHV0Q29uZmlnLmlzRGlzYWJsZWQsXG4gICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgQGZvciAoXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbCBvZiBfaW5wdXRDb25maWcubXVsdGlwbGVMYWJlbD8ubGFiZWxzO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2sgJGluZGV4XG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgbGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2xhYmVsPlxuICAgIH1cblxuICAgIDxpbnB1dFxuICAgICAgICAjaW5wdXRcbiAgICAgICAgKGlucHV0KT1cImhhbmRsZUlucHV0KCRldmVudClcIlxuICAgICAgICBbcmVzdHJpY3RJbnB1dF09XCJpbnB1dENvbmZpZ1wiXG4gICAgICAgIHByaWNlRm9ybWF0XG4gICAgICAgIFtwcmljZVNlcGFyYXRvcl09XCJcbiAgICAgICAgICAgIGlucHV0Q29uZmlnLnByaWNlU2VwYXJhdG9yIHx8IGlucHV0Q29uZmlnLnRob3VzYW5kU2VwYXJhdG9yXG4gICAgICAgIFwiXG4gICAgICAgIChmb2N1cyk9XCJoYW5kbGVJbnB1dEZvY3VzKCRldmVudClcIlxuICAgICAgICAoYmx1cik9XCJoYW5kbGVJbnB1dEJsdXIoJGV2ZW50KVwiXG4gICAgICAgIChrZXlkb3duKT1cImhhbmRsZUtleURvd24oJGV2ZW50KVwiXG4gICAgICAgIFtyZWFkT25seV09XCJfaW5wdXRDb25maWcucmVhZE9ubHlcIlxuICAgICAgICBbdHlwZV09XCJfaW5wdXRDb25maWcudHlwZSB8IGlucHV0VHlwZTogaXNUb2dnbGVQYXNzd29yZFwiXG4gICAgICAgIGNsYXNzPVwiaW5wdXQtY29udHJvbFxuICAgICAgICAgICAge3sgX2lucHV0Q29uZmlnLnRleHRUcmFuc2Zvcm0gfX1cbiAgICAgICAgICAgIHt7IF9pbnB1dENvbmZpZy50ZXh0QWxpZ24gfX1cbiAgICAgICAgICAgIHt7IF9pbnB1dENvbmZpZy5jdXN0b21DbGFzcyB9fVxuICAgICAgICBcIlxuICAgICAgICBbYXBwTWF4VmFsdWVdPVwiaW5wdXRDb25maWcubWF4XCJcbiAgICAgICAgYXBwQ2Fwc0xvY2tcbiAgICAgICAgKGNhcHNMb2NrU3RhdHVzKT1cImhhbmRsZUNhcHNMb2NrKCRldmVudClcIlxuICAgICAgICBjb21tYW5kVmlzaWJsZVxuICAgICAgICAoY29tbWFuZFZpc2libGUpPVwiaGFuZGxlQ29tbWFuZFZpc2libGUoJGV2ZW50KVwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJcbiAgICAgICAgICAgIChfaW5wdXRDb25maWcucGxhY2Vob2xkZXJJbnN0ZWFkT2ZMYWJlbCAmJlxuICAgICAgICAgICAgX2lucHV0Q29uZmlnLnBsYWNlaG9sZGVyICYmXG4gICAgICAgICAgICBpc0ZvY3VzSW5wdXRcbiAgICAgICAgICAgICAgICA/IF9pbnB1dENvbmZpZy5wbGFjZWhvbGRlclxuICAgICAgICAgICAgICAgIDogJycpIHx8XG4gICAgICAgICAgICAoX2lucHV0Q29uZmlnLnBsYWNlaG9sZGVyICYmIGlzRm9jdXNJbnB1dFxuICAgICAgICAgICAgICAgID8gX2lucHV0Q29uZmlnLnBsYWNlaG9sZGVyXG4gICAgICAgICAgICAgICAgOiAnJylcbiAgICAgICAgXCJcbiAgICAgICAgW21hc2tdPVwiX2lucHV0Q29uZmlnLm1hc2tcIlxuICAgICAgICBbbmdDbGFzc109XCJcbiAgICAgICAgICAgIGNvbnRyb2xcbiAgICAgICAgICAgICAgICB8IGlucHV0Q2xhc3NcbiAgICAgICAgICAgICAgICAgICAgOiBpc0ZvY3VzSW5wdXRcbiAgICAgICAgICAgICAgICAgICAgOiBjb250cm9sPy50b3VjaGVkIVxuICAgICAgICAgICAgICAgICAgICA6IF9pbnB1dENvbmZpZ1xuICAgICAgICAgICAgICAgICAgICA6IGlucHV0XG4gICAgICAgICAgICAgICAgICAgIDogaXNWaXNpYmxlQ29tbWFuZHNcbiAgICAgICAgICAgICAgICAgICAgOiBjb250cm9sPy52YWx1ZVxuICAgICAgICAgICAgICAgICAgICA6IGNvbnRyb2w/LmludmFsaWRcbiAgICAgICAgICAgICAgICAgICAgOiBjb250cm9sPy50b3VjaGVkXG4gICAgICAgICAgICAgICAgICAgIDogaXNEcm9wZG93blRvZ2dsZXJcbiAgICAgICAgICAgICAgICAgICAgOiBpc0VkaXRJbnB1dFxuICAgICAgICAgICAgICAgICAgICA6IHRlbXBsYXRlXG4gICAgICAgIFwiXG4gICAgLz5cblxuICAgIDwhLS0gUGxhY2Vob2xkZXIgSWNvbiBvbiBSaWdodCBTaWRlIC0tPlxuICAgIEBpZiAoX2lucHV0Q29uZmlnLnBsYWNlaG9sZGVySWNvblJpZ2h0U2lkZSkge1xuICAgICAgICA8c3ZnLWljb25cbiAgICAgICAgICAgIGNsYXNzPVwicGxhY2Vob2xkZXItaWNvbi1yaWdodC1zaWRlIHt7XG4gICAgICAgICAgICAgICAgX2lucHV0Q29uZmlnLnBsYWNlaG9sZGVySWNvbkNvbG9yXG4gICAgICAgICAgICB9fVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJcbiAgICAgICAgICAgICAgICBpc0ZvY3VzSW5wdXRcbiAgICAgICAgICAgICAgICAgICAgfCBpbnB1dFBsYWNlaG9sZGVySWNvblJpZ2h0Q2xhc3NcbiAgICAgICAgICAgICAgICAgICAgICAgIDogY29udHJvbFxuICAgICAgICAgICAgICAgICAgICAgICAgOiBfaW5wdXRDb25maWdcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaXNUb3VjaGVkSW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIDogY29udHJvbD8udmFsdWVcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICBbc3JjXT1cIlxuICAgICAgICAgICAgICAgIF9pbnB1dENvbmZpZy5wbGFjZWhvbGRlckljb25SaWdodFNpZGUudG9Mb3dlckNhc2UoKVxuICAgICAgICAgICAgICAgICAgICB8IGNhU3ZnOiAnY29tbW9uJ1xuICAgICAgICAgICAgXCJcbiAgICAgICAgPjwvc3ZnLWljb24+XG4gICAgfVxuXG4gICAgPCEtLSBJbnB1dCBFcnJvciBNZXNzYWdlIC0tPlxuICAgIEBpZiAoXG4gICAgICAgICEoIWNvbnRyb2w/LnZhbHVlICYmIGlzRm9jdXNJbnB1dCkgJiZcbiAgICAgICAgKGlzVG91Y2hlZElucHV0IHx8IGNvbnRyb2w/LnRvdWNoZWQgfHwgY29udHJvbD8udmFsdWUpICYmXG4gICAgICAgIGNvbnRyb2w/LmludmFsaWQgJiZcbiAgICAgICAgIV9pbnB1dENvbmZpZy5pc0ludmFsaWRTZWFyY2hJbkRyb3Bkb3duICYmXG4gICAgICAgICFfaW5wdXRDb25maWcuaXNEaXNhYmxlZFxuICAgICkge1xuICAgICAgICBAaWYgKFxuICAgICAgICAgICAgIShfaW5wdXRDb25maWcuaGlkZUVycm9yTWVzc2FnZSB8fCBfaW5wdXRDb25maWcuZXJyb3JJbnNpZGVJbnB1dClcbiAgICAgICAgKSB7XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImlucHV0LWVycm9yIHt7IF9pbnB1dENvbmZpZy5jdXN0b21DbGFzcyB9fVwiPlxuICAgICAgICAgICAgICAgIHt7IGNvbnRyb2w/LmVycm9ycyB8IGlucHV0RXJyb3I6IF9pbnB1dENvbmZpZy5uYW1lIH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIH1cblxuICAgICAgICA8IS0tIEVycm9yIE1lc3NhZ2UgSW5zaWRlIElucHV0IC0tPlxuICAgICAgICBAaWYgKF9pbnB1dENvbmZpZy5lcnJvckluc2lkZUlucHV0KSB7XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVycm9yLWluc2lkZS1pbnB1dCB7eyBfaW5wdXRDb25maWcuY3VzdG9tQ2xhc3MgfX1cIj5cbiAgICAgICAgICAgICAgICB7eyBjb250cm9sPy5lcnJvcnMgfCBpbnB1dEVycm9yOiBfaW5wdXRDb25maWcubmFtZSB9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmIChfaW5wdXRDb25maWcuZml4ZWRQbGFjaG9sZGVyICYmIGlucHV0LnZhbHVlKSB7XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiaW5wdXQtZml4ZWQtcGxhY2Vob2Rlci1sYWJlbFwiPlxuICAgICAgICAgICAge3sgX2lucHV0Q29uZmlnLmZpeGVkUGxhY2hvbGRlciB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgfVxuPC9kaXY+XG4iXX0=
|