gunsmith-common 2.3.1 → 2.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/esm2020/shared/controls/package-selector/package-selector.component.mjs +4 -4
  2. package/esm2020/shared/services/firearm.service.mjs +11 -31
  3. package/esm2020/shared/services/gun-part.service.mjs +20 -26
  4. package/esm2020/shared/services/index.mjs +1 -2
  5. package/esm2020/shared/services/inventory.service.mjs +9 -22
  6. package/esm2020/shared/services/optic.service.mjs +6 -23
  7. package/esm2020/shared/types/firearm.mjs +1 -1
  8. package/esm2020/shared/types/index.mjs +1 -3
  9. package/esm2020/shared/types/milling-item.mjs +1 -1
  10. package/esm2020/shared/types/sight.mjs +1 -1
  11. package/esm2020/shared/types/work-order.mjs +3 -1
  12. package/fesm2015/gunsmith-common.mjs +81 -201
  13. package/fesm2015/gunsmith-common.mjs.map +1 -1
  14. package/fesm2020/gunsmith-common.mjs +81 -199
  15. package/fesm2020/gunsmith-common.mjs.map +1 -1
  16. package/gunsmith-common-2.3.3.tgz +0 -0
  17. package/package.json +1 -1
  18. package/shared/services/firearm.service.d.ts +5 -11
  19. package/shared/services/gun-part.service.d.ts +8 -10
  20. package/shared/services/index.d.ts +0 -1
  21. package/shared/services/inventory.service.d.ts +4 -8
  22. package/shared/services/optic.service.d.ts +3 -8
  23. package/shared/types/firearm.d.ts +0 -2
  24. package/shared/types/index.d.ts +0 -2
  25. package/shared/types/milling-item.d.ts +5 -2
  26. package/shared/types/sight.d.ts +1 -1
  27. package/shared/types/work-order.d.ts +4 -0
  28. package/esm2020/shared/services/firearm-series.service.mjs +0 -45
  29. package/esm2020/shared/types/firearm-series-optic.mjs +0 -9
  30. package/esm2020/shared/types/firearm-series.mjs +0 -10
  31. package/gunsmith-common-2.3.1.tgz +0 -0
  32. package/shared/services/firearm-series.service.d.ts +0 -18
  33. package/shared/types/firearm-series-optic.d.ts +0 -11
  34. package/shared/types/firearm-series.d.ts +0 -11
@@ -69,7 +69,7 @@ export class PackageSelectorComponent {
69
69
  this.packageForm.controls.variations.valueChanges
70
70
  .subscribe(value => {
71
71
  if (value) {
72
- this.packageForm.controls.variations.setValue(value.map(v => v.id ? v : null), { emitEvent: false });
72
+ this.packageForm.controls.variations.setValue(value.map(v => v?.id ? v : null), { emitEvent: false });
73
73
  }
74
74
  });
75
75
  this.packageForm.controls.package.valueChanges
@@ -163,7 +163,7 @@ PackageSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0
163
163
  multi: true,
164
164
  useExisting: PackageSelectorComponent
165
165
  }
166
- ], usesOnChanges: true, ngImport: i0, template: "<div [formGroup]=\"packageForm\">\n <div class=\"row mb-2\">\n <div class=\"col\">\n <label for=\"waitlist-gun-package\">Package - <span class=\"fst-italic fs-7\">Select a model to list available packages</span></label>\n <kendo-dropdownlist [data]=\"packages\"\n [defaultItem]=\"{name: 'No Package', id: null}\"\n id=\"waitlist-gun-package\"\n formControlName=\"package\"\n textField=\"name\"\n valueField=\"id\"\n size=\"small\"></kendo-dropdownlist>\n </div>\n </div>\n <div formArrayName=\"variations\" *ngFor=\"let variationControl of variations.controls; let i = index\">\n <div class=\"row mb-2\">\n <div class=\"col\">\n <label [for]=\"'waitlist-gun-package-variation-' + i\">{{packageVariations[i]?.name}}</label>\n <kendo-dropdownlist [data]=\"packageVariations[i]?.options\"\n [id]=\"'waitlist-gun-package-variation-' + i\"\n [defaultItem]=\"{optionName: '', id: null}\"\n textField=\"optionName\"\n [formControl]=\"variationControl\"\n valueField=\"id\"\n size=\"small\" *ngIf=\"packageVariations[i]?.gunsmithOnly\">\n <ng-template kendoDropDownListItemTemplate let-dataItem>\n <span class=\"fw-bold\">{{ dataItem?.sku }}</span> - {{ dataItem?.optionName }} <span *ngIf=\"dataItem?.serviceChargeItemPrice\">(add ${{dataItem.serviceChargeItemPrice.toFixed(2)}})</span>\n </ng-template>\n </kendo-dropdownlist>\n <kendo-dropdownlist [data]=\"packageVariations[i]?.options\"\n [id]=\"'waitlist-gun-package-variation-' + i\"\n textField=\"optionName\"\n [formControl]=\"variationControl\"\n valueField=\"id\"\n size=\"small\" *ngIf=\"!packageVariations[i]?.gunsmithOnly\">\n <ng-template kendoDropDownListItemTemplate let-dataItem>\n <span class=\"fw-bold\">{{ dataItem?.sku }}</span> - {{ dataItem?.optionName }} <span *ngIf=\"dataItem?.serviceChargeItemPrice\">(add ${{dataItem.serviceChargeItemPrice.toFixed(2)}})</span>\n </ng-template>\n </kendo-dropdownlist>\n </div>\n </div>\n <div *ngIf=\"variationControl.invalid && (variationControl.dirty || variationControl.touched)\" class=\"error-container text-danger\">\n <div *ngIf=\"variationControl.errors.required\">\n {{packageVariations[i]?.name}} is required.\n </div>\n </div>\n </div>\n <div class=\"row mb-2\" *ngIf=\"packageOptionalItems?.length\">\n <div class=\"col\">\n <label for=\"waitlist-gun-package-addons\">Add-ons (Additional charges will apply)</label>\n <kendo-multiselect id=\"waitlist-gun-package-addons\"\n [data]=\"packageOptionalItems\"\n formControlName=\"optionalItems\"\n textField=\"name\"\n valueField=\"inventoryItemId\"\n size=\"small\">\n <ng-template kendoMultiSelectItemTemplate let-dataItem>\n <span class=\"fw-bold\">{{ dataItem?.sku }}</span> - {{ dataItem?.name }}\n </ng-template>\n </kendo-multiselect>\n </div>\n </div>\n</div>\n", styles: [""], components: [{ type: i3.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { type: i3.MultiSelectComponent, selector: "kendo-multiselect", inputs: ["focusableId", "autoClose", "loading", "data", "value", "valueField", "textField", "tabindex", "tabIndex", "size", "rounded", "fillMode", "placeholder", "disabled", "itemDisabled", "checkboxes", "readonly", "filterable", "virtual", "popupSettings", "listHeight", "valuePrimitive", "clearButton", "tagMapper", "allowCustom", "valueNormalizer"], outputs: ["filterChange", "valueChange", "open", "opened", "close", "closed", "focus", "blur", "removeTag"], exportAs: ["kendoMultiSelect"] }], directives: [{ type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3.ItemTemplateDirective, selector: "[kendoDropDownListItemTemplate],[kendoComboBoxItemTemplate],[kendoAutoCompleteItemTemplate],[kendoMultiSelectItemTemplate]" }] });
166
+ ], usesOnChanges: true, ngImport: i0, template: "<div [formGroup]=\"packageForm\">\n <div class=\"row mb-2\">\n <div class=\"col\">\n <label for=\"waitlist-gun-package\">Package</label>\n <kendo-dropdownlist [data]=\"packages\"\n [defaultItem]=\"{name: 'No Package', id: null}\"\n id=\"waitlist-gun-package\"\n formControlName=\"package\"\n textField=\"name\"\n valueField=\"id\"\n size=\"small\"></kendo-dropdownlist>\n </div>\n </div>\n <div formArrayName=\"variations\" *ngFor=\"let variationControl of variations.controls; let i = index\">\n <div class=\"row mb-2\">\n <div class=\"col\">\n <label [for]=\"'waitlist-gun-package-variation-' + i\">{{packageVariations[i]?.name}}</label>\n <kendo-dropdownlist [data]=\"packageVariations[i]?.options\"\n [id]=\"'waitlist-gun-package-variation-' + i\"\n [defaultItem]=\"{optionName: '', id: null}\"\n textField=\"optionName\"\n [formControl]=\"variationControl\"\n valueField=\"id\"\n size=\"small\" *ngIf=\"packageVariations[i]?.gunsmithOnly\">\n <ng-template kendoDropDownListItemTemplate let-dataItem>\n <span class=\"fw-bold\">{{ dataItem?.sku }}</span> - {{ dataItem?.optionName }} <span *ngIf=\"dataItem?.serviceChargeItemPrice\">(add ${{dataItem.serviceChargeItemPrice.toFixed(2)}})</span>\n </ng-template>\n </kendo-dropdownlist>\n <kendo-dropdownlist [data]=\"packageVariations[i]?.options\"\n [id]=\"'waitlist-gun-package-variation-' + i\"\n textField=\"optionName\"\n [formControl]=\"variationControl\"\n valueField=\"id\"\n size=\"small\" *ngIf=\"!packageVariations[i]?.gunsmithOnly\">\n <ng-template kendoDropDownListItemTemplate let-dataItem>\n <span class=\"fw-bold\">{{ dataItem?.sku }}</span> - {{ dataItem?.optionName }} <span *ngIf=\"dataItem?.serviceChargeItemPrice\">(add ${{dataItem.serviceChargeItemPrice.toFixed(2)}})</span>\n </ng-template>\n </kendo-dropdownlist>\n </div>\n </div>\n <div *ngIf=\"variationControl.invalid && (variationControl.dirty || variationControl.touched)\" class=\"error-container text-danger\">\n <div *ngIf=\"variationControl.errors.required\">\n {{packageVariations[i]?.name}} is required.\n </div>\n </div>\n </div>\n <div class=\"row mb-2\" *ngIf=\"packageOptionalItems?.length\">\n <div class=\"col\">\n <label for=\"waitlist-gun-package-addons\">Add-ons (Additional charges will apply)</label>\n <kendo-multiselect id=\"waitlist-gun-package-addons\"\n [data]=\"packageOptionalItems\"\n formControlName=\"optionalItems\"\n textField=\"name\"\n valueField=\"id\"\n size=\"small\">\n <ng-template kendoMultiSelectItemTemplate let-dataItem>\n <span class=\"fw-bold\">{{ dataItem?.sku }}</span> - {{ dataItem?.name }}\n </ng-template>\n </kendo-multiselect>\n </div>\n </div>\n</div>\n", styles: [""], components: [{ type: i3.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { type: i3.MultiSelectComponent, selector: "kendo-multiselect", inputs: ["focusableId", "autoClose", "loading", "data", "value", "valueField", "textField", "tabindex", "tabIndex", "size", "rounded", "fillMode", "placeholder", "disabled", "itemDisabled", "checkboxes", "readonly", "filterable", "virtual", "popupSettings", "listHeight", "valuePrimitive", "clearButton", "tagMapper", "allowCustom", "valueNormalizer"], outputs: ["filterChange", "valueChange", "open", "opened", "close", "closed", "focus", "blur", "removeTag"], exportAs: ["kendoMultiSelect"] }], directives: [{ type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3.ItemTemplateDirective, selector: "[kendoDropDownListItemTemplate],[kendoComboBoxItemTemplate],[kendoAutoCompleteItemTemplate],[kendoMultiSelectItemTemplate]" }] });
167
167
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PackageSelectorComponent, decorators: [{
168
168
  type: Component,
169
169
  args: [{ selector: 'cgw-package-selector', providers: [
@@ -177,7 +177,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
177
177
  multi: true,
178
178
  useExisting: PackageSelectorComponent
179
179
  }
180
- ], template: "<div [formGroup]=\"packageForm\">\n <div class=\"row mb-2\">\n <div class=\"col\">\n <label for=\"waitlist-gun-package\">Package - <span class=\"fst-italic fs-7\">Select a model to list available packages</span></label>\n <kendo-dropdownlist [data]=\"packages\"\n [defaultItem]=\"{name: 'No Package', id: null}\"\n id=\"waitlist-gun-package\"\n formControlName=\"package\"\n textField=\"name\"\n valueField=\"id\"\n size=\"small\"></kendo-dropdownlist>\n </div>\n </div>\n <div formArrayName=\"variations\" *ngFor=\"let variationControl of variations.controls; let i = index\">\n <div class=\"row mb-2\">\n <div class=\"col\">\n <label [for]=\"'waitlist-gun-package-variation-' + i\">{{packageVariations[i]?.name}}</label>\n <kendo-dropdownlist [data]=\"packageVariations[i]?.options\"\n [id]=\"'waitlist-gun-package-variation-' + i\"\n [defaultItem]=\"{optionName: '', id: null}\"\n textField=\"optionName\"\n [formControl]=\"variationControl\"\n valueField=\"id\"\n size=\"small\" *ngIf=\"packageVariations[i]?.gunsmithOnly\">\n <ng-template kendoDropDownListItemTemplate let-dataItem>\n <span class=\"fw-bold\">{{ dataItem?.sku }}</span> - {{ dataItem?.optionName }} <span *ngIf=\"dataItem?.serviceChargeItemPrice\">(add ${{dataItem.serviceChargeItemPrice.toFixed(2)}})</span>\n </ng-template>\n </kendo-dropdownlist>\n <kendo-dropdownlist [data]=\"packageVariations[i]?.options\"\n [id]=\"'waitlist-gun-package-variation-' + i\"\n textField=\"optionName\"\n [formControl]=\"variationControl\"\n valueField=\"id\"\n size=\"small\" *ngIf=\"!packageVariations[i]?.gunsmithOnly\">\n <ng-template kendoDropDownListItemTemplate let-dataItem>\n <span class=\"fw-bold\">{{ dataItem?.sku }}</span> - {{ dataItem?.optionName }} <span *ngIf=\"dataItem?.serviceChargeItemPrice\">(add ${{dataItem.serviceChargeItemPrice.toFixed(2)}})</span>\n </ng-template>\n </kendo-dropdownlist>\n </div>\n </div>\n <div *ngIf=\"variationControl.invalid && (variationControl.dirty || variationControl.touched)\" class=\"error-container text-danger\">\n <div *ngIf=\"variationControl.errors.required\">\n {{packageVariations[i]?.name}} is required.\n </div>\n </div>\n </div>\n <div class=\"row mb-2\" *ngIf=\"packageOptionalItems?.length\">\n <div class=\"col\">\n <label for=\"waitlist-gun-package-addons\">Add-ons (Additional charges will apply)</label>\n <kendo-multiselect id=\"waitlist-gun-package-addons\"\n [data]=\"packageOptionalItems\"\n formControlName=\"optionalItems\"\n textField=\"name\"\n valueField=\"inventoryItemId\"\n size=\"small\">\n <ng-template kendoMultiSelectItemTemplate let-dataItem>\n <span class=\"fw-bold\">{{ dataItem?.sku }}</span> - {{ dataItem?.name }}\n </ng-template>\n </kendo-multiselect>\n </div>\n </div>\n</div>\n", styles: [""] }]
180
+ ], template: "<div [formGroup]=\"packageForm\">\n <div class=\"row mb-2\">\n <div class=\"col\">\n <label for=\"waitlist-gun-package\">Package</label>\n <kendo-dropdownlist [data]=\"packages\"\n [defaultItem]=\"{name: 'No Package', id: null}\"\n id=\"waitlist-gun-package\"\n formControlName=\"package\"\n textField=\"name\"\n valueField=\"id\"\n size=\"small\"></kendo-dropdownlist>\n </div>\n </div>\n <div formArrayName=\"variations\" *ngFor=\"let variationControl of variations.controls; let i = index\">\n <div class=\"row mb-2\">\n <div class=\"col\">\n <label [for]=\"'waitlist-gun-package-variation-' + i\">{{packageVariations[i]?.name}}</label>\n <kendo-dropdownlist [data]=\"packageVariations[i]?.options\"\n [id]=\"'waitlist-gun-package-variation-' + i\"\n [defaultItem]=\"{optionName: '', id: null}\"\n textField=\"optionName\"\n [formControl]=\"variationControl\"\n valueField=\"id\"\n size=\"small\" *ngIf=\"packageVariations[i]?.gunsmithOnly\">\n <ng-template kendoDropDownListItemTemplate let-dataItem>\n <span class=\"fw-bold\">{{ dataItem?.sku }}</span> - {{ dataItem?.optionName }} <span *ngIf=\"dataItem?.serviceChargeItemPrice\">(add ${{dataItem.serviceChargeItemPrice.toFixed(2)}})</span>\n </ng-template>\n </kendo-dropdownlist>\n <kendo-dropdownlist [data]=\"packageVariations[i]?.options\"\n [id]=\"'waitlist-gun-package-variation-' + i\"\n textField=\"optionName\"\n [formControl]=\"variationControl\"\n valueField=\"id\"\n size=\"small\" *ngIf=\"!packageVariations[i]?.gunsmithOnly\">\n <ng-template kendoDropDownListItemTemplate let-dataItem>\n <span class=\"fw-bold\">{{ dataItem?.sku }}</span> - {{ dataItem?.optionName }} <span *ngIf=\"dataItem?.serviceChargeItemPrice\">(add ${{dataItem.serviceChargeItemPrice.toFixed(2)}})</span>\n </ng-template>\n </kendo-dropdownlist>\n </div>\n </div>\n <div *ngIf=\"variationControl.invalid && (variationControl.dirty || variationControl.touched)\" class=\"error-container text-danger\">\n <div *ngIf=\"variationControl.errors.required\">\n {{packageVariations[i]?.name}} is required.\n </div>\n </div>\n </div>\n <div class=\"row mb-2\" *ngIf=\"packageOptionalItems?.length\">\n <div class=\"col\">\n <label for=\"waitlist-gun-package-addons\">Add-ons (Additional charges will apply)</label>\n <kendo-multiselect id=\"waitlist-gun-package-addons\"\n [data]=\"packageOptionalItems\"\n formControlName=\"optionalItems\"\n textField=\"name\"\n valueField=\"id\"\n size=\"small\">\n <ng-template kendoMultiSelectItemTemplate let-dataItem>\n <span class=\"fw-bold\">{{ dataItem?.sku }}</span> - {{ dataItem?.name }}\n </ng-template>\n </kendo-multiselect>\n </div>\n </div>\n</div>\n", styles: [""] }]
181
181
  }], ctorParameters: function () { return [{ type: i1.PackageService }, { type: i2.FormBuilder }, { type: i0.Injector }]; }, propDecorators: { firearmId: [{
182
182
  type: Input
183
183
  }], projectType: [{
@@ -187,4 +187,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
187
187
  }], gunsmithOnly: [{
188
188
  type: Input
189
189
  }] } });
190
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFja2FnZS1zZWxlY3Rvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ndW5zbWl0aC1jb21tb24vc3JjL3NoYXJlZC9jb250cm9scy9wYWNrYWdlLXNlbGVjdG9yL3BhY2thZ2Utc2VsZWN0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3Vuc21pdGgtY29tbW9uL3NyYy9zaGFyZWQvY29udHJvbHMvcGFja2FnZS1zZWxlY3Rvci9wYWNrYWdlLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQStDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZILE9BQU8sRUFBb0QsV0FBVyxFQUFhLFNBQVMsRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQStCLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhNLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQW9HLFdBQVcsRUFBRSxhQUFhLEVBQTRCLE1BQU0sYUFBYSxDQUFDOzs7Ozs7QUFtQnJMLE1BQU0sT0FBTyx3QkFBd0I7SUE0Qm5DLFlBQ1UsY0FBOEIsRUFDOUIsRUFBZSxFQUNmLEdBQWE7UUFGYixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLFFBQUcsR0FBSCxHQUFHLENBQVU7UUFuQnZCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRXJCLGFBQVEsR0FBYyxFQUFFLENBQUM7UUFDekIsc0JBQWlCLEdBQXVCLEVBQUUsQ0FBQztRQUMzQyx5QkFBb0IsR0FBMEIsRUFBRSxDQUFDO1FBTWpELGlCQUFZLEdBQW1CLEVBQUUsQ0FBQztRQUNsQyxjQUFTLEdBQUcsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFD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QkFDWCxXQUFXLDBCQUEwQjt5QkFDdEM7cUJBQ0Y7c0pBS0QsU0FBUztzQkFEUixLQUFLO2dCQUlOLFdBQVc7c0JBRFYsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBJbmplY3RvciwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1BcnJheSwgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgTmdDb250cm9sLCBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQYWNrYWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IFBhY2thZ2UsIFBhY2thZ2VWYXJpYXRpb24sIFBhY2thZ2VPcHRpb25hbEl0ZW0sIFdhaXRsaXN0R3VuUGFja2FnZURldGFpbCwgV29ya09yZGVyUGFja2FnZURldGFpbCwgUHJvamVjdFR5cGUsIFdvcmtPcmRlclR5cGUsIENoYW5nZU9yZGVyUGFja2FnZURldGFpbCB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2d3LXBhY2thZ2Utc2VsZWN0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFja2FnZS1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BhY2thZ2Utc2VsZWN0b3IuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBQYWNrYWdlU2VsZWN0b3JDb21wb25lbnRcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBQYWNrYWdlU2VsZWN0b3JDb21wb25lbnRcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgUGFja2FnZVNlbGVjdG9yQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIFZhbGlkYXRvciwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xuXG4gIEBJbnB1dCgpXG4gIGZpcmVhcm1JZDogbnVtYmVyO1xuXG4gIEBJbnB1dCgpXG4gIHByb2plY3RUeXBlOiBQcm9qZWN0VHlwZTtcblxuICBASW5wdXQoKVxuICB3b3JrT3JkZXJUeXBlOiBXb3JrT3JkZXJUeXBlO1xuXG4gIEBJbnB1dCgpXG4gIGd1bnNtaXRoT25seSA9IGZhbHNlO1xuXG4gIHBhY2thZ2VzOiBQYWNrYWdlW10gPSBbXTtcbiAgcGFja2FnZVZhcmlhdGlvbnM6IFBhY2thZ2VWYXJpYXRpb25bXSA9IFtdO1xuICBwYWNrYWdlT3B0aW9uYWxJdGVtczogUGFja2FnZU9wdGlvbmFsSXRlbVtdID0gW107XG5cbiAgcGFja2FnZURldGFpbDogV2FpdGxpc3RHdW5QYWNrYWdlRGV0YWlsIHwgV29ya09yZGVyUGFja2FnZURldGFpbCB8IENoYW5nZU9yZGVyUGFja2FnZURldGFpbDtcblxuICBwYWNrYWdlRm9ybTogRm9ybUdyb3VwO1xuXG4gIG9uQ2hhbmdlU3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcbiAgb25Ub3VjaGVkID0gKCkgPT4geyB9O1xuXG4gIHRvdWNoZWQgPSBmYWxzZTtcbiAgZGlzYWJsZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHBhY2thZ2VTZXJ2aWNlOiBQYWNrYWdlU2VydmljZSxcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIGluajogSW5qZWN0b3JcbiAgKSB7XG4gICAgdGhpcy5jcmVhdGVGb3JtKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2FuR2V0UGFja2FnZXMoY2hhbmdlcykpIHtcbiAgICAgIHRoaXMuZ2V0UGFja2FnZXMoKTtcbiAgICAgIHRoaXMucGFja2FnZUZvcm0ucmVzZXQoKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICB0aGlzLnBhY2thZ2VzID0gW107XG4gICAgICB0aGlzLnBhY2thZ2VGb3JtLnJlc2V0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjYW5HZXRQYWNrYWdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogYm9vbGVhbiB7IFxuICAgIHJldHVybiAoY2hhbmdlcy5maXJlYXJtSWQgJiYgY2hhbmdlcy5maXJlYXJtSWQuY3VycmVudFZhbHVlICYmIHRoaXMucHJvamVjdFR5cGUgPT09IFByb2plY3RUeXBlLkZpcmVhcm0gJiYgKHRoaXMud29ya09yZGVyVHlwZSA9PSBXb3JrT3JkZXJUeXBlLlN0YW5kYXJkIHx8IHRoaXMud29ya09yZGVyVHlwZSA9PSBXb3JrT3JkZXJUeXBlLk5ld0luQm94KSkgfHxcbiAgICAoY2hhbmdlcy5wcm9qZWN0VHlwZSAmJiBjaGFuZ2VzLnByb2plY3RUeXBlLmN1cnJlbnRWYWx1ZSA9PT0gUHJvamVjdFR5cGUuRmlyZWFybSAmJiB0aGlzLmZpcmVhcm1JZCAmJiAodGhpcy53b3JrT3JkZXJUeXBlID09IFdvcmtPcmRlclR5cGUuU3RhbmRhcmQgfHwgdGhpcy53b3JrT3JkZXJUeXBlID09IFdvcmtPcmRlclR5cGUuTmV3SW5Cb3gpKSB8fFxuICAgIChjaGFuZ2VzLndvcmtPcmRlclR5cGUgJiYgKGNoYW5nZXMud29ya09yZGVyVHlwZS5jdXJyZW50VmFsdWUgPT09IFdvcmtPcmRlclR5cGUuU3RhbmRhcmQgfHwgY2hhbmdlcy53b3JrT3JkZXJUeXBlLmN1cnJlbnRWYWx1ZSA9PT0gV29ya09yZGVyVHlwZS5OZXdJbkJveCkgJiYgdGhpcy5maXJlYXJtSWQgJiYgdGhpcy5wcm9qZWN0VHlwZSA9PT0gUHJvamVjdFR5cGUuRmlyZWFybSk7XG4gIH0gXG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IG91dGVyQ29udHJvbCA9IHRoaXMuaW5qLmdldChOZ0NvbnRyb2wpLmNvbnRyb2w7XG4gICAgY29uc3QgcHJldk1hcmtBc1RvdWNoZWQgPSBvdXRlckNvbnRyb2wubWFya0FzVG91Y2hlZDtcbiAgICBvdXRlckNvbnRyb2wubWFya0FzVG91Y2hlZCA9ICguLi5hcmdzOiBhbnkpID0+IHtcbiAgICAgIHRoaXMucGFja2FnZUZvcm0ubWFya0FsbEFzVG91Y2hlZCgpO1xuICAgICAgcHJldk1hcmtBc1RvdWNoZWQuYmluZChvdXRlckNvbnRyb2wpKC4uLmFyZ3MpO1xuICAgIH07XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBmb3IgKGxldCBzdWIgb2YgdGhpcy5vbkNoYW5nZVN1YnMpIHtcbiAgICAgIHN1Yi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIGdldFBhY2thZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMucGFja2FnZVNlcnZpY2UucmVhZFBhY2thZ2VzQnlGaXJlYXJtKHRoaXMuZmlyZWFybUlkLCB0aGlzLmd1bnNtaXRoT25seSlcbiAgICAgIC5zdWJzY3JpYmUocGFja2FnZXMgPT4ge1xuICAgICAgICB0aGlzLnBhY2thZ2VzID0gcGFja2FnZXM7XG4gICAgICAgIGlmICh0aGlzLnBhY2thZ2VGb3JtLmNvbnRyb2xzLnBhY2thZ2UudmFsdWUpIHtcbiAgICAgICAgICBsZXQgcGFja2FnZXogPSB0aGlzLnBhY2thZ2VzLmZpbmQocCA9PiBwLmlkID09PSB0aGlzLnBhY2thZ2VGb3JtLmNvbnRyb2xzLnBhY2thZ2UudmFsdWUuaWQpO1xuICAgICAgICAgIHRoaXMuc2V0UGFja2FnZU9wdGlvbnMocGFja2FnZXopO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIGNyZWF0ZUZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5wYWNrYWdlRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgcGFja2FnZTogbnVsbCxcbiAgICAgIG9wdGlvbmFsSXRlbXM6IHRoaXMuZmIuY29udHJvbChbXSksXG4gICAgICB2YXJpYXRpb25zOiB0aGlzLmZiLmFycmF5KFtdKVxuICAgIH0pXG5cbiAgICB0aGlzLnBhY2thZ2VGb3JtLmNvbnRyb2xzLnZhcmlhdGlvbnMudmFsdWVDaGFuZ2VzXG4gICAgICAuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgdGhpcy5wYWNrYWdlRm9ybS5jb250cm9scy52YXJpYXRpb25zLnNldFZhbHVlKHZhbHVlLm1hcCh2ID0+IHYuaWQgPyB2IDogbnVsbCksIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICB0aGlzLnBhY2thZ2VGb3JtLmNvbnRyb2xzLnBhY2thZ2UudmFsdWVDaGFuZ2VzXG4gICAgICAuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgdGhpcy5wYWNrYWdlRm9ybS5jb250cm9scy5vcHRpb25hbEl0ZW1zLnJlc2V0KCk7XG4gICAgICAgIHRoaXMucGFja2FnZU9wdGlvbmFsSXRlbXMgPSBbXTtcblxuICAgICAgICB0aGlzLnZhcmlhdGlvbnMuY2xlYXIoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICB0aGlzLnBhY2thZ2VWYXJpYXRpb25zID0gW107XG5cbiAgICAgICAgaWYgKHZhbHVlPy5pZCkge1xuICAgICAgICAgIHRoaXMuc2V0UGFja2FnZU9wdGlvbnModmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIGlmICh0aGlzLnBhY2thZ2VEZXRhaWwpIHtcbiAgICAgICAgICAgIHRoaXMucGFja2FnZURldGFpbC52YXJpYXRpb25zID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMucGFja2FnZURldGFpbC5vcHRpb25hbEl0ZW1zID0gbnVsbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pXG4gIH1cblxuICBnZXQgdmFyaWF0aW9ucygpIHsgcmV0dXJuIHRoaXMucGFja2FnZUZvcm0uY29udHJvbHMudmFyaWF0aW9ucyBhcyBGb3JtQXJyYXkgfVxuXG4gIHNldFBhY2thZ2VPcHRpb25zKHBhY2thZ2V6OiBQYWNrYWdlKSB7XG4gICAgdGhpcy5wYWNrYWdlT3B0aW9uYWxJdGVtcyA9IHBhY2thZ2V6Lm9wdGlvbmFsSXRlbXM7XG4gICAgdGhpcy5wYWNrYWdlVmFyaWF0aW9ucyA9IHRoaXMuZ3Vuc21pdGhPbmx5ID8gcGFja2FnZXoudmFyaWF0aW9ucyA6IHBhY2thZ2V6LnZhcmlhdGlvbnMuZmlsdGVyKHYgPT4gIXYuZ3Vuc21pdGhPbmx5KTtcblxuICAgIHRoaXMudmFyaWF0aW9ucy5jbGVhcih7ZW1pdEV2ZW50OiBmYWxzZX0pO1xuICAgIGZvciAobGV0IHYgb2YgdGhpcy5wYWNrYWdlVmFyaWF0aW9ucykge1xuICAgICAgbGV0IHNlbGVjdGVkVmFyaWF0aW9uID0gdGhpcy5wYWNrYWdlRGV0YWlsPy52YXJpYXRpb25zPy5maW5kKHB2ID0+IHB2LnBhY2thZ2VWYXJpYXRpb25JZCA9PT0gdi5pZCk7XG4gICAgICBpZih2Lmd1bnNtaXRoT25seSlcbiAgICAgICAgdGhpcy52YXJpYXRpb25zLnB1c2godGhpcy5mYi5jb250cm9sKHNlbGVjdGVkVmFyaWF0aW9uKSwge2VtaXRFdmVudDogZmFsc2V9KTtcbiAgICAgIGVsc2VcbiAgICAgICAgdGhpcy52YXJpYXRpb25zLnB1c2godGhpcy5mYi5jb250cm9sKHNlbGVjdGVkVmFyaWF0aW9uLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSwge2VtaXRFdmVudDogZmFsc2V9KTtcbiAgICB9XG4gIH1cblxuICBzZXRWYWx1ZShwYWNrYWdlRGV0YWlsOiBXYWl0bGlzdEd1blBhY2thZ2VEZXRhaWwgfCBXb3JrT3JkZXJQYWNrYWdlRGV0YWlsIHwgQ2hhbmdlT3JkZXJQYWNrYWdlRGV0YWlsKSB7XG4gICAgdGhpcy5wYWNrYWdlRm9ybS5yZXNldChwYWNrYWdlRGV0YWlsKTtcbiAgfVxuXG4gIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMge1xuICAgIGlmICh0aGlzLnBhY2thZ2VGb3JtLnZhbGlkKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBsZXQgZXJyb3JzOiBhbnkgPSB7fTtcblxuICAgIGZvciAobGV0IHYgb2YgdGhpcy52YXJpYXRpb25zLmNvbnRyb2xzKSB7XG4gICAgICBpZiAodi5pbnZhbGlkKSB7XG4gICAgICAgIHJldHVybiB2LmVycm9ycztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZXJyb3JzO1xuICB9XG5cbiAgYWRkQ29udHJvbEVycm9ycyhhbGxFcnJvcnM6IGFueSwgY29udHJvbE5hbWU6IHN0cmluZykge1xuXG4gICAgY29uc3QgZXJyb3JzID0geyAuLi5hbGxFcnJvcnMgfTtcblxuICAgIGNvbnN0IGNvbnRyb2xFcnJvcnMgPSB0aGlzLnBhY2thZ2VGb3JtLmNvbnRyb2xzW2NvbnRyb2xOYW1lXS5lcnJvcnM7XG5cbiAgICBpZiAoY29udHJvbEVycm9ycykge1xuICAgICAgZXJyb3JzW2NvbnRyb2xOYW1lXSA9IGNvbnRyb2xFcnJvcnM7XG4gICAgfVxuXG4gICAgcmV0dXJuIGVycm9ycztcbiAgfVxuXG4gIHdyaXRlVmFsdWUocGFja2FnZURldGFpbDogV2FpdGxpc3RHdW5QYWNrYWdlRGV0YWlsIHwgV29ya09yZGVyUGFja2FnZURldGFpbCB8IENoYW5nZU9yZGVyUGFja2FnZURldGFpbCk6IHZvaWQge1xuICAgIGlmIChwYWNrYWdlRGV0YWlsKSB7XG4gICAgICB0aGlzLnBhY2thZ2VEZXRhaWwgPSBPYmplY3QuYXNzaWduKHt9LHBhY2thZ2VEZXRhaWwpO1xuICAgICAgdGhpcy5zZXRWYWx1ZShwYWNrYWdlRGV0YWlsKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICB0aGlzLnBhY2thZ2VGb3JtLnJlc2V0KCk7XG4gICAgfVxuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShvbkNoYW5nZTogYW55KTogdm9pZCB7XG4gICAgY29uc3Qgc3ViID0gdGhpcy5wYWNrYWdlRm9ybS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKG9uQ2hhbmdlKTtcbiAgICB0aGlzLm9uQ2hhbmdlU3Vicy5wdXNoKHN1Yik7XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChvblRvdWNoZWQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gb25Ub3VjaGVkO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgaWYgKGlzRGlzYWJsZWQpIHtcbiAgICAgIHRoaXMucGFja2FnZUZvcm0uZGlzYWJsZSgpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHRoaXMucGFja2FnZUZvcm0uZW5hYmxlKCk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IFtmb3JtR3JvdXBdPVwicGFja2FnZUZvcm1cIj5cbiAgPGRpdiBjbGFzcz1cInJvdyBtYi0yXCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbFwiPlxuICAgICAgPGxhYmVsIGZvcj1cIndhaXRsaXN0LWd1bi1wYWNrYWdlXCI+UGFja2FnZSAtIDxzcGFuIGNsYXNzPVwiZnN0LWl0YWxpYyBmcy03XCI+U2VsZWN0IGEgbW9kZWwgdG8gbGlzdCBhdmFpbGFibGUgcGFja2FnZXM8L3NwYW4+PC9sYWJlbD5cbiAgICAgIDxrZW5kby1kcm9wZG93bmxpc3QgW2RhdGFdPVwicGFja2FnZXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVmYXVsdEl0ZW1dPVwie25hbWU6ICdObyBQYWNrYWdlJywgaWQ6IG51bGx9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJ3YWl0bGlzdC1ndW4tcGFja2FnZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInBhY2thZ2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0RmllbGQ9XCJuYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVGaWVsZD1cImlkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCI+PC9rZW5kby1kcm9wZG93bmxpc3Q+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGZvcm1BcnJheU5hbWU9XCJ2YXJpYXRpb25zXCIgKm5nRm9yPVwibGV0IHZhcmlhdGlvbkNvbnRyb2wgb2YgdmFyaWF0aW9ucy5jb250cm9sczsgbGV0IGkgPSBpbmRleFwiPlxuICAgIDxkaXYgY2xhc3M9XCJyb3cgbWItMlwiPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbFwiPlxuICAgICAgICA8bGFiZWwgW2Zvcl09XCInd2FpdGxpc3QtZ3VuLXBhY2thZ2UtdmFyaWF0aW9uLScgKyBpXCI+e3twYWNrYWdlVmFyaWF0aW9uc1tpXT8ubmFtZX19PC9sYWJlbD5cbiAgICAgICAgPGtlbmRvLWRyb3Bkb3dubGlzdCBbZGF0YV09XCJwYWNrYWdlVmFyaWF0aW9uc1tpXT8ub3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lkXT1cIid3YWl0bGlzdC1ndW4tcGFja2FnZS12YXJpYXRpb24tJyArIGlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0SXRlbV09XCJ7b3B0aW9uTmFtZTogJycsIGlkOiBudWxsfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dEZpZWxkPVwib3B0aW9uTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInZhcmlhdGlvbkNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlRmllbGQ9XCJpZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCIgKm5nSWY9XCJwYWNrYWdlVmFyaWF0aW9uc1tpXT8uZ3Vuc21pdGhPbmx5XCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGtlbmRvRHJvcERvd25MaXN0SXRlbVRlbXBsYXRlIGxldC1kYXRhSXRlbT5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnctYm9sZFwiPnt7IGRhdGFJdGVtPy5za3UgfX08L3NwYW4+IC0ge3sgZGF0YUl0ZW0/Lm9wdGlvbk5hbWUgfX0gPHNwYW4gKm5nSWY9XCJkYXRhSXRlbT8uc2VydmljZUNoYXJnZUl0ZW1QcmljZVwiPihhZGQgJHt7ZGF0YUl0ZW0uc2VydmljZUNoYXJnZUl0ZW1QcmljZS50b0ZpeGVkKDIpfX0pPC9zcGFuPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwva2VuZG8tZHJvcGRvd25saXN0PlxuICAgICAgICA8a2VuZG8tZHJvcGRvd25saXN0IFtkYXRhXT1cInBhY2thZ2VWYXJpYXRpb25zW2ldPy5vcHRpb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwiJ3dhaXRsaXN0LWd1bi1wYWNrYWdlLXZhcmlhdGlvbi0nICsgaVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dEZpZWxkPVwib3B0aW9uTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInZhcmlhdGlvbkNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlRmllbGQ9XCJpZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCIgKm5nSWY9XCIhcGFja2FnZVZhcmlhdGlvbnNbaV0/Lmd1bnNtaXRoT25seVwiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb0Ryb3BEb3duTGlzdEl0ZW1UZW1wbGF0ZSBsZXQtZGF0YUl0ZW0+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZ3LWJvbGRcIj57eyBkYXRhSXRlbT8uc2t1IH19PC9zcGFuPiAtIHt7IGRhdGFJdGVtPy5vcHRpb25OYW1lIH19IDxzcGFuICpuZ0lmPVwiZGF0YUl0ZW0/LnNlcnZpY2VDaGFyZ2VJdGVtUHJpY2VcIj4oYWRkICR7e2RhdGFJdGVtLnNlcnZpY2VDaGFyZ2VJdGVtUHJpY2UudG9GaXhlZCgyKX19KTwvc3Bhbj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2tlbmRvLWRyb3Bkb3dubGlzdD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJ2YXJpYXRpb25Db250cm9sLmludmFsaWQgJiYgKHZhcmlhdGlvbkNvbnRyb2wuZGlydHkgfHwgdmFyaWF0aW9uQ29udHJvbC50b3VjaGVkKVwiIGNsYXNzPVwiZXJyb3ItY29udGFpbmVyIHRleHQtZGFuZ2VyXCI+XG4gICAgICA8ZGl2ICpuZ0lmPVwidmFyaWF0aW9uQ29udHJvbC5lcnJvcnMucmVxdWlyZWRcIj5cbiAgICAgICAge3twYWNrYWdlVmFyaWF0aW9uc1tpXT8ubmFtZX19IGlzIHJlcXVpcmVkLlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwicm93IG1iLTJcIiAqbmdJZj1cInBhY2thZ2VPcHRpb25hbEl0ZW1zPy5sZW5ndGhcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sXCI+XG4gICAgICA8bGFiZWwgZm9yPVwid2FpdGxpc3QtZ3VuLXBhY2thZ2UtYWRkb25zXCI+QWRkLW9ucyAoQWRkaXRpb25hbCBjaGFyZ2VzIHdpbGwgYXBwbHkpPC9sYWJlbD5cbiAgICAgIDxrZW5kby1tdWx0aXNlbGVjdCBpZD1cIndhaXRsaXN0LWd1bi1wYWNrYWdlLWFkZG9uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGFdPVwicGFja2FnZU9wdGlvbmFsSXRlbXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm9wdGlvbmFsSXRlbXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIHRleHRGaWVsZD1cIm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlRmllbGQ9XCJpbnZlbnRvcnlJdGVtSWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiPlxuICAgICAgICA8bmctdGVtcGxhdGUga2VuZG9NdWx0aVNlbGVjdEl0ZW1UZW1wbGF0ZSBsZXQtZGF0YUl0ZW0+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJmdy1ib2xkXCI+e3sgZGF0YUl0ZW0/LnNrdSB9fTwvc3Bhbj4gLSB7eyBkYXRhSXRlbT8ubmFtZSB9fVxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9rZW5kby1tdWx0aXNlbGVjdD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
190
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFja2FnZS1zZWxlY3Rvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ndW5zbWl0aC1jb21tb24vc3JjL3NoYXJlZC9jb250cm9scy9wYWNrYWdlLXNlbGVjdG9yL3BhY2thZ2Utc2VsZWN0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3Vuc21pdGgtY29tbW9uL3NyYy9zaGFyZWQvY29udHJvbHMvcGFja2FnZS1zZWxlY3Rvci9wYWNrYWdlLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQStDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZILE9BQU8sRUFBb0QsV0FBVyxFQUFhLFNBQVMsRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQStCLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhNLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQW9HLFdBQVcsRUFBRSxhQUFhLEVBQTRCLE1BQU0sYUFBYSxDQUFDOzs7Ozs7QUFtQnJMLE1BQU0sT0FBTyx3QkFBd0I7SUE0Qm5DLFlBQ1UsY0FBOEIsRUFDOUIsRUFBZSxFQUNmLEdBQWE7UUFGYixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLFFBQUcsR0FBSCxHQUFHLENBQVU7UUFuQnZCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRXJCLGFBQVEsR0FBYyxFQUFFLENBQUM7UUFDekIsc0JBQWlCLEdBQXVCLEVBQUUsQ0FBQztRQUMzQyx5QkFBb0IsR0FBMEIsRUFBRSxDQUFDO1FBTWpELGlCQUFZLEdBQW1CLEVBQUUsQ0FBQztRQUNsQyxjQUFTLEdBQUcsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFD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QkFDWCxXQUFXLDBCQUEwQjt5QkFDdEM7cUJBQ0Y7c0pBS0QsU0FBUztzQkFEUixLQUFLO2dCQUlOLFdBQVc7c0JBRFYsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBJbmplY3RvciwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1BcnJheSwgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgTmdDb250cm9sLCBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQYWNrYWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IFBhY2thZ2UsIFBhY2thZ2VWYXJpYXRpb24sIFBhY2thZ2VPcHRpb25hbEl0ZW0sIFdhaXRsaXN0R3VuUGFja2FnZURldGFpbCwgV29ya09yZGVyUGFja2FnZURldGFpbCwgUHJvamVjdFR5cGUsIFdvcmtPcmRlclR5cGUsIENoYW5nZU9yZGVyUGFja2FnZURldGFpbCB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2d3LXBhY2thZ2Utc2VsZWN0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFja2FnZS1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BhY2thZ2Utc2VsZWN0b3IuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBQYWNrYWdlU2VsZWN0b3JDb21wb25lbnRcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBQYWNrYWdlU2VsZWN0b3JDb21wb25lbnRcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgUGFja2FnZVNlbGVjdG9yQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIFZhbGlkYXRvciwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xuXG4gIEBJbnB1dCgpXG4gIGZpcmVhcm1JZDogbnVtYmVyO1xuXG4gIEBJbnB1dCgpXG4gIHByb2plY3RUeXBlOiBQcm9qZWN0VHlwZTtcblxuICBASW5wdXQoKVxuICB3b3JrT3JkZXJUeXBlOiBXb3JrT3JkZXJUeXBlO1xuXG4gIEBJbnB1dCgpXG4gIGd1bnNtaXRoT25seSA9IGZhbHNlO1xuXG4gIHBhY2thZ2VzOiBQYWNrYWdlW10gPSBbXTtcbiAgcGFja2FnZVZhcmlhdGlvbnM6IFBhY2thZ2VWYXJpYXRpb25bXSA9IFtdO1xuICBwYWNrYWdlT3B0aW9uYWxJdGVtczogUGFja2FnZU9wdGlvbmFsSXRlbVtdID0gW107XG5cbiAgcGFja2FnZURldGFpbDogV2FpdGxpc3RHdW5QYWNrYWdlRGV0YWlsIHwgV29ya09yZGVyUGFja2FnZURldGFpbCB8IENoYW5nZU9yZGVyUGFja2FnZURldGFpbDtcblxuICBwYWNrYWdlRm9ybTogRm9ybUdyb3VwO1xuXG4gIG9uQ2hhbmdlU3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcbiAgb25Ub3VjaGVkID0gKCkgPT4geyB9O1xuXG4gIHRvdWNoZWQgPSBmYWxzZTtcbiAgZGlzYWJsZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHBhY2thZ2VTZXJ2aWNlOiBQYWNrYWdlU2VydmljZSxcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIGluajogSW5qZWN0b3JcbiAgKSB7XG4gICAgdGhpcy5jcmVhdGVGb3JtKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2FuR2V0UGFja2FnZXMoY2hhbmdlcykpIHtcbiAgICAgIHRoaXMuZ2V0UGFja2FnZXMoKTtcbiAgICAgIHRoaXMucGFja2FnZUZvcm0ucmVzZXQoKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICB0aGlzLnBhY2thZ2VzID0gW107XG4gICAgICB0aGlzLnBhY2thZ2VGb3JtLnJlc2V0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjYW5HZXRQYWNrYWdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChjaGFuZ2VzLmZpcmVhcm1JZCAmJiBjaGFuZ2VzLmZpcmVhcm1JZC5jdXJyZW50VmFsdWUgJiYgdGhpcy5wcm9qZWN0VHlwZSA9PT0gUHJvamVjdFR5cGUuRmlyZWFybSAmJiAodGhpcy53b3JrT3JkZXJUeXBlID09IFdvcmtPcmRlclR5cGUuU3RhbmRhcmQgfHwgdGhpcy53b3JrT3JkZXJUeXBlID09IFdvcmtPcmRlclR5cGUuTmV3SW5Cb3gpKSB8fFxuICAgIChjaGFuZ2VzLnByb2plY3RUeXBlICYmIGNoYW5nZXMucHJvamVjdFR5cGUuY3VycmVudFZhbHVlID09PSBQcm9qZWN0VHlwZS5GaXJlYXJtICYmIHRoaXMuZmlyZWFybUlkICYmICh0aGlzLndvcmtPcmRlclR5cGUgPT0gV29ya09yZGVyVHlwZS5TdGFuZGFyZCB8fCB0aGlzLndvcmtPcmRlclR5cGUgPT0gV29ya09yZGVyVHlwZS5OZXdJbkJveCkpIHx8XG4gICAgKGNoYW5nZXMud29ya09yZGVyVHlwZSAmJiAoY2hhbmdlcy53b3JrT3JkZXJUeXBlLmN1cnJlbnRWYWx1ZSA9PT0gV29ya09yZGVyVHlwZS5TdGFuZGFyZCB8fCBjaGFuZ2VzLndvcmtPcmRlclR5cGUuY3VycmVudFZhbHVlID09PSBXb3JrT3JkZXJUeXBlLk5ld0luQm94KSAmJiB0aGlzLmZpcmVhcm1JZCAmJiB0aGlzLnByb2plY3RUeXBlID09PSBQcm9qZWN0VHlwZS5GaXJlYXJtKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBvdXRlckNvbnRyb2wgPSB0aGlzLmluai5nZXQoTmdDb250cm9sKS5jb250cm9sO1xuICAgIGNvbnN0IHByZXZNYXJrQXNUb3VjaGVkID0gb3V0ZXJDb250cm9sLm1hcmtBc1RvdWNoZWQ7XG4gICAgb3V0ZXJDb250cm9sLm1hcmtBc1RvdWNoZWQgPSAoLi4uYXJnczogYW55KSA9PiB7XG4gICAgICB0aGlzLnBhY2thZ2VGb3JtLm1hcmtBbGxBc1RvdWNoZWQoKTtcbiAgICAgIHByZXZNYXJrQXNUb3VjaGVkLmJpbmQob3V0ZXJDb250cm9sKSguLi5hcmdzKTtcbiAgICB9O1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgZm9yIChsZXQgc3ViIG9mIHRoaXMub25DaGFuZ2VTdWJzKSB7XG4gICAgICBzdWIudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBnZXRQYWNrYWdlcygpOiB2b2lkIHtcbiAgICB0aGlzLnBhY2thZ2VTZXJ2aWNlLnJlYWRQYWNrYWdlc0J5RmlyZWFybSh0aGlzLmZpcmVhcm1JZCwgdGhpcy5ndW5zbWl0aE9ubHkpXG4gICAgICAuc3Vic2NyaWJlKHBhY2thZ2VzID0+IHtcbiAgICAgICAgdGhpcy5wYWNrYWdlcyA9IHBhY2thZ2VzO1xuICAgICAgICBpZiAodGhpcy5wYWNrYWdlRm9ybS5jb250cm9scy5wYWNrYWdlLnZhbHVlKSB7XG4gICAgICAgICAgbGV0IHBhY2thZ2V6ID0gdGhpcy5wYWNrYWdlcy5maW5kKHAgPT4gcC5pZCA9PT0gdGhpcy5wYWNrYWdlRm9ybS5jb250cm9scy5wYWNrYWdlLnZhbHVlLmlkKTtcbiAgICAgICAgICB0aGlzLnNldFBhY2thZ2VPcHRpb25zKHBhY2thZ2V6KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBjcmVhdGVGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMucGFja2FnZUZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIHBhY2thZ2U6IG51bGwsXG4gICAgICBvcHRpb25hbEl0ZW1zOiB0aGlzLmZiLmNvbnRyb2woW10pLFxuICAgICAgdmFyaWF0aW9uczogdGhpcy5mYi5hcnJheShbXSlcbiAgICB9KVxuXG4gICAgdGhpcy5wYWNrYWdlRm9ybS5jb250cm9scy52YXJpYXRpb25zLnZhbHVlQ2hhbmdlc1xuICAgICAgLnN1YnNjcmliZSh2YWx1ZSA9PiB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgIHRoaXMucGFja2FnZUZvcm0uY29udHJvbHMudmFyaWF0aW9ucy5zZXRWYWx1ZSh2YWx1ZS5tYXAodiA9PiB2Py5pZCA/IHYgOiBudWxsKSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIHRoaXMucGFja2FnZUZvcm0uY29udHJvbHMucGFja2FnZS52YWx1ZUNoYW5nZXNcbiAgICAgIC5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgICB0aGlzLnBhY2thZ2VGb3JtLmNvbnRyb2xzLm9wdGlvbmFsSXRlbXMucmVzZXQoKTtcbiAgICAgICAgdGhpcy5wYWNrYWdlT3B0aW9uYWxJdGVtcyA9IFtdO1xuXG4gICAgICAgIHRoaXMudmFyaWF0aW9ucy5jbGVhcih7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgIHRoaXMucGFja2FnZVZhcmlhdGlvbnMgPSBbXTtcblxuICAgICAgICBpZiAodmFsdWU/LmlkKSB7XG4gICAgICAgICAgdGhpcy5zZXRQYWNrYWdlT3B0aW9ucyh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgaWYgKHRoaXMucGFja2FnZURldGFpbCkge1xuICAgICAgICAgICAgdGhpcy5wYWNrYWdlRGV0YWlsLnZhcmlhdGlvbnMgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5wYWNrYWdlRGV0YWlsLm9wdGlvbmFsSXRlbXMgPSBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSlcbiAgfVxuXG4gIGdldCB2YXJpYXRpb25zKCkgeyByZXR1cm4gdGhpcy5wYWNrYWdlRm9ybS5jb250cm9scy52YXJpYXRpb25zIGFzIEZvcm1BcnJheSB9XG5cbiAgc2V0UGFja2FnZU9wdGlvbnMocGFja2FnZXo6IFBhY2thZ2UpIHtcbiAgICB0aGlzLnBhY2thZ2VPcHRpb25hbEl0ZW1zID0gcGFja2FnZXoub3B0aW9uYWxJdGVtcztcbiAgICB0aGlzLnBhY2thZ2VWYXJpYXRpb25zID0gdGhpcy5ndW5zbWl0aE9ubHkgPyBwYWNrYWdlei52YXJpYXRpb25zIDogcGFja2FnZXoudmFyaWF0aW9ucy5maWx0ZXIodiA9PiAhdi5ndW5zbWl0aE9ubHkpO1xuXG4gICAgdGhpcy52YXJpYXRpb25zLmNsZWFyKHtlbWl0RXZlbnQ6IGZhbHNlfSk7XG4gICAgZm9yIChsZXQgdiBvZiB0aGlzLnBhY2thZ2VWYXJpYXRpb25zKSB7XG4gICAgICBsZXQgc2VsZWN0ZWRWYXJpYXRpb24gPSB0aGlzLnBhY2thZ2VEZXRhaWw/LnZhcmlhdGlvbnM/LmZpbmQocHYgPT4gcHYucGFja2FnZVZhcmlhdGlvbklkID09PSB2LmlkKTtcbiAgICAgIGlmKHYuZ3Vuc21pdGhPbmx5KVxuICAgICAgICB0aGlzLnZhcmlhdGlvbnMucHVzaCh0aGlzLmZiLmNvbnRyb2woc2VsZWN0ZWRWYXJpYXRpb24pLCB7ZW1pdEV2ZW50OiBmYWxzZX0pO1xuICAgICAgZWxzZVxuICAgICAgICB0aGlzLnZhcmlhdGlvbnMucHVzaCh0aGlzLmZiLmNvbnRyb2woc2VsZWN0ZWRWYXJpYXRpb24sIFZhbGlkYXRvcnMucmVxdWlyZWQpLCB7ZW1pdEV2ZW50OiBmYWxzZX0pO1xuICAgIH1cbiAgfVxuXG4gIHNldFZhbHVlKHBhY2thZ2VEZXRhaWw6IFdhaXRsaXN0R3VuUGFja2FnZURldGFpbCB8IFdvcmtPcmRlclBhY2thZ2VEZXRhaWwgfCBDaGFuZ2VPcmRlclBhY2thZ2VEZXRhaWwpIHtcbiAgICB0aGlzLnBhY2thZ2VGb3JtLnJlc2V0KHBhY2thZ2VEZXRhaWwpO1xuICB9XG5cbiAgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB7XG4gICAgaWYgKHRoaXMucGFja2FnZUZvcm0udmFsaWQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGxldCBlcnJvcnM6IGFueSA9IHt9O1xuXG4gICAgZm9yIChsZXQgdiBvZiB0aGlzLnZhcmlhdGlvbnMuY29udHJvbHMpIHtcbiAgICAgIGlmICh2LmludmFsaWQpIHtcbiAgICAgICAgcmV0dXJuIHYuZXJyb3JzO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBlcnJvcnM7XG4gIH1cblxuICBhZGRDb250cm9sRXJyb3JzKGFsbEVycm9yczogYW55LCBjb250cm9sTmFtZTogc3RyaW5nKSB7XG5cbiAgICBjb25zdCBlcnJvcnMgPSB7IC4uLmFsbEVycm9ycyB9O1xuXG4gICAgY29uc3QgY29udHJvbEVycm9ycyA9IHRoaXMucGFja2FnZUZvcm0uY29udHJvbHNbY29udHJvbE5hbWVdLmVycm9ycztcblxuICAgIGlmIChjb250cm9sRXJyb3JzKSB7XG4gICAgICBlcnJvcnNbY29udHJvbE5hbWVdID0gY29udHJvbEVycm9ycztcbiAgICB9XG5cbiAgICByZXR1cm4gZXJyb3JzO1xuICB9XG5cbiAgd3JpdGVWYWx1ZShwYWNrYWdlRGV0YWlsOiBXYWl0bGlzdEd1blBhY2thZ2VEZXRhaWwgfCBXb3JrT3JkZXJQYWNrYWdlRGV0YWlsIHwgQ2hhbmdlT3JkZXJQYWNrYWdlRGV0YWlsKTogdm9pZCB7XG4gICAgaWYgKHBhY2thZ2VEZXRhaWwpIHtcbiAgICAgIHRoaXMucGFja2FnZURldGFpbCA9IE9iamVjdC5hc3NpZ24oe30scGFja2FnZURldGFpbCk7XG4gICAgICB0aGlzLnNldFZhbHVlKHBhY2thZ2VEZXRhaWwpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHRoaXMucGFja2FnZUZvcm0ucmVzZXQoKTtcbiAgICB9XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKG9uQ2hhbmdlOiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCBzdWIgPSB0aGlzLnBhY2thZ2VGb3JtLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUob25DaGFuZ2UpO1xuICAgIHRoaXMub25DaGFuZ2VTdWJzLnB1c2goc3ViKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKG9uVG91Y2hlZDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBvblRvdWNoZWQ7XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICBpZiAoaXNEaXNhYmxlZCkge1xuICAgICAgdGhpcy5wYWNrYWdlRm9ybS5kaXNhYmxlKCk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgdGhpcy5wYWNrYWdlRm9ybS5lbmFibGUoKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgW2Zvcm1Hcm91cF09XCJwYWNrYWdlRm9ybVwiPlxuICA8ZGl2IGNsYXNzPVwicm93IG1iLTJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sXCI+XG4gICAgICA8bGFiZWwgZm9yPVwid2FpdGxpc3QtZ3VuLXBhY2thZ2VcIj5QYWNrYWdlPC9sYWJlbD5cbiAgICAgIDxrZW5kby1kcm9wZG93bmxpc3QgW2RhdGFdPVwicGFja2FnZXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVmYXVsdEl0ZW1dPVwie25hbWU6ICdObyBQYWNrYWdlJywgaWQ6IG51bGx9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJ3YWl0bGlzdC1ndW4tcGFja2FnZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInBhY2thZ2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0RmllbGQ9XCJuYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVGaWVsZD1cImlkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCI+PC9rZW5kby1kcm9wZG93bmxpc3Q+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGZvcm1BcnJheU5hbWU9XCJ2YXJpYXRpb25zXCIgKm5nRm9yPVwibGV0IHZhcmlhdGlvbkNvbnRyb2wgb2YgdmFyaWF0aW9ucy5jb250cm9sczsgbGV0IGkgPSBpbmRleFwiPlxuICAgIDxkaXYgY2xhc3M9XCJyb3cgbWItMlwiPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbFwiPlxuICAgICAgICA8bGFiZWwgW2Zvcl09XCInd2FpdGxpc3QtZ3VuLXBhY2thZ2UtdmFyaWF0aW9uLScgKyBpXCI+e3twYWNrYWdlVmFyaWF0aW9uc1tpXT8ubmFtZX19PC9sYWJlbD5cbiAgICAgICAgPGtlbmRvLWRyb3Bkb3dubGlzdCBbZGF0YV09XCJwYWNrYWdlVmFyaWF0aW9uc1tpXT8ub3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lkXT1cIid3YWl0bGlzdC1ndW4tcGFja2FnZS12YXJpYXRpb24tJyArIGlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0SXRlbV09XCJ7b3B0aW9uTmFtZTogJycsIGlkOiBudWxsfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dEZpZWxkPVwib3B0aW9uTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInZhcmlhdGlvbkNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlRmllbGQ9XCJpZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCIgKm5nSWY9XCJwYWNrYWdlVmFyaWF0aW9uc1tpXT8uZ3Vuc21pdGhPbmx5XCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGtlbmRvRHJvcERvd25MaXN0SXRlbVRlbXBsYXRlIGxldC1kYXRhSXRlbT5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnctYm9sZFwiPnt7IGRhdGFJdGVtPy5za3UgfX08L3NwYW4+IC0ge3sgZGF0YUl0ZW0/Lm9wdGlvbk5hbWUgfX0gPHNwYW4gKm5nSWY9XCJkYXRhSXRlbT8uc2VydmljZUNoYXJnZUl0ZW1QcmljZVwiPihhZGQgJHt7ZGF0YUl0ZW0uc2VydmljZUNoYXJnZUl0ZW1QcmljZS50b0ZpeGVkKDIpfX0pPC9zcGFuPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwva2VuZG8tZHJvcGRvd25saXN0PlxuICAgICAgICA8a2VuZG8tZHJvcGRvd25saXN0IFtkYXRhXT1cInBhY2thZ2VWYXJpYXRpb25zW2ldPy5vcHRpb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwiJ3dhaXRsaXN0LWd1bi1wYWNrYWdlLXZhcmlhdGlvbi0nICsgaVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dEZpZWxkPVwib3B0aW9uTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInZhcmlhdGlvbkNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlRmllbGQ9XCJpZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCIgKm5nSWY9XCIhcGFja2FnZVZhcmlhdGlvbnNbaV0/Lmd1bnNtaXRoT25seVwiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb0Ryb3BEb3duTGlzdEl0ZW1UZW1wbGF0ZSBsZXQtZGF0YUl0ZW0+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZ3LWJvbGRcIj57eyBkYXRhSXRlbT8uc2t1IH19PC9zcGFuPiAtIHt7IGRhdGFJdGVtPy5vcHRpb25OYW1lIH19IDxzcGFuICpuZ0lmPVwiZGF0YUl0ZW0/LnNlcnZpY2VDaGFyZ2VJdGVtUHJpY2VcIj4oYWRkICR7e2RhdGFJdGVtLnNlcnZpY2VDaGFyZ2VJdGVtUHJpY2UudG9GaXhlZCgyKX19KTwvc3Bhbj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2tlbmRvLWRyb3Bkb3dubGlzdD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJ2YXJpYXRpb25Db250cm9sLmludmFsaWQgJiYgKHZhcmlhdGlvbkNvbnRyb2wuZGlydHkgfHwgdmFyaWF0aW9uQ29udHJvbC50b3VjaGVkKVwiIGNsYXNzPVwiZXJyb3ItY29udGFpbmVyIHRleHQtZGFuZ2VyXCI+XG4gICAgICA8ZGl2ICpuZ0lmPVwidmFyaWF0aW9uQ29udHJvbC5lcnJvcnMucmVxdWlyZWRcIj5cbiAgICAgICAge3twYWNrYWdlVmFyaWF0aW9uc1tpXT8ubmFtZX19IGlzIHJlcXVpcmVkLlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwicm93IG1iLTJcIiAqbmdJZj1cInBhY2thZ2VPcHRpb25hbEl0ZW1zPy5sZW5ndGhcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sXCI+XG4gICAgICA8bGFiZWwgZm9yPVwid2FpdGxpc3QtZ3VuLXBhY2thZ2UtYWRkb25zXCI+QWRkLW9ucyAoQWRkaXRpb25hbCBjaGFyZ2VzIHdpbGwgYXBwbHkpPC9sYWJlbD5cbiAgICAgIDxrZW5kby1tdWx0aXNlbGVjdCBpZD1cIndhaXRsaXN0LWd1bi1wYWNrYWdlLWFkZG9uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGFdPVwicGFja2FnZU9wdGlvbmFsSXRlbXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm9wdGlvbmFsSXRlbXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIHRleHRGaWVsZD1cIm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlRmllbGQ9XCJpZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb011bHRpU2VsZWN0SXRlbVRlbXBsYXRlIGxldC1kYXRhSXRlbT5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImZ3LWJvbGRcIj57eyBkYXRhSXRlbT8uc2t1IH19PC9zcGFuPiAtIHt7IGRhdGFJdGVtPy5uYW1lIH19XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L2tlbmRvLW11bHRpc2VsZWN0PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,51 +1,31 @@
1
1
  import { Injectable, Inject } from '@angular/core';
2
2
  import { HttpClient } from '@angular/common/http';
3
+ import { BaseService } from './base.service';
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "@angular/common/http";
5
- export class FirearmService {
6
+ export class FirearmService extends BaseService {
6
7
  constructor(http, env) {
8
+ super(http);
7
9
  this.http = http;
8
10
  this.env = env;
9
- this.url = this.env.baseUrl + 'api/firearms';
10
- }
11
- readFirearms(includeInactive = false) {
12
- return this.http.get(this.url, {
13
- params: {
14
- includeInactive: includeInactive.toString()
15
- }
16
- });
17
- }
18
- readFirearm(firearmId) {
19
- return this.http.get(`${this.url}/${firearmId}`);
20
- }
21
- createFirearm(firearm) {
22
- return this.http.post(this.url, firearm);
23
- }
24
- updateFirearm(firearmId, firearm) {
25
- return this.http.put(`${this.url}/${firearmId}`, firearm);
26
- }
27
- deleteFirearm(firearmId) {
28
- return this.http.delete(`${this.url}/${firearmId}`);
29
- }
30
- readFirearmSeries(firearmId) {
31
- return this.http.get(`${this.url}/${firearmId}/series`);
11
+ this.urlSegments = [`${this.env.baseUrl}api/firearms`];
32
12
  }
33
13
  readFirearmMaterial(firearmId) {
34
- return this.http.get(`${this.url}/${firearmId}/material`);
14
+ return this.http.get(`${this.getUrl(firearmId)}/material`);
35
15
  }
36
16
  readFirearmCosmetics(firearmId) {
37
- return this.http.get(`${this.url}/${firearmId}/cosmetics`);
17
+ return this.http.get(`${this.getUrl(firearmId)}/cosmetics`);
38
18
  }
39
19
  }
40
- FirearmService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FirearmService, deps: [{ token: i1.HttpClient }, { token: 'env' }], target: i0.ɵɵFactoryTarget.Injectable });
41
- FirearmService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FirearmService, providedIn: 'root' });
20
+ FirearmService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FirearmService, deps: [{ token: i1.HttpClient }, { token: "env" }], target: i0.ɵɵFactoryTarget.Injectable });
21
+ FirearmService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FirearmService, providedIn: "root" });
42
22
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FirearmService, decorators: [{
43
23
  type: Injectable,
44
24
  args: [{
45
- providedIn: 'root'
25
+ providedIn: "root",
46
26
  }]
47
27
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
48
28
  type: Inject,
49
- args: ['env']
29
+ args: ["env"]
50
30
  }] }]; } });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWFybS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3Vuc21pdGgtY29tbW9uL3NyYy9zaGFyZWQvc2VydmljZXMvZmlyZWFybS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBUWxELE1BQU0sT0FBTyxjQUFjO0lBR3pCLFlBQ1UsSUFBZ0IsRUFDRCxHQUFRO1FBRHZCLFNBQUksR0FBSixJQUFJLENBQVk7UUFDRCxRQUFHLEdBQUgsR0FBRyxDQUFLO1FBRS9CLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEdBQUcsY0FBYyxDQUFDO0lBQy9DLENBQUM7SUFFRCxZQUFZLENBQUMsZUFBZSxHQUFHLEtBQUs7UUFDbEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBWSxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ3hDLE1BQU0sRUFBRTtnQkFDTixlQUFlLEVBQUUsZUFBZSxDQUFDLFFBQVEsRUFBRTthQUM1QztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXLENBQUMsU0FBaUI7UUFDM0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBVSxHQUFHLElBQUksQ0FBQyxHQUFHLElBQUksU0FBUyxFQUFFLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsYUFBYSxDQUFDLE9BQWdCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQVUsSUFBSSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsYUFBYSxDQUFDLFNBQWlCLEVBQUUsT0FBZ0I7UUFDL0MsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBVSxHQUFHLElBQUksQ0FBQyxHQUFHLElBQUksU0FBUyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVELGFBQWEsQ0FBQyxTQUFpQjtRQUM3QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsSUFBSSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxTQUFpQjtRQUNqQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFnQixHQUFHLElBQUksQ0FBQyxHQUFHLElBQUksU0FBUyxTQUFTLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQsbUJBQW1CLENBQUMsU0FBaUI7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBVyxHQUFHLElBQUksQ0FBQyxHQUFHLElBQUksU0FBUyxXQUFXLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsb0JBQW9CLENBQUMsU0FBaUI7UUFDcEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBZ0IsR0FBRyxJQUFJLENBQUMsR0FBRyxJQUFJLFNBQVMsWUFBWSxDQUFDLENBQUM7SUFDNUUsQ0FBQzs7NEdBNUNVLGNBQWMsNENBS2YsS0FBSztnSEFMSixjQUFjLGNBRmIsTUFBTTs0RkFFUCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBTUksTUFBTTsyQkFBQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgRmlyZWFybSB9IGZyb20gJy4uL3R5cGVzL2ZpcmVhcm0nO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRmlyZWFybVNlcmllcywgTWF0ZXJpYWwsIE1pbGxpbmdUeXBlIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBGaXJlYXJtU2VydmljZSB7XG4gIHByaXZhdGUgdXJsOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIEBJbmplY3QoJ2VudicpIHByaXZhdGUgZW52OiBhbnlcbiAgKSB7XG4gICAgdGhpcy51cmwgPSB0aGlzLmVudi5iYXNlVXJsICsgJ2FwaS9maXJlYXJtcyc7XG4gIH1cblxuICByZWFkRmlyZWFybXMoaW5jbHVkZUluYWN0aXZlID0gZmFsc2UpOiBPYnNlcnZhYmxlPEZpcmVhcm1bXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEZpcmVhcm1bXT4odGhpcy51cmwsIHtcbiAgICAgIHBhcmFtczoge1xuICAgICAgICBpbmNsdWRlSW5hY3RpdmU6IGluY2x1ZGVJbmFjdGl2ZS50b1N0cmluZygpXG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICByZWFkRmlyZWFybShmaXJlYXJtSWQ6IG51bWJlcik6IE9ic2VydmFibGU8RmlyZWFybT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEZpcmVhcm0+KGAke3RoaXMudXJsfS8ke2ZpcmVhcm1JZH1gKTtcbiAgfVxuXG4gIGNyZWF0ZUZpcmVhcm0oZmlyZWFybTogRmlyZWFybSk6IE9ic2VydmFibGU8RmlyZWFybT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxGaXJlYXJtPih0aGlzLnVybCwgZmlyZWFybSk7XG4gIH1cblxuICB1cGRhdGVGaXJlYXJtKGZpcmVhcm1JZDogbnVtYmVyLCBmaXJlYXJtOiBGaXJlYXJtKTogT2JzZXJ2YWJsZTxGaXJlYXJtPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8RmlyZWFybT4oYCR7dGhpcy51cmx9LyR7ZmlyZWFybUlkfWAsIGZpcmVhcm0pO1xuICB9XG5cbiAgZGVsZXRlRmlyZWFybShmaXJlYXJtSWQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoYCR7dGhpcy51cmx9LyR7ZmlyZWFybUlkfWApO1xuICB9XG5cbiAgcmVhZEZpcmVhcm1TZXJpZXMoZmlyZWFybUlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPEZpcmVhcm1TZXJpZXM+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxGaXJlYXJtU2VyaWVzPihgJHt0aGlzLnVybH0vJHtmaXJlYXJtSWR9L3Nlcmllc2ApO1xuICB9XG5cbiAgcmVhZEZpcmVhcm1NYXRlcmlhbChmaXJlYXJtSWQ6IG51bWJlcik6IE9ic2VydmFibGU8TWF0ZXJpYWw+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxNYXRlcmlhbD4oYCR7dGhpcy51cmx9LyR7ZmlyZWFybUlkfS9tYXRlcmlhbGApO1xuICB9XG5cbiAgcmVhZEZpcmVhcm1Db3NtZXRpY3MoZmlyZWFybUlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPE1pbGxpbmdUeXBlW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxNaWxsaW5nVHlwZVtdPihgJHt0aGlzLnVybH0vJHtmaXJlYXJtSWR9L2Nvc21ldGljc2ApO1xuICB9XG59XG4iXX0=
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWFybS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3Vuc21pdGgtY29tbW9uL3NyYy9zaGFyZWQvc2VydmljZXMvZmlyZWFybS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUlsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUs3QyxNQUFNLE9BQU8sY0FBZSxTQUFRLFdBQW9CO0lBRXRELFlBQXNCLElBQWdCLEVBQTJCLEdBQVE7UUFDdkUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRFEsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUEyQixRQUFHLEdBQUgsR0FBRyxDQUFLO1FBRXZFLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxjQUFjLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsbUJBQW1CLENBQUMsU0FBaUI7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxTQUFpQjtRQUNwQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUNsQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FDdEMsQ0FBQztJQUNKLENBQUM7OzRHQWZVLGNBQWMsNENBRXVCLEtBQUs7Z0hBRjFDLGNBQWMsY0FGYixNQUFNOzRGQUVQLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFHMEMsTUFBTTsyQkFBQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgRmlyZWFybSB9IGZyb20gJy4uL3R5cGVzL2ZpcmVhcm0nO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTWF0ZXJpYWwsIE1pbGxpbmdUeXBlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgQmFzZVNlcnZpY2UgfSBmcm9tICcuL2Jhc2Uuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogXCJyb290XCIsXG59KVxuZXhwb3J0IGNsYXNzIEZpcmVhcm1TZXJ2aWNlIGV4dGVuZHMgQmFzZVNlcnZpY2U8RmlyZWFybT4ge1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LCBASW5qZWN0KFwiZW52XCIpIHByb3RlY3RlZCBlbnY6IGFueSkge1xuICAgIHN1cGVyKGh0dHApO1xuICAgIHRoaXMudXJsU2VnbWVudHMgPSBbYCR7dGhpcy5lbnYuYmFzZVVybH1hcGkvZmlyZWFybXNgXTtcbiAgfVxuXG4gIHJlYWRGaXJlYXJtTWF0ZXJpYWwoZmlyZWFybUlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPE1hdGVyaWFsPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8TWF0ZXJpYWw+KGAke3RoaXMuZ2V0VXJsKGZpcmVhcm1JZCl9L21hdGVyaWFsYCk7XG4gIH1cblxuICByZWFkRmlyZWFybUNvc21ldGljcyhmaXJlYXJtSWQ6IG51bWJlcik6IE9ic2VydmFibGU8TWlsbGluZ1R5cGVbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PE1pbGxpbmdUeXBlW10+KFxuICAgICAgYCR7dGhpcy5nZXRVcmwoZmlyZWFybUlkKX0vY29zbWV0aWNzYFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -1,52 +1,46 @@
1
1
  import { Injectable, Inject } from '@angular/core';
2
2
  import { HttpClient } from '@angular/common/http';
3
+ import { BaseService } from './base.service';
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "@angular/common/http";
5
- export class GunPartService {
6
+ export class GunPartService extends BaseService {
6
7
  constructor(http, env) {
8
+ super(http);
7
9
  this.http = http;
8
10
  this.env = env;
9
- this.url = this.env.baseUrl + 'api/gun-parts';
11
+ this.urlSegments = [`${this.env.baseUrl}api/gun-parts`];
10
12
  }
11
- readGunParts(includeInactive = false, gunsmith = null, customer = null) {
13
+ getParams(includeInactive, gunsmith, customer) {
12
14
  const params = {
13
- includeInactive: includeInactive.toString()
15
+ includeInactive: includeInactive.toString(),
14
16
  };
15
17
  if (gunsmith !== null) {
16
- params['gunsmith'] = gunsmith.toString();
18
+ params["gunsmith"] = gunsmith.toString();
17
19
  }
18
20
  if (customer !== null) {
19
- params['customer'] = customer.toString();
21
+ params["customer"] = customer.toString();
20
22
  }
21
- return this.http.get(this.url, {
22
- params: params
23
- });
23
+ return params;
24
24
  }
25
- readGunPart(id) {
26
- return this.http.get(`${this.url}/${id}`);
25
+ getAllCustomer() {
26
+ return this.getAllWithParams(this.getParams(false, null, true));
27
27
  }
28
- createGunPart(gunPart) {
29
- return this.http.post(this.url, gunPart);
28
+ getAllGunsmith() {
29
+ return this.getAllWithParams(this.getParams(false, true, null));
30
30
  }
31
- updateGunPart(id, gunPart) {
32
- return this.http.put(`${this.url}/${id}`, gunPart);
33
- }
34
- deleteGunPart(id) {
35
- return this.http.delete(`${this.url}/${id}`);
36
- }
37
- readPartCoatings(id) {
38
- return this.http.get(`${this.url}/${id}/coatings`);
31
+ getPartCoatings(id) {
32
+ return this.http.get(`${this.getUrl(id)}/coatings`);
39
33
  }
40
34
  }
41
- GunPartService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GunPartService, deps: [{ token: i1.HttpClient }, { token: 'env' }], target: i0.ɵɵFactoryTarget.Injectable });
42
- GunPartService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GunPartService, providedIn: 'root' });
35
+ GunPartService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GunPartService, deps: [{ token: i1.HttpClient }, { token: "env" }], target: i0.ɵɵFactoryTarget.Injectable });
36
+ GunPartService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GunPartService, providedIn: "root" });
43
37
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GunPartService, decorators: [{
44
38
  type: Injectable,
45
39
  args: [{
46
- providedIn: 'root'
40
+ providedIn: "root",
47
41
  }]
48
42
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
49
43
  type: Inject,
50
- args: ['env']
44
+ args: ["env"]
51
45
  }] }]; } });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VuLXBhcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2d1bnNtaXRoLWNvbW1vbi9zcmMvc2hhcmVkL3NlcnZpY2VzL2d1bi1wYXJ0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7QUFPbEQsTUFBTSxPQUFPLGNBQWM7SUFHekIsWUFDVSxJQUFnQixFQUNELEdBQVE7UUFEdkIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNELFFBQUcsR0FBSCxHQUFHLENBQUs7UUFFL0IsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sR0FBRyxlQUFlLENBQUM7SUFDaEQsQ0FBQztJQUVELFlBQVksQ0FBQyxlQUFlLEdBQUcsS0FBSyxFQUFFLFdBQW9CLElBQUksRUFBRSxXQUFvQixJQUFJO1FBQ3RGLE1BQU0sTUFBTSxHQUFHO1lBQ2IsZUFBZSxFQUFFLGVBQWUsQ0FBQyxRQUFRLEVBQUU7U0FDNUMsQ0FBQztRQUVGLElBQUksUUFBUSxLQUFLLElBQUksRUFBRTtZQUNyQixNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQzFDO1FBRUQsSUFBSSxRQUFRLEtBQUssSUFBSSxFQUFFO1lBQ3JCLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDMUM7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFZLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDeEMsTUFBTSxFQUFFLE1BQU07U0FDZixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVyxDQUFDLEVBQVU7UUFDcEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBVSxHQUFHLElBQUksQ0FBQyxHQUFHLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsYUFBYSxDQUFDLE9BQWdCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQVUsSUFBSSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsYUFBYSxDQUFDLEVBQVUsRUFBRSxPQUFnQjtRQUN4QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsSUFBSSxFQUFFLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsYUFBYSxDQUFDLEVBQVU7UUFDdEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBVTtRQUN6QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFZLEdBQUcsSUFBSSxDQUFDLEdBQUcsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7OzRHQTlDVSxjQUFjLDRDQUtmLEtBQUs7Z0hBTEosY0FBYyxjQUZiLE1BQU07NEZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQU1JLE1BQU07MkJBQUMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvYXRpbmcsIEd1blBhcnQgfSBmcm9tICcuLi90eXBlcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEd1blBhcnRTZXJ2aWNlIHtcbiAgcHJpdmF0ZSB1cmw6IHN0cmluZzsgXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIEBJbmplY3QoJ2VudicpIHByaXZhdGUgZW52OiBhbnlcbiAgKSB7XG4gICAgdGhpcy51cmwgPSB0aGlzLmVudi5iYXNlVXJsICsgJ2FwaS9ndW4tcGFydHMnO1xuICB9XG5cbiAgcmVhZEd1blBhcnRzKGluY2x1ZGVJbmFjdGl2ZSA9IGZhbHNlLCBndW5zbWl0aDogYm9vbGVhbiA9IG51bGwsIGN1c3RvbWVyOiBib29sZWFuID0gbnVsbCk6IE9ic2VydmFibGU8R3VuUGFydFtdPiB7XG4gICAgY29uc3QgcGFyYW1zID0ge1xuICAgICAgaW5jbHVkZUluYWN0aXZlOiBpbmNsdWRlSW5hY3RpdmUudG9TdHJpbmcoKVxuICAgIH07XG5cbiAgICBpZiAoZ3Vuc21pdGggIT09IG51bGwpIHtcbiAgICAgIHBhcmFtc1snZ3Vuc21pdGgnXSA9IGd1bnNtaXRoLnRvU3RyaW5nKCk7XG4gICAgfVxuXG4gICAgaWYgKGN1c3RvbWVyICE9PSBudWxsKSB7XG4gICAgICBwYXJhbXNbJ2N1c3RvbWVyJ10gPSBjdXN0b21lci50b1N0cmluZygpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEd1blBhcnRbXT4odGhpcy51cmwsIHtcbiAgICAgIHBhcmFtczogcGFyYW1zXG4gICAgfSk7XG4gIH1cblxuICByZWFkR3VuUGFydChpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxHdW5QYXJ0PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8R3VuUGFydD4oYCR7dGhpcy51cmx9LyR7aWR9YCk7XG4gIH1cblxuICBjcmVhdGVHdW5QYXJ0KGd1blBhcnQ6IEd1blBhcnQpOiBPYnNlcnZhYmxlPEd1blBhcnQ+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R3VuUGFydD4odGhpcy51cmwsIGd1blBhcnQpO1xuICB9XG5cbiAgdXBkYXRlR3VuUGFydChpZDogbnVtYmVyLCBndW5QYXJ0OiBHdW5QYXJ0KTogT2JzZXJ2YWJsZTxHdW5QYXJ0PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8R3VuUGFydD4oYCR7dGhpcy51cmx9LyR7aWR9YCwgZ3VuUGFydCk7XG4gIH1cblxuICBkZWxldGVHdW5QYXJ0KGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKGAke3RoaXMudXJsfS8ke2lkfWApO1xuICB9XG5cbiAgcmVhZFBhcnRDb2F0aW5ncyhpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxDb2F0aW5nW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxDb2F0aW5nW10+KGAke3RoaXMudXJsfS8ke2lkfS9jb2F0aW5nc2ApO1xuICB9XG59XG4iXX0=
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VuLXBhcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2d1bnNtaXRoLWNvbW1vbi9zcmMvc2hhcmVkL3NlcnZpY2VzL2d1bi1wYXJ0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR2xELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBSzdDLE1BQU0sT0FBTyxjQUFlLFNBQVEsV0FBb0I7SUFFdEQsWUFBc0IsSUFBZ0IsRUFBMkIsR0FBUTtRQUN2RSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFEUSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQTJCLFFBQUcsR0FBSCxHQUFHLENBQUs7UUFFdkUsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLGVBQWUsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFTyxTQUFTLENBQUMsZUFBd0IsRUFBRSxRQUFpQixFQUFFLFFBQWlCO1FBQzlFLE1BQU0sTUFBTSxHQUFHO1lBQ2IsZUFBZSxFQUFFLGVBQWUsQ0FBQyxRQUFRLEVBQUU7U0FDNUMsQ0FBQztRQUVGLElBQUksUUFBUSxLQUFLLElBQUksRUFBRTtZQUNyQixNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQzFDO1FBRUQsSUFBSSxRQUFRLEtBQUssSUFBSSxFQUFFO1lBQ3JCLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDMUM7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELGVBQWUsQ0FBQyxFQUFVO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNqRSxDQUFDOzs0R0FqQ1UsY0FBYyw0Q0FFdUIsS0FBSztnSEFGMUMsY0FBYyxjQUZiLE1BQU07NEZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQUcwQyxNQUFNOzJCQUFDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb2F0aW5nLCBHdW5QYXJ0IH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgQmFzZVNlcnZpY2UgfSBmcm9tICcuL2Jhc2Uuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogXCJyb290XCIsXG59KVxuZXhwb3J0IGNsYXNzIEd1blBhcnRTZXJ2aWNlIGV4dGVuZHMgQmFzZVNlcnZpY2U8R3VuUGFydD4ge1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LCBASW5qZWN0KFwiZW52XCIpIHByb3RlY3RlZCBlbnY6IGFueSkge1xuICAgIHN1cGVyKGh0dHApO1xuICAgIHRoaXMudXJsU2VnbWVudHMgPSBbYCR7dGhpcy5lbnYuYmFzZVVybH1hcGkvZ3VuLXBhcnRzYF07XG4gIH1cblxuICBwcml2YXRlIGdldFBhcmFtcyhpbmNsdWRlSW5hY3RpdmU6IGJvb2xlYW4sIGd1bnNtaXRoOiBib29sZWFuLCBjdXN0b21lcjogYm9vbGVhbik6IGFueSB7XG4gICAgY29uc3QgcGFyYW1zID0ge1xuICAgICAgaW5jbHVkZUluYWN0aXZlOiBpbmNsdWRlSW5hY3RpdmUudG9TdHJpbmcoKSxcbiAgICB9O1xuXG4gICAgaWYgKGd1bnNtaXRoICE9PSBudWxsKSB7XG4gICAgICBwYXJhbXNbXCJndW5zbWl0aFwiXSA9IGd1bnNtaXRoLnRvU3RyaW5nKCk7XG4gICAgfVxuXG4gICAgaWYgKGN1c3RvbWVyICE9PSBudWxsKSB7XG4gICAgICBwYXJhbXNbXCJjdXN0b21lclwiXSA9IGN1c3RvbWVyLnRvU3RyaW5nKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhcmFtcztcbiAgfVxuXG4gIGdldEFsbEN1c3RvbWVyKCk6IE9ic2VydmFibGU8R3VuUGFydFtdPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QWxsV2l0aFBhcmFtcyh0aGlzLmdldFBhcmFtcyhmYWxzZSwgbnVsbCwgdHJ1ZSkpO1xuICB9XG5cbiAgZ2V0QWxsR3Vuc21pdGgoKTogT2JzZXJ2YWJsZTxHdW5QYXJ0W10+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRBbGxXaXRoUGFyYW1zKHRoaXMuZ2V0UGFyYW1zKGZhbHNlLCB0cnVlLCBudWxsKSk7XG4gIH1cblxuICBnZXRQYXJ0Q29hdGluZ3MoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8Q29hdGluZ1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8Q29hdGluZ1tdPihgJHt0aGlzLmdldFVybChpZCl9L2NvYXRpbmdzYCk7XG4gIH1cbn1cbiJdfQ==
@@ -13,7 +13,6 @@ export * from './configuration.service';
13
13
  export * from './waitlist-customer.service';
14
14
  export * from './optic.service';
15
15
  export * from './product.service';
16
- export * from './firearm-series.service';
17
16
  export * from './milling-type.service';
18
17
  export * from './coating.service';
19
18
  export * from './material.service';
@@ -39,4 +38,4 @@ export * from './package-optional-item.service';
39
38
  export * from './package-variation.service';
40
39
  export * from './slide-addon.service';
41
40
  export * from './coating-value.service';
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ndW5zbWl0aC1jb21tb24vc3JjL3NoYXJlZC9zZXJ2aWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2N1c3RvbWVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9maXJlYXJtLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9ndW4tcGFydC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc3RhdGUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3ZlbmRvci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vdG90YWxzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi93b3JrLWhvbGlkYXkuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3dvcmstb3JkZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2RlYWxlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZmlsZS11cGxvYWQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3dhaXRsaXN0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi93YWl0bGlzdC1jdXN0b21lci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vb3B0aWMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3Byb2R1Y3Quc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2ZpcmVhcm0tc2VyaWVzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9taWxsaW5nLXR5cGUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvYXRpbmcuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL21hdGVyaWFsLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9wdXJjaGFzZS1vcmRlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vdXNlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vd2FpdGxpc3QtcHJvamVjdC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaW52ZW50b3J5LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zdGF0dXMtaGlzdG9yeS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vcGFja2FnZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vcmVmaW5pc2gtY29kZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vd29yay1vcmRlci1zaGlwcGluZy1pdGVtLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi93b3JrLW9yZGVyLWRpc2NvdW50LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9xdWlja2Jvb2tzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi93b3JrLW9yZGVyLW5vbi1pbnZlbnRvcnktaXRlbS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vYmFzZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbW91bnQtdHlwZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2lnaHQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NpZ2h0LXR5cGUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NpZ2h0LW1hdGVyaWFsLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9maXJlYXJtLW9wdGljLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9maXJlYXJtLXNpZ2h0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9wYWNrYWdlLW9wdGlvbmFsLWl0ZW0uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3BhY2thZ2UtdmFyaWF0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zbGlkZS1hZGRvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29hdGluZy12YWx1ZS5zZXJ2aWNlJztcbiJdfQ==
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ndW5zbWl0aC1jb21tb24vc3JjL3NoYXJlZC9zZXJ2aWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jdXN0b21lci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZmlyZWFybS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZ3VuLXBhcnQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3N0YXRlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi92ZW5kb3Iuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3RvdGFscy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vd29yay1ob2xpZGF5LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi93b3JrLW9yZGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9kZWFsZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbGUtdXBsb2FkLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi93YWl0bGlzdC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vd2FpdGxpc3QtY3VzdG9tZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL29wdGljLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm9kdWN0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9taWxsaW5nLXR5cGUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvYXRpbmcuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL21hdGVyaWFsLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9wdXJjaGFzZS1vcmRlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vdXNlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vd2FpdGxpc3QtcHJvamVjdC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaW52ZW50b3J5LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zdGF0dXMtaGlzdG9yeS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vcGFja2FnZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vcmVmaW5pc2gtY29kZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vd29yay1vcmRlci1zaGlwcGluZy1pdGVtLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi93b3JrLW9yZGVyLWRpc2NvdW50LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9xdWlja2Jvb2tzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi93b3JrLW9yZGVyLW5vbi1pbnZlbnRvcnktaXRlbS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vYmFzZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbW91bnQtdHlwZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2lnaHQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NpZ2h0LXR5cGUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NpZ2h0LW1hdGVyaWFsLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9maXJlYXJtLW9wdGljLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9maXJlYXJtLXNpZ2h0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9wYWNrYWdlLW9wdGlvbmFsLWl0ZW0uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3BhY2thZ2UtdmFyaWF0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zbGlkZS1hZGRvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29hdGluZy12YWx1ZS5zZXJ2aWNlJztcbiJdfQ==
@@ -1,38 +1,25 @@
1
1
  import { HttpClient } from '@angular/common/http';
2
2
  import { Inject, Injectable } from '@angular/core';
3
+ import { BaseService } from './base.service';
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "@angular/common/http";
5
- export class InventoryService {
6
+ export class InventoryService extends BaseService {
6
7
  constructor(http, env) {
8
+ super(http);
7
9
  this.http = http;
8
10
  this.env = env;
9
- this.url = this.env.baseUrl + 'api/inventory-items';
10
- }
11
- readInventoryItems(includeInactive = false, search = null) {
12
- const params = {
13
- includeInactive: includeInactive.toString()
14
- };
15
- if (search !== null) {
16
- params['search'] = search;
17
- }
18
- return this.http.get(this.url, { params: params });
19
- }
20
- updateInventoryItem(id, item) {
21
- return this.http.put(`${this.url}/${id}`, item);
22
- }
23
- createInventoryItem(item) {
24
- return this.http.post(this.url, item);
11
+ this.urlSegments = [`${this.env.baseUrl}api/inventory-items`];
25
12
  }
26
13
  }
27
- InventoryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: InventoryService, deps: [{ token: i1.HttpClient }, { token: 'env' }], target: i0.ɵɵFactoryTarget.Injectable });
28
- InventoryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: InventoryService, providedIn: 'root' });
14
+ InventoryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: InventoryService, deps: [{ token: i1.HttpClient }, { token: "env" }], target: i0.ɵɵFactoryTarget.Injectable });
15
+ InventoryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: InventoryService, providedIn: "root" });
29
16
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: InventoryService, decorators: [{
30
17
  type: Injectable,
31
18
  args: [{
32
- providedIn: 'root'
19
+ providedIn: "root",
33
20
  }]
34
21
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
35
22
  type: Inject,
36
- args: ['env']
23
+ args: ["env"]
37
24
  }] }]; } });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52ZW50b3J5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ndW5zbWl0aC1jb21tb24vc3JjL3NoYXJlZC9zZXJ2aWNlcy9pbnZlbnRvcnkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU9uRCxNQUFNLE9BQU8sZ0JBQWdCO0lBRzNCLFlBQ1UsSUFBZ0IsRUFDRCxHQUFRO1FBRHZCLFNBQUksR0FBSixJQUFJLENBQVk7UUFDRCxRQUFHLEdBQUgsR0FBRyxDQUFLO1FBRS9CLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEdBQUcscUJBQXFCLENBQUM7SUFDdEQsQ0FBQztJQUVELGtCQUFrQixDQUFDLGtCQUEyQixLQUFLLEVBQUUsU0FBaUIsSUFBSTtRQUN4RSxNQUFNLE1BQU0sR0FBRztZQUNiLGVBQWUsRUFBRSxlQUFlLENBQUMsUUFBUSxFQUFFO1NBQzVDLENBQUE7UUFFRCxJQUFJLE1BQU0sS0FBSyxJQUFJLEVBQUU7WUFDbkIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLE1BQU0sQ0FBQTtTQUMxQjtRQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWtCLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsbUJBQW1CLENBQUMsRUFBVSxFQUFFLElBQW1CO1FBQ2pELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWdCLEdBQUcsSUFBSSxDQUFDLEdBQUcsSUFBSSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsbUJBQW1CLENBQUMsSUFBbUI7UUFDckMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBZ0IsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN2RCxDQUFDOzs4R0E1QlUsZ0JBQWdCLDRDQUtqQixLQUFLO2tIQUxKLGdCQUFnQixjQUZmLE1BQU07NEZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBTUksTUFBTTsyQkFBQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSW52ZW50b3J5SXRlbSB9IGZyb20gJy4uL3R5cGVzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgSW52ZW50b3J5U2VydmljZSB7XG4gIHByaXZhdGUgdXJsOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIEBJbmplY3QoJ2VudicpIHByaXZhdGUgZW52OiBhbnlcbiAgKSB7XG4gICAgdGhpcy51cmwgPSB0aGlzLmVudi5iYXNlVXJsICsgJ2FwaS9pbnZlbnRvcnktaXRlbXMnO1xuICB9XG5cbiAgcmVhZEludmVudG9yeUl0ZW1zKGluY2x1ZGVJbmFjdGl2ZTogYm9vbGVhbiA9IGZhbHNlLCBzZWFyY2g6IHN0cmluZyA9IG51bGwpOiBPYnNlcnZhYmxlPEludmVudG9yeUl0ZW1bXT4ge1xuICAgIGNvbnN0IHBhcmFtcyA9IHtcbiAgICAgIGluY2x1ZGVJbmFjdGl2ZTogaW5jbHVkZUluYWN0aXZlLnRvU3RyaW5nKClcbiAgICB9XG5cbiAgICBpZiAoc2VhcmNoICE9PSBudWxsKSB7XG4gICAgICBwYXJhbXNbJ3NlYXJjaCddID0gc2VhcmNoXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8SW52ZW50b3J5SXRlbVtdPih0aGlzLnVybCwgeyBwYXJhbXM6IHBhcmFtcyB9KTtcbiAgfVxuXG4gIHVwZGF0ZUludmVudG9yeUl0ZW0oaWQ6IG51bWJlciwgaXRlbTogSW52ZW50b3J5SXRlbSk6IE9ic2VydmFibGU8SW52ZW50b3J5SXRlbT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0PEludmVudG9yeUl0ZW0+KGAke3RoaXMudXJsfS8ke2lkfWAsIGl0ZW0pO1xuICB9XG5cbiAgY3JlYXRlSW52ZW50b3J5SXRlbShpdGVtOiBJbnZlbnRvcnlJdGVtKTogT2JzZXJ2YWJsZTxJbnZlbnRvcnlJdGVtPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEludmVudG9yeUl0ZW0+KHRoaXMudXJsLCBpdGVtKTtcbiAgfVxufVxuIl19
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52ZW50b3J5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ndW5zbWl0aC1jb21tb24vc3JjL3NoYXJlZC9zZXJ2aWNlcy9pbnZlbnRvcnkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFLN0MsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFdBQTBCO0lBQzlELFlBQXNCLElBQWdCLEVBQTJCLEdBQVE7UUFDdkUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRFEsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUEyQixRQUFHLEdBQUgsR0FBRyxDQUFLO1FBRXZFLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxxQkFBcUIsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7OzhHQUpVLGdCQUFnQiw0Q0FDcUIsS0FBSztrSEFEMUMsZ0JBQWdCLGNBRmYsTUFBTTs0RkFFUCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFFMEMsTUFBTTsyQkFBQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSW52ZW50b3J5SXRlbSB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IEJhc2VTZXJ2aWNlIH0gZnJvbSAnLi9iYXNlLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46IFwicm9vdFwiLFxufSlcbmV4cG9ydCBjbGFzcyBJbnZlbnRvcnlTZXJ2aWNlIGV4dGVuZHMgQmFzZVNlcnZpY2U8SW52ZW50b3J5SXRlbT4ge1xuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCwgQEluamVjdChcImVudlwiKSBwcm90ZWN0ZWQgZW52OiBhbnkpIHtcbiAgICBzdXBlcihodHRwKTtcbiAgICB0aGlzLnVybFNlZ21lbnRzID0gW2Ake3RoaXMuZW52LmJhc2VVcmx9YXBpL2ludmVudG9yeS1pdGVtc2BdO1xuICB9XG5cbiAgLy8gcmVhZEludmVudG9yeUl0ZW1zKFxuICAvLyAgIGluY2x1ZGVJbmFjdGl2ZTogYm9vbGVhbiA9IGZhbHNlLFxuICAvLyAgIHNlYXJjaDogc3RyaW5nID0gbnVsbFxuICAvLyApOiBPYnNlcnZhYmxlPEludmVudG9yeUl0ZW1bXT4ge1xuICAvLyAgIGNvbnN0IHBhcmFtcyA9IHtcbiAgLy8gICAgIGluY2x1ZGVJbmFjdGl2ZTogaW5jbHVkZUluYWN0aXZlLnRvU3RyaW5nKCksXG4gIC8vICAgfTtcblxuICAvLyAgIGlmIChzZWFyY2ggIT09IG51bGwpIHtcbiAgLy8gICAgIHBhcmFtc1tcInNlYXJjaFwiXSA9IHNlYXJjaDtcbiAgLy8gICB9XG5cbiAgLy8gICByZXR1cm4gdGhpcy5odHRwLmdldDxJbnZlbnRvcnlJdGVtW10+KHRoaXMudXJsLCB7IHBhcmFtczogcGFyYW1zIH0pO1xuICAvLyB9XG5cbiAgLy8gdXBkYXRlSW52ZW50b3J5SXRlbShcbiAgLy8gICBpZDogbnVtYmVyLFxuICAvLyAgIGl0ZW06IEludmVudG9yeUl0ZW1cbiAgLy8gKTogT2JzZXJ2YWJsZTxJbnZlbnRvcnlJdGVtPiB7XG4gIC8vICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8SW52ZW50b3J5SXRlbT4oYCR7dGhpcy51cmx9LyR7aWR9YCwgaXRlbSk7XG4gIC8vIH1cblxuICAvLyBjcmVhdGVJbnZlbnRvcnlJdGVtKGl0ZW06IEludmVudG9yeUl0ZW0pOiBPYnNlcnZhYmxlPEludmVudG9yeUl0ZW0+IHtcbiAgLy8gICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8SW52ZW50b3J5SXRlbT4odGhpcy51cmwsIGl0ZW0pO1xuICAvLyB9XG59XG4iXX0=
@@ -1,34 +1,17 @@
1
1
  import { Injectable, Inject } from '@angular/core';
2
2
  import { HttpClient } from '@angular/common/http';
3
+ import { BaseService } from './base.service';
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "@angular/common/http";
5
- export class OpticService {
6
+ export class OpticService extends BaseService {
6
7
  constructor(http, env) {
8
+ super(http);
7
9
  this.http = http;
8
10
  this.env = env;
9
- this.url = this.env.baseUrl + 'api/optics';
10
- }
11
- readOptics(includeInactive = false) {
12
- return this.http.get(this.url, {
13
- params: {
14
- includeInactive: includeInactive.toString()
15
- }
16
- });
17
- }
18
- readOptic(opticId) {
19
- return this.http.get(`${this.url}/${opticId}`);
20
- }
21
- createOptic(optic) {
22
- return this.http.post(this.url, optic);
23
- }
24
- updateOptic(opticId, optic) {
25
- return this.http.put(`${this.url}/${opticId}`, optic);
26
- }
27
- deleteOptic(opticId) {
28
- return this.http.delete(`${this.url}/${opticId}`);
11
+ this.urlSegments = [`${this.env.baseUrl}api/optics`];
29
12
  }
30
13
  readOpticReport() {
31
- return this.http.get(`${this.url}/report`);
14
+ return this.http.get(`${this.getUrl()}/report`);
32
15
  }
33
16
  }
34
17
  OpticService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: OpticService, deps: [{ token: i1.HttpClient }, { token: 'env' }], target: i0.ɵɵFactoryTarget.Injectable });
@@ -42,4 +25,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
42
25
  type: Inject,
43
26
  args: ['env']
44
27
  }] }]; } });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aWMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2d1bnNtaXRoLWNvbW1vbi9zcmMvc2hhcmVkL3NlcnZpY2VzL29wdGljLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7QUFPbEQsTUFBTSxPQUFPLFlBQVk7SUFHdkIsWUFDVSxJQUFnQixFQUNELEdBQVE7UUFEdkIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNELFFBQUcsR0FBSCxHQUFHLENBQUs7UUFFL0IsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sR0FBRyxZQUFZLENBQUM7SUFDN0MsQ0FBQztJQUVELFVBQVUsQ0FBQyxlQUFlLEdBQUcsS0FBSztRQUNoQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFVLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDdEMsTUFBTSxFQUFFO2dCQUNOLGVBQWUsRUFBRSxlQUFlLENBQUMsUUFBUSxFQUFFO2FBQzVDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFNBQVMsQ0FBQyxPQUFlO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFZO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQVEsSUFBSSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQWUsRUFBRSxLQUFZO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxJQUFJLE9BQU8sRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxXQUFXLENBQUMsT0FBZTtRQUN6QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBb0IsR0FBRyxJQUFJLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQztJQUNoRSxDQUFDOzswR0FwQ1UsWUFBWSw0Q0FLYixLQUFLOzhHQUxKLFlBQVksY0FGWCxNQUFNOzRGQUVQLFlBQVk7a0JBSHhCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFNSSxNQUFNOzJCQUFDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBPcHRpYywgT3B0aWNSZXBvcnRJdGVtIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBPcHRpY1NlcnZpY2Uge1xuICBwcml2YXRlIHVybDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICBASW5qZWN0KCdlbnYnKSBwcml2YXRlIGVudjogYW55XG4gICkge1xuICAgIHRoaXMudXJsID0gdGhpcy5lbnYuYmFzZVVybCArICdhcGkvb3B0aWNzJztcbiAgfVxuXG4gIHJlYWRPcHRpY3MoaW5jbHVkZUluYWN0aXZlID0gZmFsc2UpOiBPYnNlcnZhYmxlPE9wdGljW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxPcHRpY1tdPih0aGlzLnVybCwge1xuICAgICAgcGFyYW1zOiB7XG4gICAgICAgIGluY2x1ZGVJbmFjdGl2ZTogaW5jbHVkZUluYWN0aXZlLnRvU3RyaW5nKClcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHJlYWRPcHRpYyhvcHRpY0lkOiBudW1iZXIpOiBPYnNlcnZhYmxlPE9wdGljPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8T3B0aWM+KGAke3RoaXMudXJsfS8ke29wdGljSWR9YCk7XG4gIH1cblxuICBjcmVhdGVPcHRpYyhvcHRpYzogT3B0aWMpOiBPYnNlcnZhYmxlPE9wdGljPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PE9wdGljPih0aGlzLnVybCwgb3B0aWMpO1xuICB9XG5cbiAgdXBkYXRlT3B0aWMob3B0aWNJZDogbnVtYmVyLCBvcHRpYzogT3B0aWMpOiBPYnNlcnZhYmxlPE9wdGljPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8T3B0aWM+KGAke3RoaXMudXJsfS8ke29wdGljSWR9YCwgb3B0aWMpO1xuICB9XG5cbiAgZGVsZXRlT3B0aWMob3B0aWNJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShgJHt0aGlzLnVybH0vJHtvcHRpY0lkfWApO1xuICB9XG5cbiAgcmVhZE9wdGljUmVwb3J0KCk6IE9ic2VydmFibGU8T3B0aWNSZXBvcnRJdGVtW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxPcHRpY1JlcG9ydEl0ZW1bXT4oYCR7dGhpcy51cmx9L3JlcG9ydGApO1xuICB9XG59XG4iXX0=
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aWMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2d1bnNtaXRoLWNvbW1vbi9zcmMvc2hhcmVkL3NlcnZpY2VzL29wdGljLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR2xELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBSzdDLE1BQU0sT0FBTyxZQUFhLFNBQVEsV0FBa0I7SUFFbEQsWUFDWSxJQUFnQixFQUNILEdBQVE7UUFFL0IsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBSEYsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNILFFBQUcsR0FBSCxHQUFHLENBQUs7UUFHL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLFlBQVksQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBb0IsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7OzBHQVpVLFlBQVksNENBSWIsS0FBSzs4R0FKSixZQUFZLGNBRlgsTUFBTTs0RkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBS0ksTUFBTTsyQkFBQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgT3B0aWMsIE9wdGljUmVwb3J0SXRlbSB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IEJhc2VTZXJ2aWNlIH0gZnJvbSAnLi9iYXNlLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBPcHRpY1NlcnZpY2UgZXh0ZW5kcyBCYXNlU2VydmljZTxPcHRpYz4ge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LFxuICAgIEBJbmplY3QoJ2VudicpIHByaXZhdGUgZW52OiBhbnlcbiAgKSB7XG4gICAgc3VwZXIoaHR0cCk7XG4gICAgdGhpcy51cmxTZWdtZW50cyA9IFtgJHt0aGlzLmVudi5iYXNlVXJsfWFwaS9vcHRpY3NgXTtcbiAgfVxuXG4gIHJlYWRPcHRpY1JlcG9ydCgpOiBPYnNlcnZhYmxlPE9wdGljUmVwb3J0SXRlbVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8T3B0aWNSZXBvcnRJdGVtW10+KGAke3RoaXMuZ2V0VXJsKCl9L3JlcG9ydGApO1xuICB9XG59XG4iXX0=
@@ -3,4 +3,4 @@ export class Firearm {
3
3
  this.active = true;
4
4
  }
5
5
  }
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWFybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2d1bnNtaXRoLWNvbW1vbi9zcmMvc2hhcmVkL3R5cGVzL2ZpcmVhcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFPLE9BQU87SUFBcEI7UUFLRSxXQUFNLEdBQUcsSUFBSSxDQUFDO0lBRWhCLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpcmVhcm1TZXJpZXMgfSBmcm9tICcuL2ZpcmVhcm0tc2VyaWVzJztcbmltcG9ydCB7IE1hdGVyaWFsIH0gZnJvbSAnLi9tYXRlcmlhbCc7XG5cbmV4cG9ydCBjbGFzcyBGaXJlYXJtIHtcbiAgaWQ6IG51bWJlcjtcbiAgbmFtZTogc3RyaW5nO1xuICBtYXRlcmlhbDogTWF0ZXJpYWw7XG4gIGZpcmVhcm1TZXJpZXM6IEZpcmVhcm1TZXJpZXM7XG4gIGFjdGl2ZSA9IHRydWU7XG4gIHRpbWVzdGFtcDogc3RyaW5nO1xufVxuIl19
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWFybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2d1bnNtaXRoLWNvbW1vbi9zcmMvc2hhcmVkL3R5cGVzL2ZpcmVhcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLE9BQU87SUFBcEI7UUFJRSxXQUFNLEdBQUcsSUFBSSxDQUFDO0lBRWhCLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hdGVyaWFsIH0gZnJvbSAnLi9tYXRlcmlhbCc7XG5cbmV4cG9ydCBjbGFzcyBGaXJlYXJtIHtcbiAgaWQ6IG51bWJlcjtcbiAgbmFtZTogc3RyaW5nO1xuICBtYXRlcmlhbDogTWF0ZXJpYWw7XG4gIGFjdGl2ZSA9IHRydWU7XG4gIHRpbWVzdGFtcDogc3RyaW5nO1xufVxuIl19
@@ -35,8 +35,6 @@ export * from './mount-type';
35
35
  export * from './sight-type-enum';
36
36
  export * from './milling-detail';
37
37
  export * from './rear-sight-position';
38
- export * from './firearm-series';
39
- export * from './firearm-series-optic';
40
38
  export * from './frame-material';
41
39
  export * from './milling-type';
42
40
  export * from './milling-item';
@@ -77,4 +75,4 @@ export * from './simple-type';
77
75
  export * from './firearm-optic';
78
76
  export * from './optic-sight';
79
77
  export * from './slide-addon';
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ndW5zbWl0aC1jb21tb24vc3JjL3NoYXJlZC90eXBlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb25maWd1cmF0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vY3VzdG9tZXInO1xuZXhwb3J0ICogZnJvbSAnLi9kZWFsZXInO1xuZXhwb3J0ICogZnJvbSAnLi9kZWFsZXItY29udGFjdCc7XG5leHBvcnQgKiBmcm9tICcuL2RlYWxlci1jb3Vwb24nO1xuZXhwb3J0ICogZnJvbSAnLi9maWx0ZXItb3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2d1bi1jYWxpYmVyJztcbmV4cG9ydCAqIGZyb20gJy4vZmlyZWFybSc7XG5leHBvcnQgKiBmcm9tICcuL2d1bi1wYXJ0JztcbmV4cG9ydCAqIGZyb20gJy4vdmVuZG9yJztcbmV4cG9ydCAqIGZyb20gJy4vdmVuZG9yLWNvbnRhY3QnO1xuZXhwb3J0ICogZnJvbSAnLi9zdGF0ZSc7XG5leHBvcnQgKiBmcm9tICcuL3dhaXRsaXN0LWFjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL3dhaXRsaXN0LWd1bic7XG5leHBvcnQgKiBmcm9tICcuL3dhaXRsaXN0LWhpc3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi93YWl0bGlzdC1pdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vd2FpdGxpc3Qtc3RhdHVzJztcbmV4cG9ydCAqIGZyb20gJy4vd29yay1jaGFuZ2Utb3JkZXInO1xuZXhwb3J0ICogZnJvbSAnLi93b3JrLWhvbGlkYXknO1xuZXhwb3J0ICogZnJvbSAnLi93b3JrLW9yZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vd29yay1vcmRlci1oaXN0b3J5JztcbmV4cG9ydCAqIGZyb20gJy4vd29yay1vcmRlci1zdGF0dXMnO1xuZXhwb3J0ICogZnJvbSAnLi93b3JrLW9yZGVyLXR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9yZWZpbmlzaC1kZXRhaWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jb2F0aW5nJztcbmV4cG9ydCAqIGZyb20gJy4vY29hdGluZy12YWx1ZSc7XG5leHBvcnQgKiBmcm9tICcuL3dvcmstb3JkZXItYWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vb3B0aWMnO1xuZXhwb3J0ICogZnJvbSAnLi9vcHRpYyc7XG5leHBvcnQgKiBmcm9tICcuL29wdGljLXN0YXR1cyc7XG5leHBvcnQgKiBmcm9tICcuL3Byb2R1Y3QnO1xuZXhwb3J0ICogZnJvbSAnLi9idW5kbGUtaXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL2NoYW5nZS1vcmRlci1zdGF0dXMnO1xuZXhwb3J0ICogZnJvbSAnLi9tb3VudC10eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vc2lnaHQtdHlwZS1lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbWlsbGluZy1kZXRhaWwnO1xuZXhwb3J0ICogZnJvbSAnLi9yZWFyLXNpZ2h0LXBvc2l0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vZmlyZWFybS1zZXJpZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9maXJlYXJtLXNlcmllcy1vcHRpYyc7XG5leHBvcnQgKiBmcm9tICcuL2ZyYW1lLW1hdGVyaWFsJztcbmV4cG9ydCAqIGZyb20gJy4vbWlsbGluZy10eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbWlsbGluZy1pdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vd29yay1vcmRlci1yZWZpbmlzaC1pdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vcHVyY2hhc2Utb3JkZXItcmVmaW5pc2gtaXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL21hdGVyaWFsJztcbmV4cG9ydCAqIGZyb20gJy4vcHVyY2hhc2Utb3JkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9wdXJjaGFzZS1vcmRlci1zdGF0dXMnO1xuZXhwb3J0ICogZnJvbSAnLi9yZXBvcnQtbWlsbGluZy1pdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vcHJvamVjdC10eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vcmVwb3J0LXJlZmluaXNoLWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi90b3RhbCc7XG5leHBvcnQgKiBmcm9tICcuL3RvdGFsLWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi9pbnZlbnRvcnktaXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL2otZmlsZSc7XG5leHBvcnQgKiBmcm9tICcuL2d1bi1wYXJ0LW9wdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL3NoaWVsZC1ybXMtb3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL3BhY2thZ2UtaXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL3BhY2thZ2UnO1xuZXhwb3J0ICogZnJvbSAnLi9wYWNrYWdlLW9wdGlvbmFsLWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi9wYWNrYWdlLXZhcmlhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL3BhY2thZ2UtdmFyaWF0aW9uLW9wdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL3dhaXRsaXN0LWd1bi1wYWNrYWdlLWRldGFpbCc7XG5leHBvcnQgKiBmcm9tICcuL3dvcmstb3JkZXItcGFja2FnZS1kZXRhaWwnO1xuZXhwb3J0ICogZnJvbSAnLi9wYWNrYWdlLXRvdGFsJztcbmV4cG9ydCAqIGZyb20gJy4vd29yay1vcmRlci1pbnZlbnRvcnktaXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL3JlZmluaXNoLWNvZGUnO1xuZXhwb3J0ICogZnJvbSAnLi93b3JrLW9yZGVyLWxpc3QtaXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL3dvcmstb3JkZXItc2hpcHBpbmctaXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL3dvcmstb3JkZXItZGlzY291bnQnO1xuZXhwb3J0ICogZnJvbSAnLi93b3JrLW9yZGVyLW5vbi1pbnZlbnRvcnktaXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL2NoYW5nZS1vcmRlci1wYWNrYWdlLWRldGFpbCc7XG5leHBvcnQgKiBmcm9tICcuL29wdGljLXJlcG9ydC1pdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vc2lnaHQnO1xuZXhwb3J0ICogZnJvbSAnLi9zaWdodC10eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vc2lnaHQtbWF0ZXJpYWwtdHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3NpbXBsZS10eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vZmlyZWFybS1vcHRpYyc7XG5leHBvcnQgKiBmcm9tICcuL29wdGljLXNpZ2h0JztcbmV4cG9ydCAqIGZyb20gJy4vc2xpZGUtYWRkb24nO1xuIl19
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ndW5zbWl0aC1jb21tb24vc3JjL3NoYXJlZC90eXBlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbmZpZ3VyYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9jdXN0b21lcic7XG5leHBvcnQgKiBmcm9tICcuL2RlYWxlcic7XG5leHBvcnQgKiBmcm9tICcuL2RlYWxlci1jb250YWN0JztcbmV4cG9ydCAqIGZyb20gJy4vZGVhbGVyLWNvdXBvbic7XG5leHBvcnQgKiBmcm9tICcuL2ZpbHRlci1vcHRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vZ3VuLWNhbGliZXInO1xuZXhwb3J0ICogZnJvbSAnLi9maXJlYXJtJztcbmV4cG9ydCAqIGZyb20gJy4vZ3VuLXBhcnQnO1xuZXhwb3J0ICogZnJvbSAnLi92ZW5kb3InO1xuZXhwb3J0ICogZnJvbSAnLi92ZW5kb3ItY29udGFjdCc7XG5leHBvcnQgKiBmcm9tICcuL3N0YXRlJztcbmV4cG9ydCAqIGZyb20gJy4vd2FpdGxpc3QtYWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vd2FpdGxpc3QtZ3VuJztcbmV4cG9ydCAqIGZyb20gJy4vd2FpdGxpc3QtaGlzdG9yeSc7XG5leHBvcnQgKiBmcm9tICcuL3dhaXRsaXN0LWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi93YWl0bGlzdC1zdGF0dXMnO1xuZXhwb3J0ICogZnJvbSAnLi93b3JrLWNoYW5nZS1vcmRlcic7XG5leHBvcnQgKiBmcm9tICcuL3dvcmstaG9saWRheSc7XG5leHBvcnQgKiBmcm9tICcuL3dvcmstb3JkZXInO1xuZXhwb3J0ICogZnJvbSAnLi93b3JrLW9yZGVyLWhpc3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi93b3JrLW9yZGVyLXN0YXR1cyc7XG5leHBvcnQgKiBmcm9tICcuL3dvcmstb3JkZXItdHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3JlZmluaXNoLWRldGFpbCc7XG5leHBvcnQgKiBmcm9tICcuL2NvYXRpbmcnO1xuZXhwb3J0ICogZnJvbSAnLi9jb2F0aW5nLXZhbHVlJztcbmV4cG9ydCAqIGZyb20gJy4vd29yay1vcmRlci1hY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9vcHRpYyc7XG5leHBvcnQgKiBmcm9tICcuL29wdGljJztcbmV4cG9ydCAqIGZyb20gJy4vb3B0aWMtc3RhdHVzJztcbmV4cG9ydCAqIGZyb20gJy4vcHJvZHVjdCc7XG5leHBvcnQgKiBmcm9tICcuL2J1bmRsZS1pdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vY2hhbmdlLW9yZGVyLXN0YXR1cyc7XG5leHBvcnQgKiBmcm9tICcuL21vdW50LXR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zaWdodC10eXBlLWVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9taWxsaW5nLWRldGFpbCc7XG5leHBvcnQgKiBmcm9tICcuL3JlYXItc2lnaHQtcG9zaXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9mcmFtZS1tYXRlcmlhbCc7XG5leHBvcnQgKiBmcm9tICcuL21pbGxpbmctdHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL21pbGxpbmctaXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL3dvcmstb3JkZXItcmVmaW5pc2gtaXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL3B1cmNoYXNlLW9yZGVyLXJlZmluaXNoLWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi9tYXRlcmlhbCc7XG5leHBvcnQgKiBmcm9tICcuL3B1cmNoYXNlLW9yZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vcHVyY2hhc2Utb3JkZXItc3RhdHVzJztcbmV4cG9ydCAqIGZyb20gJy4vcmVwb3J0LW1pbGxpbmctaXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL3Byb2plY3QtdHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3JlcG9ydC1yZWZpbmlzaC1pdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vdG90YWwnO1xuZXhwb3J0ICogZnJvbSAnLi90b3RhbC1pdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vaW52ZW50b3J5LWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi9qLWZpbGUnO1xuZXhwb3J0ICogZnJvbSAnLi9ndW4tcGFydC1vcHRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9zaGllbGQtcm1zLW9wdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9wYWNrYWdlLWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi9wYWNrYWdlJztcbmV4cG9ydCAqIGZyb20gJy4vcGFja2FnZS1vcHRpb25hbC1pdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vcGFja2FnZS12YXJpYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9wYWNrYWdlLXZhcmlhdGlvbi1vcHRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi93YWl0bGlzdC1ndW4tcGFja2FnZS1kZXRhaWwnO1xuZXhwb3J0ICogZnJvbSAnLi93b3JrLW9yZGVyLXBhY2thZ2UtZGV0YWlsJztcbmV4cG9ydCAqIGZyb20gJy4vcGFja2FnZS10b3RhbCc7XG5leHBvcnQgKiBmcm9tICcuL3dvcmstb3JkZXItaW52ZW50b3J5LWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi9yZWZpbmlzaC1jb2RlJztcbmV4cG9ydCAqIGZyb20gJy4vd29yay1vcmRlci1saXN0LWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi93b3JrLW9yZGVyLXNoaXBwaW5nLWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi93b3JrLW9yZGVyLWRpc2NvdW50JztcbmV4cG9ydCAqIGZyb20gJy4vd29yay1vcmRlci1ub24taW52ZW50b3J5LWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi9jaGFuZ2Utb3JkZXItcGFja2FnZS1kZXRhaWwnO1xuZXhwb3J0ICogZnJvbSAnLi9vcHRpYy1yZXBvcnQtaXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL3NpZ2h0JztcbmV4cG9ydCAqIGZyb20gJy4vc2lnaHQtdHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3NpZ2h0LW1hdGVyaWFsLXR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zaW1wbGUtdHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2ZpcmVhcm0tb3B0aWMnO1xuZXhwb3J0ICogZnJvbSAnLi9vcHRpYy1zaWdodCc7XG5leHBvcnQgKiBmcm9tICcuL3NsaWRlLWFkZG9uJztcbiJdfQ==
@@ -3,4 +3,4 @@ export class MillingItem {
3
3
  this.opticPulled = false;
4
4
  }
5
5
  }
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlsbGluZy1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3Vuc21pdGgtY29tbW9uL3NyYy9zaGFyZWQvdHlwZXMvbWlsbGluZy1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE1BQU0sT0FBTyxXQUFXO0lBQXhCO1FBS0UsZ0JBQVcsR0FBRyxLQUFLLENBQUM7SUFTdEIsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWlsbGluZ1R5cGUgfSBmcm9tICcuL21pbGxpbmctdHlwZSc7XG5pbXBvcnQgeyBPcHRpY1N0YXR1cyB9IGZyb20gJy4vb3B0aWMtc3RhdHVzJztcbmltcG9ydCB7IFJlYXJTaWdodFBvc2l0aW9uIH0gZnJvbSAnLi9yZWFyLXNpZ2h0LXBvc2l0aW9uJztcbmltcG9ydCB7IFNoaWVsZFJNU09wdGlvbnMgfSBmcm9tICcuL3NoaWVsZC1ybXMtb3B0aW9ucyc7XG5pbXBvcnQgeyBTaWdodFR5cGUgfSBmcm9tICcuL3NpZ2h0LXR5cGUnO1xuXG5leHBvcnQgY2xhc3MgTWlsbGluZ0l0ZW0ge1xuICBpZDogbnVtYmVyO1xuICBtaWxsaW5nVHlwZTogTWlsbGluZ1R5cGU7XG4gIG9wdGljSWQ6IG51bWJlcjtcbiAgb3B0aWNOYW1lOiBzdHJpbmc7XG4gIG9wdGljUHVsbGVkID0gZmFsc2U7XG4gIG9wdGljU3RhdHVzOiBPcHRpY1N0YXR1cztcbiAgZnJvbnRTaWdodFR5cGU6IFNpZ2h0VHlwZTtcbiAgcmVhclNpZ2h0VHlwZTogU2lnaHRUeXBlO1xuICByZWFyU2lnaHRQb3NpdGlvbjogUmVhclNpZ2h0UG9zaXRpb247XG4gIHNoaWVsZFJNU09wdGlvbnM6IFNoaWVsZFJNU09wdGlvbnM7XG4gIG5vdGVzOiBzdHJpbmc7XG4gIGNvbXBsZXRlZERhdGU6IERhdGU7XG4gIHRpbWVzdGFtcDogc3RyaW5nO1xufVxuIl19
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlsbGluZy1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3Vuc21pdGgtY29tbW9uL3NyYy9zaGFyZWQvdHlwZXMvbWlsbGluZy1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE1BQU0sT0FBTyxXQUFXO0lBQXhCO1FBTUUsZ0JBQVcsR0FBRyxLQUFLLENBQUM7SUFTdEIsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmlyZWFybU9wdGljIH0gZnJvbSAnLi9maXJlYXJtLW9wdGljJztcbmltcG9ydCB7IE1pbGxpbmdUeXBlIH0gZnJvbSAnLi9taWxsaW5nLXR5cGUnO1xuaW1wb3J0IHsgT3B0aWNTaWdodCB9IGZyb20gJy4vb3B0aWMtc2lnaHQnO1xuaW1wb3J0IHsgT3B0aWNTdGF0dXMgfSBmcm9tICcuL29wdGljLXN0YXR1cyc7XG5pbXBvcnQgeyBSZWFyU2lnaHRQb3NpdGlvbiB9IGZyb20gJy4vcmVhci1zaWdodC1wb3NpdGlvbic7XG5pbXBvcnQgeyBTaGllbGRSTVNPcHRpb25zIH0gZnJvbSAnLi9zaGllbGQtcm1zLW9wdGlvbnMnO1xuaW1wb3J0IHsgU2lnaHRUeXBlIH0gZnJvbSAnLi9zaWdodC10eXBlJztcblxuZXhwb3J0IGNsYXNzIE1pbGxpbmdJdGVtIHtcbiAgaWQ6IG51bWJlcjtcbiAgbWlsbGluZ1R5cGU6IE1pbGxpbmdUeXBlO1xuICBmaXJlYXJtT3B0aWM6IEZpcmVhcm1PcHRpYztcbiAgZnJvbnRTaWdodDogT3B0aWNTaWdodDtcbiAgcmVhclNpZ2h0OiBPcHRpY1NpZ2h0O1xuICBvcHRpY1B1bGxlZCA9IGZhbHNlO1xuICBvcHRpY1N0YXR1czogT3B0aWNTdGF0dXM7XG4gIGZyb250U2lnaHRUeXBlOiBTaWdodFR5cGU7XG4gIHJlYXJTaWdodFR5cGU6IFNpZ2h0VHlwZTtcbiAgcmVhclNpZ2h0UG9zaXRpb246IFJlYXJTaWdodFBvc2l0aW9uO1xuICBzaGllbGRSTVNPcHRpb25zOiBTaGllbGRSTVNPcHRpb25zO1xuICBub3Rlczogc3RyaW5nO1xuICBjb21wbGV0ZWREYXRlOiBEYXRlO1xuICB0aW1lc3RhbXA6IHN0cmluZztcbn1cbiJdfQ==
@@ -3,4 +3,4 @@ export class Sight {
3
3
  this.active = true;
4
4
  }
5
5
  }
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnaHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ndW5zbWl0aC1jb21tb24vc3JjL3NoYXJlZC90eXBlcy9zaWdodC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sS0FBSztJQUFsQjtRQVlFLFdBQU0sR0FBRyxJQUFJLENBQUM7SUFFaEIsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFNpZ2h0IHtcbiAgaWQ6IG51bWJlcjtcbiAgbmFtZTogc3RyaW5nO1xuICBzaWdodFR5cGVJZDogbnVtYmVyO1xuICBzaWdodFR5cGVOYW1lOiBzdHJpbmc7XG4gIGludmVudG9yeUl0ZW1JZDogbnVtYmVyO1xuICBpbnZlbnRvcnlJdGVtU2t1OiBzdHJpbmc7XG4gIGludmVudG9yeUl0ZW1OYW1lOiBzdHJpbmc7XG4gIGludmVudG9yeUl0ZW1JbWFnZVVybDogc3RyaW5nO1xuICBwcmljZTogbnVtYmVyO1xuICBzaWdodE1hdGVyaWFsVHlwZUlkOiBudW1iZXI7XG4gIHNpZ2h0TWF0ZXJpYWxUeXBlTmFtZTogc3RyaW5nO1xuICBhY3RpdmUgPSB0cnVlO1xuICB0aW1lc3RhbXA6IHN0cmluZztcbn1cbiJdfQ==
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnaHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ndW5zbWl0aC1jb21tb24vc3JjL3NoYXJlZC90eXBlcy9zaWdodC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sS0FBSztJQUFsQjtRQVlFLFdBQU0sR0FBRyxJQUFJLENBQUM7SUFFaEIsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFNpZ2h0IHtcbiAgaWQ6IG51bWJlcjtcbiAgbmFtZTogc3RyaW5nO1xuICBzaWdodFR5cGVJZDogbnVtYmVyO1xuICBzaWdodFR5cGVOYW1lOiBzdHJpbmc7XG4gIGludmVudG9yeUl0ZW1JZDogbnVtYmVyO1xuICBpbnZlbnRvcnlJdGVtU2t1OiBzdHJpbmc7XG4gIGludmVudG9yeUl0ZW1OYW1lOiBzdHJpbmc7XG4gIGltYWdlVXJsOiBzdHJpbmc7XG4gIHByaWNlOiBudW1iZXI7XG4gIHNpZ2h0TWF0ZXJpYWxUeXBlSWQ6IG51bWJlcjtcbiAgc2lnaHRNYXRlcmlhbFR5cGVOYW1lOiBzdHJpbmc7XG4gIGFjdGl2ZSA9IHRydWU7XG4gIHRpbWVzdGFtcDogc3RyaW5nO1xufVxuIl19
@@ -10,9 +10,11 @@ export class WorkOrder {
10
10
  this.logo = false;
11
11
  this.milling = false;
12
12
  this.specialOrder = false;
13
+ this.slideAddons = [];
14
+ this.sights = [];
13
15
  this.projectType = ProjectType.Firearm;
14
16
  this.status = WorkOrderStatus.InShop;
15
17
  this.histories = [];
16
18
  }
17
19
  }
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29yay1vcmRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2d1bnNtaXRoLWNvbW1vbi9zcmMvc2hhcmVkL3R5cGVzL3dvcmstb3JkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUlsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHN0MsTUFBTSxPQUFPLFNBQVM7SUFDcEI7UUFFQSxPQUFFLEdBQUcsQ0FBQyxDQUFDO1FBS1AsaUJBQVksR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBRzFCLGtCQUFhLEdBQWtCLGFBQWEsQ0FBQyxRQUFRLENBQUM7UUFDdEQsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixTQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2IsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUlyQixnQkFBVyxHQUFnQixXQUFXLENBQUMsT0FBTyxDQUFDO1FBQy9DLFdBQU0sR0FBb0IsZUFBZSxDQUFDLE1BQU0sQ0FBQztRQUVqRCxjQUFTLEdBQXVCLEVBQUUsQ0FBQztJQXJCbkIsQ0FBQztDQXdCbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBXb3JrT3JkZXJTdGF0dXMgfSBmcm9tIFwiLi93b3JrLW9yZGVyLXN0YXR1c1wiO1xuaW1wb3J0IHsgV29ya09yZGVySGlzdG9yeSB9IGZyb20gJy4vd29yay1vcmRlci1oaXN0b3J5JztcbmltcG9ydCB7IFdvcmtPcmRlclR5cGUgfSBmcm9tIFwiLi93b3JrLW9yZGVyLXR5cGVcIjtcbmltcG9ydCB7IEN1c3RvbWVyIH0gZnJvbSBcIi4vY3VzdG9tZXJcIjtcbmltcG9ydCB7IEZpcmVhcm0gfSBmcm9tICcuL2ZpcmVhcm0nO1xuaW1wb3J0IHsgR3VuQ2FsaWJlciB9IGZyb20gJy4vZ3VuLWNhbGliZXInO1xuaW1wb3J0IHsgUHJvamVjdFR5cGUgfSBmcm9tICcuL3Byb2plY3QtdHlwZSc7XG5pbXBvcnQgeyBXb3JrT3JkZXJQYWNrYWdlRGV0YWlsIH0gZnJvbSBcIi4vd29yay1vcmRlci1wYWNrYWdlLWRldGFpbFwiO1xuXG5leHBvcnQgY2xhc3MgV29ya09yZGVyIHtcbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBpZCA9IDA7XG4gIGN1c3RvbWVyOiBDdXN0b21lcjtcbiAgZmlyZWFybTogRmlyZWFybTtcbiAgc2VyaWFsTnVtYmVyOiBzdHJpbmc7XG4gIGNhbGliZXI6IEd1bkNhbGliZXI7XG4gIHJlY2VpdmVkRGF0ZSA9IG5ldyBEYXRlKCk7XG4gIGVzdGltYXRlZEZpbmlzaERhdGU6IERhdGU7XG4gIGxhc3RTdGF0dXNEYXRlOiBEYXRlO1xuICB3b3JrT3JkZXJUeXBlOiBXb3JrT3JkZXJUeXBlID0gV29ya09yZGVyVHlwZS5TdGFuZGFyZDtcbiAgcmVmaW5pc2ggPSBmYWxzZTtcbiAgbG9nbyA9IGZhbHNlO1xuICBtaWxsaW5nID0gZmFsc2U7XG4gIHNwZWNpYWxPcmRlciA9IGZhbHNlO1xuICBjb25kaXRpb246IHN0cmluZztcbiAgd29ya0Rlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIHNoaXBtZW50SW5mbzogc3RyaW5nO1xuICBwcm9qZWN0VHlwZTogUHJvamVjdFR5cGUgPSBQcm9qZWN0VHlwZS5GaXJlYXJtO1xuICBzdGF0dXM6IFdvcmtPcmRlclN0YXR1cyA9IFdvcmtPcmRlclN0YXR1cy5JblNob3A7XG4gIHBhY2thZ2VEZXRhaWw6IFdvcmtPcmRlclBhY2thZ2VEZXRhaWw7XG4gIGhpc3RvcmllczogV29ya09yZGVySGlzdG9yeVtdID0gW107XG4gIG5vdGVzOiBzdHJpbmc7XG4gIHRpbWVzdGFtcDogc3RyaW5nO1xufVxuIl19
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29yay1vcmRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2d1bnNtaXRoLWNvbW1vbi9zcmMvc2hhcmVkL3R5cGVzL3dvcmstb3JkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUlsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLN0MsTUFBTSxPQUFPLFNBQVM7SUFDcEI7UUFFQSxPQUFFLEdBQUcsQ0FBQyxDQUFDO1FBS1AsaUJBQVksR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBRzFCLGtCQUFhLEdBQWtCLGFBQWEsQ0FBQyxRQUFRLENBQUM7UUFDdEQsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixTQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2IsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUlyQixnQkFBVyxHQUFpQixFQUFFLENBQUM7UUFDL0IsV0FBTSxHQUFZLEVBQUUsQ0FBQztRQUNyQixnQkFBVyxHQUFnQixXQUFXLENBQUMsT0FBTyxDQUFDO1FBQy9DLFdBQU0sR0FBb0IsZUFBZSxDQUFDLE1BQU0sQ0FBQztRQUVqRCxjQUFTLEdBQXVCLEVBQUUsQ0FBQztJQXZCcEIsQ0FBQztDQTBCakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBXb3JrT3JkZXJTdGF0dXMgfSBmcm9tIFwiLi93b3JrLW9yZGVyLXN0YXR1c1wiO1xuaW1wb3J0IHsgV29ya09yZGVySGlzdG9yeSB9IGZyb20gJy4vd29yay1vcmRlci1oaXN0b3J5JztcbmltcG9ydCB7IFdvcmtPcmRlclR5cGUgfSBmcm9tIFwiLi93b3JrLW9yZGVyLXR5cGVcIjtcbmltcG9ydCB7IEN1c3RvbWVyIH0gZnJvbSBcIi4vY3VzdG9tZXJcIjtcbmltcG9ydCB7IEZpcmVhcm0gfSBmcm9tICcuL2ZpcmVhcm0nO1xuaW1wb3J0IHsgR3VuQ2FsaWJlciB9IGZyb20gJy4vZ3VuLWNhbGliZXInO1xuaW1wb3J0IHsgUHJvamVjdFR5cGUgfSBmcm9tICcuL3Byb2plY3QtdHlwZSc7XG5pbXBvcnQgeyBXb3JrT3JkZXJQYWNrYWdlRGV0YWlsIH0gZnJvbSBcIi4vd29yay1vcmRlci1wYWNrYWdlLWRldGFpbFwiO1xuaW1wb3J0IHsgU2xpZGVBZGRvbiB9IGZyb20gXCIuL3NsaWRlLWFkZG9uXCI7XG5pbXBvcnQgeyBTaWdodCB9IGZyb20gXCIuL3NpZ2h0XCI7XG5cbmV4cG9ydCBjbGFzcyBXb3JrT3JkZXIge1xuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgaWQgPSAwO1xuICBjdXN0b21lcjogQ3VzdG9tZXI7XG4gIGZpcmVhcm06IEZpcmVhcm07XG4gIHNlcmlhbE51bWJlcjogc3RyaW5nO1xuICBjYWxpYmVyOiBHdW5DYWxpYmVyO1xuICByZWNlaXZlZERhdGUgPSBuZXcgRGF0ZSgpO1xuICBlc3RpbWF0ZWRGaW5pc2hEYXRlOiBEYXRlO1xuICBsYXN0U3RhdHVzRGF0ZTogRGF0ZTtcbiAgd29ya09yZGVyVHlwZTogV29ya09yZGVyVHlwZSA9IFdvcmtPcmRlclR5cGUuU3RhbmRhcmQ7XG4gIHJlZmluaXNoID0gZmFsc2U7XG4gIGxvZ28gPSBmYWxzZTtcbiAgbWlsbGluZyA9IGZhbHNlO1xuICBzcGVjaWFsT3JkZXIgPSBmYWxzZTtcbiAgY29uZGl0aW9uOiBzdHJpbmc7XG4gIHdvcmtEZXNjcmlwdGlvbjogc3RyaW5nO1xuICBzaGlwbWVudEluZm86IHN0cmluZztcbiAgc2xpZGVBZGRvbnM6IFNsaWRlQWRkb25bXSA9IFtdO1xuICBzaWdodHM6IFNpZ2h0W10gPSBbXTtcbiAgcHJvamVjdFR5cGU6IFByb2plY3RUeXBlID0gUHJvamVjdFR5cGUuRmlyZWFybTtcbiAgc3RhdHVzOiBXb3JrT3JkZXJTdGF0dXMgPSBXb3JrT3JkZXJTdGF0dXMuSW5TaG9wO1xuICBwYWNrYWdlRGV0YWlsOiBXb3JrT3JkZXJQYWNrYWdlRGV0YWlsO1xuICBoaXN0b3JpZXM6IFdvcmtPcmRlckhpc3RvcnlbXSA9IFtdO1xuICBub3Rlczogc3RyaW5nO1xuICB0aW1lc3RhbXA6IHN0cmluZztcbn1cbiJdfQ==