@vendure/admin-ui 1.0.0-beta.9 → 1.0.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.
- package/bundles/vendure-admin-ui-catalog.umd.js +37 -17
- package/bundles/vendure-admin-ui-catalog.umd.js.map +1 -1
- package/bundles/vendure-admin-ui-catalog.umd.min.js +2 -2
- package/bundles/vendure-admin-ui-catalog.umd.min.js.map +1 -1
- package/bundles/vendure-admin-ui-core.umd.js +233 -38
- package/bundles/vendure-admin-ui-core.umd.js.map +1 -1
- package/bundles/vendure-admin-ui-core.umd.min.js +2 -2
- package/bundles/vendure-admin-ui-core.umd.min.js.map +1 -1
- package/bundles/vendure-admin-ui-customer.umd.js +8 -6
- package/bundles/vendure-admin-ui-customer.umd.js.map +1 -1
- package/bundles/vendure-admin-ui-customer.umd.min.js +2 -2
- package/bundles/vendure-admin-ui-customer.umd.min.js.map +1 -1
- package/bundles/vendure-admin-ui-order.umd.js +113 -39
- package/bundles/vendure-admin-ui-order.umd.js.map +1 -1
- package/bundles/vendure-admin-ui-order.umd.min.js +2 -2
- package/bundles/vendure-admin-ui-order.umd.min.js.map +1 -1
- package/bundles/vendure-admin-ui-settings.umd.js +71 -46
- package/bundles/vendure-admin-ui-settings.umd.js.map +1 -1
- package/bundles/vendure-admin-ui-settings.umd.min.js +2 -2
- package/bundles/vendure-admin-ui-settings.umd.min.js.map +1 -1
- package/bundles/vendure-admin-ui-system.umd.js +1 -1
- package/bundles/vendure-admin-ui-system.umd.js.map +1 -1
- package/bundles/vendure-admin-ui-system.umd.min.js +1 -1
- package/bundles/vendure-admin-ui-system.umd.min.js.map +1 -1
- package/catalog/components/collection-detail/collection-detail.component.d.ts +2 -1
- package/catalog/components/facet-detail/facet-detail.component.d.ts +2 -1
- package/catalog/components/product-assets/product-assets.component.d.ts +7 -2
- package/catalog/components/product-variants-list/product-variants-list.component.d.ts +2 -1
- package/catalog/components/product-variants-table/product-variants-table.component.d.ts +2 -1
- package/catalog/vendure-admin-ui-catalog.metadata.json +1 -1
- package/core/common/generated-types.d.ts +242 -148
- package/core/common/version.d.ts +1 -1
- package/core/components/main-nav/main-nav.component.d.ts +1 -1
- package/core/shared/components/channel-assignment-control/channel-assignment-control.component.d.ts +3 -2
- package/core/shared/components/product-selector/product-selector.component.d.ts +1 -1
- package/core/shared/pipes/has-permission.pipe.d.ts +3 -2
- package/core/vendure-admin-ui-core.metadata.json +1 -1
- package/customer/components/address-card/address-card.component.d.ts +1 -0
- package/customer/vendure-admin-ui-customer.metadata.json +1 -1
- package/esm2015/catalog/components/asset-detail/asset-detail.component.js +2 -2
- package/esm2015/catalog/components/asset-list/asset-list.component.js +2 -2
- package/esm2015/catalog/components/collection-detail/collection-detail.component.js +4 -3
- package/esm2015/catalog/components/collection-list/collection-list.component.js +2 -2
- package/esm2015/catalog/components/collection-tree/collection-tree-node.component.js +5 -6
- package/esm2015/catalog/components/facet-detail/facet-detail.component.js +4 -3
- package/esm2015/catalog/components/facet-list/facet-list.component.js +2 -2
- package/esm2015/catalog/components/product-assets/product-assets.component.js +19 -6
- package/esm2015/catalog/components/product-detail/product-detail.component.js +2 -2
- package/esm2015/catalog/components/product-list/product-list.component.js +2 -2
- package/esm2015/catalog/components/product-variants-list/product-variants-list.component.js +4 -3
- package/esm2015/catalog/components/product-variants-table/product-variants-table.component.js +4 -2
- package/esm2015/catalog/components/update-product-option-dialog/update-product-option-dialog.component.js +2 -2
- package/esm2015/core/common/generated-types.js +123 -9
- package/esm2015/core/common/utilities/configurable-operation-utils.js +1 -1
- package/esm2015/core/common/version.js +2 -2
- package/esm2015/core/components/main-nav/main-nav.component.js +36 -9
- package/esm2015/core/data/definitions/order-definitions.js +11 -1
- package/esm2015/core/data/definitions/product-definitions.js +696 -697
- package/esm2015/core/shared/components/asset-preview/asset-preview.component.js +2 -2
- package/esm2015/core/shared/components/channel-assignment-control/channel-assignment-control.component.js +25 -7
- package/esm2015/core/shared/components/dropdown/dropdown-menu.component.js +13 -10
- package/esm2015/core/shared/directives/if-permissions.directive.js +4 -4
- package/esm2015/core/shared/dynamic-form-inputs/dynamic-form-input/dynamic-form-input.component.js +2 -2
- package/esm2015/core/shared/pipes/has-permission.pipe.js +16 -6
- package/esm2015/customer/components/address-card/address-card.component.js +4 -2
- package/esm2015/customer/components/customer-detail/customer-detail.component.js +2 -2
- package/esm2015/customer/components/customer-group-detail-dialog/customer-group-detail-dialog.component.js +2 -2
- package/esm2015/customer/components/customer-group-list/customer-group-list.component.js +2 -2
- package/esm2015/customer/components/customer-group-member-list/customer-group-member-list.component.js +2 -2
- package/esm2015/customer/components/customer-history/customer-history.component.js +2 -2
- package/esm2015/order/components/line-refunds/line-refunds.component.js +20 -3
- package/esm2015/order/components/order-detail/order-detail.component.js +30 -9
- package/esm2015/order/components/order-editor/order-editor.component.js +2 -2
- package/esm2015/order/components/order-payment-card/order-payment-card.component.js +2 -2
- package/esm2015/order/components/order-table/order-table.component.js +2 -2
- package/esm2015/order/components/refund-order-dialog/refund-order-dialog.component.js +27 -6
- package/esm2015/settings/components/admin-detail/admin-detail.component.js +5 -2
- package/esm2015/settings/components/channel-detail/channel-detail.component.js +5 -3
- package/esm2015/settings/components/channel-list/channel-list.component.js +2 -2
- package/esm2015/settings/components/country-detail/country-detail.component.js +4 -3
- package/esm2015/settings/components/country-list/country-list.component.js +2 -2
- package/esm2015/settings/components/global-settings/global-settings.component.js +3 -2
- package/esm2015/settings/components/payment-method-detail/payment-method-detail.component.js +16 -15
- package/esm2015/settings/components/payment-method-list/payment-method-list.component.js +2 -2
- package/esm2015/settings/components/permission-grid/permission-grid.component.js +8 -3
- package/esm2015/settings/components/role-detail/role-detail.component.js +2 -2
- package/esm2015/settings/components/role-list/role-list.component.js +9 -5
- package/esm2015/settings/components/shipping-method-detail/shipping-method-detail.component.js +16 -11
- package/esm2015/settings/components/shipping-method-list/shipping-method-list.component.js +2 -2
- package/esm2015/settings/components/tax-category-detail/tax-category-detail.component.js +4 -3
- package/esm2015/settings/components/tax-category-list/tax-category-list.component.js +2 -2
- package/esm2015/settings/components/tax-rate-detail/tax-rate-detail.component.js +11 -10
- package/esm2015/settings/components/tax-rate-list/tax-rate-list.component.js +2 -2
- package/esm2015/settings/components/test-order-builder/test-order-builder.component.js +3 -2
- package/esm2015/settings/components/zone-detail-dialog/zone-detail-dialog.component.js +2 -2
- package/esm2015/settings/components/zone-list/zone-list.component.js +2 -2
- package/esm2015/settings/components/zone-member-list/zone-member-list.component.js +2 -2
- package/esm2015/system/components/job-list/job-list.component.js +2 -2
- package/fesm2015/vendure-admin-ui-catalog.js +34 -18
- package/fesm2015/vendure-admin-ui-catalog.js.map +1 -1
- package/fesm2015/vendure-admin-ui-core.js +884 -705
- package/fesm2015/vendure-admin-ui-core.js.map +1 -1
- package/fesm2015/vendure-admin-ui-customer.js +8 -6
- package/fesm2015/vendure-admin-ui-customer.js.map +1 -1
- package/fesm2015/vendure-admin-ui-order.js +76 -18
- package/fesm2015/vendure-admin-ui-order.js.map +1 -1
- package/fesm2015/vendure-admin-ui-settings.js +74 -50
- package/fesm2015/vendure-admin-ui-settings.js.map +1 -1
- package/fesm2015/vendure-admin-ui-system.js +1 -1
- package/fesm2015/vendure-admin-ui-system.js.map +1 -1
- package/order/components/line-refunds/line-refunds.component.d.ts +1 -0
- package/order/components/refund-order-dialog/refund-order-dialog.component.d.ts +1 -0
- package/order/vendure-admin-ui-order.metadata.json +1 -1
- package/package.json +2 -2
- package/settings/components/channel-detail/channel-detail.component.d.ts +2 -1
- package/settings/components/country-detail/country-detail.component.d.ts +2 -1
- package/settings/components/global-settings/global-settings.component.d.ts +2 -1
- package/settings/components/payment-method-detail/payment-method-detail.component.d.ts +2 -2
- package/settings/components/permission-grid/permission-grid.component.d.ts +2 -0
- package/settings/components/role-list/role-list.component.d.ts +5 -1
- package/settings/components/shipping-method-detail/shipping-method-detail.component.d.ts +2 -1
- package/settings/components/tax-category-detail/tax-category-detail.component.d.ts +2 -1
- package/settings/components/tax-rate-detail/tax-rate-detail.component.d.ts +2 -1
- package/settings/vendure-admin-ui-settings.metadata.json +1 -1
- package/static/i18n-messages/cs.json +2 -0
- package/static/i18n-messages/de.json +8 -6
- package/static/i18n-messages/en.json +2 -0
- package/static/i18n-messages/es.json +2 -0
- package/static/i18n-messages/fr.json +89 -89
- package/static/i18n-messages/pl.json +2 -0
- package/static/i18n-messages/pt_BR.json +2 -0
- package/static/i18n-messages/ru.json +811 -0
- package/static/i18n-messages/zh_Hans.json +178 -176
- package/static/i18n-messages/zh_Hant.json +2 -0
- package/static/styles/_variables.scss +0 -65
- package/static/styles/theme/default.scss +54 -54
- package/static/vendure-ui-config.json +1 -1
- package/system/vendure-admin-ui-system.metadata.json +1 -1
|
@@ -59,7 +59,7 @@ export class JobListComponent extends BaseListComponent {
|
|
|
59
59
|
JobListComponent.decorators = [
|
|
60
60
|
{ type: Component, args: [{
|
|
61
61
|
selector: 'vdr-job-list',
|
|
62
|
-
template: "<vdr-action-bar>\r\n <vdr-ab-left>\r\n <clr-checkbox-container>\r\n <clr-checkbox-wrapper>\r\n <input type=\"checkbox\" clrCheckbox [formControl]=\"liveUpdate\" name=\"live-update\"/>\r\n <label>{{ 'common.live-update' | translate }}</label>\r\n </clr-checkbox-wrapper>\r\n <clr-checkbox-wrapper>\r\n <input\r\n type=\"checkbox\"\r\n clrCheckbox\r\n [formControl]=\"hideSettled\"\r\n name=\"hide-settled\"\r\n (change)=\"refresh()\"\r\n />\r\n <label>{{ 'system.hide-settled-jobs' | translate }}</label>\r\n </clr-checkbox-wrapper>\r\n </clr-checkbox-container>\r\n </vdr-ab-left>\r\n <vdr-ab-right>\r\n <ng-select\r\n [addTag]=\"false\"\r\n [items]=\"queues$ | async\"\r\n [hideSelected]=\"true\"\r\n [multiple]=\"false\"\r\n [markFirst]=\"false\"\r\n [clearable]=\"false\"\r\n [searchable]=\"false\"\r\n bindValue=\"name\"\r\n [formControl]=\"queueFilter\"\r\n (change)=\"refresh()\"\r\n >\r\n <ng-template ng-label-tmp ng-option-tmp let-item=\"item\">\r\n <ng-container *ngIf=\"item.name === 'all'; else others\">\r\n {{ 'system.all-job-queues' | translate }}\r\n </ng-container>\r\n <ng-template #others>\r\n <vdr-chip [colorFrom]=\"item.name\">{{ item.name }}</vdr-chip>\r\n </ng-template>\r\n </ng-template>\r\n </ng-select>\r\n <vdr-action-bar-items locationId=\"job-list\"></vdr-action-bar-items>\r\n </vdr-ab-right>\r\n</vdr-action-bar>\r\n\r\n<vdr-data-table\r\n [items]=\"items$ | async\"\r\n [itemsPerPage]=\"itemsPerPage$ | async\"\r\n [totalItems]=\"totalItems$ | async\"\r\n [currentPage]=\"currentPage$ | async\"\r\n (pageChange)=\"setPageNumber($event)\"\r\n (itemsPerPageChange)=\"setItemsPerPage($event)\"\r\n>\r\n <vdr-dt-column></vdr-dt-column>\r\n <vdr-dt-column>{{ 'system.job-queue-name' | translate }}</vdr-dt-column>\r\n <vdr-dt-column>{{ 'common.created-at' | translate }}</vdr-dt-column>\r\n <vdr-dt-column>{{ 'system.job-state' | translate }}</vdr-dt-column>\r\n <vdr-dt-column>{{ 'system.job-duration' | translate }}</vdr-dt-column>\r\n <vdr-dt-column>{{ 'system.job-result' | translate }}</vdr-dt-column>\r\n <vdr-dt-column></vdr-dt-column>\r\n <ng-template let-job=\"item\">\r\n <td class=\"left align-middle\">\r\n <vdr-entity-info [entity]=\"job\"></vdr-entity-info>\r\n </td>\r\n <td class=\"left align-middle\">\r\n <vdr-dropdown *ngIf=\"job.data\">\r\n <button\r\n class=\"btn btn-link btn-icon\"\r\n vdrDropdownTrigger\r\n [title]=\"'system.job-data' | translate\"\r\n >\r\n <clr-icon shape=\"details\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu>\r\n <div class=\"result-detail\">\r\n <vdr-object-tree [value]=\"job.data\"></vdr-object-tree>\r\n </div>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n <vdr-chip [colorFrom]=\"job.queueName\">{{ job.queueName }}</vdr-chip>\r\n </td>\r\n\r\n <td class=\"left align-middle\">{{ job.createdAt | timeAgo }}</td>\r\n <td class=\"left align-middle\">\r\n <vdr-job-state-label [job]=\"job\"></vdr-job-state-label>\r\n </td>\r\n <td class=\"left align-middle\">{{ job.duration | duration }}</td>\r\n <td class=\"left align-middle\">\r\n <vdr-dropdown *ngIf=\"hasResult(job)\">\r\n <button class=\"btn btn-link btn-sm details-button\" vdrDropdownTrigger>\r\n <clr-icon shape=\"details\"></clr-icon>\r\n {{ 'system.job-result' | translate }}\r\n </button>\r\n <vdr-dropdown-menu>\r\n <div class=\"result-detail\">\r\n <vdr-object-tree [value]=\"job.result\"></vdr-object-tree>\r\n </div>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n <vdr-dropdown *ngIf=\"job.error\">\r\n <button class=\"btn btn-link btn-sm details-button\" vdrDropdownTrigger>\r\n <clr-icon shape=\"exclamation-circle\"></clr-icon>\r\n {{ 'system.job-error' | translate }}\r\n </button>\r\n <vdr-dropdown-menu>\r\n <div class=\"result-detail\">\r\n {{ job.error }}\r\n </div>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </td>\r\n <td class=\"right align-middle\">\r\n <vdr-dropdown *ngIf=\"!job.isSettled && job.state !== 'FAILED'\">\r\n <button class=\"icon-button\" vdrDropdownTrigger>\r\n <clr-icon shape=\"ellipsis-vertical\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <button\r\n type=\"button\"\r\n class=\"delete-button\"\r\n (click)=\"cancelJob(job.id)\"\r\n [disabled]=\"!('DeleteSettings' | hasPermission)\"\r\n vdrDropdownItem\r\n >\r\n <clr-icon shape=\"ban\" class=\"is-danger\"></clr-icon>\r\n {{ 'common.cancel' | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </td>\r\n </ng-template>\r\n</vdr-data-table>\r\n",
|
|
62
|
+
template: "<vdr-action-bar>\r\n <vdr-ab-left>\r\n <clr-checkbox-container>\r\n <clr-checkbox-wrapper>\r\n <input type=\"checkbox\" clrCheckbox [formControl]=\"liveUpdate\" name=\"live-update\"/>\r\n <label>{{ 'common.live-update' | translate }}</label>\r\n </clr-checkbox-wrapper>\r\n <clr-checkbox-wrapper>\r\n <input\r\n type=\"checkbox\"\r\n clrCheckbox\r\n [formControl]=\"hideSettled\"\r\n name=\"hide-settled\"\r\n (change)=\"refresh()\"\r\n />\r\n <label>{{ 'system.hide-settled-jobs' | translate }}</label>\r\n </clr-checkbox-wrapper>\r\n </clr-checkbox-container>\r\n </vdr-ab-left>\r\n <vdr-ab-right>\r\n <ng-select\r\n [addTag]=\"false\"\r\n [items]=\"queues$ | async\"\r\n [hideSelected]=\"true\"\r\n [multiple]=\"false\"\r\n [markFirst]=\"false\"\r\n [clearable]=\"false\"\r\n [searchable]=\"false\"\r\n bindValue=\"name\"\r\n [formControl]=\"queueFilter\"\r\n (change)=\"refresh()\"\r\n >\r\n <ng-template ng-label-tmp ng-option-tmp let-item=\"item\">\r\n <ng-container *ngIf=\"item.name === 'all'; else others\">\r\n {{ 'system.all-job-queues' | translate }}\r\n </ng-container>\r\n <ng-template #others>\r\n <vdr-chip [colorFrom]=\"item.name\">{{ item.name }}</vdr-chip>\r\n </ng-template>\r\n </ng-template>\r\n </ng-select>\r\n <vdr-action-bar-items locationId=\"job-list\"></vdr-action-bar-items>\r\n </vdr-ab-right>\r\n</vdr-action-bar>\r\n\r\n<vdr-data-table\r\n [items]=\"items$ | async\"\r\n [itemsPerPage]=\"itemsPerPage$ | async\"\r\n [totalItems]=\"totalItems$ | async\"\r\n [currentPage]=\"currentPage$ | async\"\r\n (pageChange)=\"setPageNumber($event)\"\r\n (itemsPerPageChange)=\"setItemsPerPage($event)\"\r\n>\r\n <vdr-dt-column></vdr-dt-column>\r\n <vdr-dt-column>{{ 'system.job-queue-name' | translate }}</vdr-dt-column>\r\n <vdr-dt-column>{{ 'common.created-at' | translate }}</vdr-dt-column>\r\n <vdr-dt-column>{{ 'system.job-state' | translate }}</vdr-dt-column>\r\n <vdr-dt-column>{{ 'system.job-duration' | translate }}</vdr-dt-column>\r\n <vdr-dt-column>{{ 'system.job-result' | translate }}</vdr-dt-column>\r\n <vdr-dt-column></vdr-dt-column>\r\n <ng-template let-job=\"item\">\r\n <td class=\"left align-middle\">\r\n <vdr-entity-info [entity]=\"job\"></vdr-entity-info>\r\n </td>\r\n <td class=\"left align-middle\">\r\n <vdr-dropdown *ngIf=\"job.data\">\r\n <button\r\n class=\"btn btn-link btn-icon\"\r\n vdrDropdownTrigger\r\n [title]=\"'system.job-data' | translate\"\r\n >\r\n <clr-icon shape=\"details\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu>\r\n <div class=\"result-detail\">\r\n <vdr-object-tree [value]=\"job.data\"></vdr-object-tree>\r\n </div>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n <vdr-chip [colorFrom]=\"job.queueName\">{{ job.queueName }}</vdr-chip>\r\n </td>\r\n\r\n <td class=\"left align-middle\">{{ job.createdAt | timeAgo }}</td>\r\n <td class=\"left align-middle\">\r\n <vdr-job-state-label [job]=\"job\"></vdr-job-state-label>\r\n </td>\r\n <td class=\"left align-middle\">{{ job.duration | duration }}</td>\r\n <td class=\"left align-middle\">\r\n <vdr-dropdown *ngIf=\"hasResult(job)\">\r\n <button class=\"btn btn-link btn-sm details-button\" vdrDropdownTrigger>\r\n <clr-icon shape=\"details\"></clr-icon>\r\n {{ 'system.job-result' | translate }}\r\n </button>\r\n <vdr-dropdown-menu>\r\n <div class=\"result-detail\">\r\n <vdr-object-tree [value]=\"job.result\"></vdr-object-tree>\r\n </div>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n <vdr-dropdown *ngIf=\"job.error\">\r\n <button class=\"btn btn-link btn-sm details-button\" vdrDropdownTrigger>\r\n <clr-icon shape=\"exclamation-circle\"></clr-icon>\r\n {{ 'system.job-error' | translate }}\r\n </button>\r\n <vdr-dropdown-menu>\r\n <div class=\"result-detail\">\r\n {{ job.error }}\r\n </div>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </td>\r\n <td class=\"right align-middle\">\r\n <vdr-dropdown *ngIf=\"!job.isSettled && job.state !== 'FAILED'\">\r\n <button class=\"icon-button\" vdrDropdownTrigger>\r\n <clr-icon shape=\"ellipsis-vertical\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <button\r\n type=\"button\"\r\n class=\"delete-button\"\r\n (click)=\"cancelJob(job.id)\"\r\n [disabled]=\"!(['DeleteSettings', 'DeleteSystem'] | hasPermission)\"\r\n vdrDropdownItem\r\n >\r\n <clr-icon shape=\"ban\" class=\"is-danger\"></clr-icon>\r\n {{ 'common.cancel' | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </td>\r\n </ng-template>\r\n</vdr-data-table>\r\n",
|
|
63
63
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
64
64
|
styles: [".result-detail{margin:0 12px}"]
|
|
65
65
|
},] }
|
|
@@ -71,4 +71,4 @@ JobListComponent.ctorParameters = () => [
|
|
|
71
71
|
{ type: Router },
|
|
72
72
|
{ type: ActivatedRoute }
|
|
73
73
|
];
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam9iLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zeXN0ZW0vc3JjL2NvbXBvbmVudHMvam9iLWxpc3Qvam9iLWxpc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUNILGlCQUFpQixFQUNqQixXQUFXLEVBSVgsWUFBWSxFQUNaLG1CQUFtQixFQUNuQixTQUFTLEdBQ1osTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQWMsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBUXhELE1BQU0sT0FBTyxnQkFDVCxTQUFRLGlCQUFxRDtJQU83RCxZQUNZLFdBQXdCLEVBQ3hCLFlBQTBCLEVBQzFCLG1CQUF3QyxFQUNoRCxNQUFjLEVBQ2QsS0FBcUI7UUFFckIsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztRQU5iLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFQcEQsZUFBVSxHQUFHLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLGdCQUFXLEdBQUcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEMsZ0JBQVcsR0FBRyxJQUFJLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQVVqQyxLQUFLLENBQUMsVUFBVSxD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blN0cmF0ZWd5LCBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7XHJcbiAgICBCYXNlTGlzdENvbXBvbmVudCxcclxuICAgIERhdGFTZXJ2aWNlLFxyXG4gICAgR2V0QWxsSm9icyxcclxuICAgIEdldEZhY2V0TGlzdCxcclxuICAgIEdldEpvYlF1ZXVlTGlzdCxcclxuICAgIE1vZGFsU2VydmljZSxcclxuICAgIE5vdGlmaWNhdGlvblNlcnZpY2UsXHJcbiAgICBTb3J0T3JkZXIsXHJcbn0gZnJvbSAnQHZlbmR1cmUvYWRtaW4tdWkvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIHRpbWVyIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbHRlciwgbWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndmRyLWpvYi1saXN0JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9qb2ItbGlzdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9qb2ItbGlzdC5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBKb2JMaXN0Q29tcG9uZW50XHJcbiAgICBleHRlbmRzIEJhc2VMaXN0Q29tcG9uZW50PEdldEFsbEpvYnMuUXVlcnksIEdldEFsbEpvYnMuSXRlbXM+XHJcbiAgICBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBxdWV1ZXMkOiBPYnNlcnZhYmxlPEdldEpvYlF1ZXVlTGlzdC5Kb2JRdWV1ZXNbXT47XHJcbiAgICBsaXZlVXBkYXRlID0gbmV3IEZvcm1Db250cm9sKHRydWUpO1xyXG4gICAgaGlkZVNldHRsZWQgPSBuZXcgRm9ybUNvbnRyb2wodHJ1ZSk7XHJcbiAgICBxdWV1ZUZpbHRlciA9IG5ldyBGb3JtQ29udHJvbCgnYWxsJyk7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBtb2RhbFNlcnZpY2U6IE1vZGFsU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIG5vdGlmaWNhdGlvblNlcnZpY2U6IE5vdGlmaWNhdGlvblNlcnZpY2UsXHJcbiAgICAgICAgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICAgICAgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIocm91dGVyLCByb3V0ZSk7XHJcbiAgICAgICAgc3VwZXIuc2V0UXVlcnlGbihcclxuICAgICAgICAgICAgKC4uLmFyZ3M6IGFueVtdKSA9PiB0aGlzLmRhdGFTZXJ2aWNlLnNldHRpbmdzLmdldEFsbEpvYnMoLi4uYXJncyksXHJcbiAgICAgICAgICAgIGRhdGEgPT4gZGF0YS5qb2JzLFxyXG4gICAgICAgICAgICAoc2tpcCwgdGFrZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcXVldWVGaWx0ZXIgPVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucXVldWVGaWx0ZXIudmFsdWUgPT09ICdhbGwnID8gbnVsbCA6IHsgcXVldWVOYW1lOiB7IGVxOiB0aGlzLnF1ZXVlRmlsdGVyLnZhbHVlIH0gfTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGhpZGVTZXR0bGVkID0gdGhpcy5oaWRlU2V0dGxlZC52YWx1ZTtcclxuICAgICAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBza2lwLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0YWtlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnF1ZXVlRmlsdGVyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uKGhpZGVTZXR0bGVkID8geyBpc1NldHRsZWQ6IHsgZXE6IGZhbHNlIH0gfSA6IHt9KSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgc29ydDoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlZEF0OiBTb3J0T3JkZXIuREVTQyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgdGltZXIoNTAwMCwgMjAwMClcclxuICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXHJcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKCkgPT4gdGhpcy5saXZlVXBkYXRlLnZhbHVlKSxcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMucmVmcmVzaCgpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLnF1ZXVlcyQgPSB0aGlzLmRhdGFTZXJ2aWNlLnNldHRpbmdzXHJcbiAgICAgICAgICAgIC5nZXRKb2JRdWV1ZXMoKVxyXG4gICAgICAgICAgICAubWFwU3RyZWFtKHJlcyA9PiByZXMuam9iUXVldWVzKVxyXG4gICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIG1hcChxdWV1ZXMgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBbeyBuYW1lOiAnYWxsJywgcnVubmluZzogdHJ1ZSB9LCAuLi5xdWV1ZXNdO1xyXG4gICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgaGFzUmVzdWx0KGpvYjogR2V0QWxsSm9icy5JdGVtcyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGpvYi5yZXN1bHQ7XHJcbiAgICAgICAgaWYgKHJlc3VsdCA9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHR5cGVvZiByZXN1bHQgPT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBPYmplY3Qua2V5cyhyZXN1bHQpLmxlbmd0aCA+IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGNhbmNlbEpvYihpZDogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5kYXRhU2VydmljZS5zZXR0aW5ncy5jYW5jZWxKb2IoaWQpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnJlZnJlc2goKSk7XHJcbiAgICB9XHJcbn1cclxuIl19
|