@osovitny/anatoly 3.17.75 → 3.17.78
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/anatoly.module.mjs +2 -3
- package/esm2022/lib/billing/billing.module.mjs +70 -0
- package/esm2022/lib/billing/exports.mjs +19 -0
- package/esm2022/lib/billing/models/paypal-models.mjs +16 -0
- package/esm2022/lib/billing/payments/components/braintree/braintree.component.mjs +155 -0
- package/esm2022/lib/billing/payments/components/exports.mjs +22 -0
- package/esm2022/lib/billing/payments/components/index.mjs +25 -0
- package/esm2022/lib/billing/payments/components/paypal/paypal-button.component.mjs +157 -0
- package/esm2022/lib/billing/payments/components/paypal/paypal.component.mjs +316 -0
- package/esm2022/lib/billing/payments/components/stripe/stripe.component.mjs +109 -0
- package/esm2022/lib/billing/payments/services/payments.service.mjs +173 -0
- package/esm2022/lib/billing/services/paypal-script.service.mjs +84 -0
- package/esm2022/lib/core/browser.mjs +3 -3
- package/esm2022/lib/core/consts/app-settings.mjs +3 -3
- package/esm2022/lib/core/consts/core-settings.mjs +3 -3
- package/esm2022/lib/core/consts/formats.mjs +3 -3
- package/esm2022/lib/core/consts/ga.mjs +26 -0
- package/esm2022/lib/core/converts/convert.mjs +3 -3
- package/esm2022/lib/core/converts/dateConvert.mjs +3 -3
- package/esm2022/lib/core/converts/tz/tzParseTimezone.mjs +3 -3
- package/esm2022/lib/core/converts/tz/tzTokenizeDate.mjs +3 -3
- package/esm2022/lib/core/converts/xmlFormatter.mjs +3 -3
- package/esm2022/lib/core/core.module.mjs +10 -3
- package/esm2022/lib/core/dom.mjs +7 -7
- package/esm2022/lib/core/enums/billing.mjs +51 -0
- package/esm2022/lib/core/enums/enums.mjs +21 -0
- package/esm2022/lib/core/exports.mjs +63 -0
- package/esm2022/lib/core/go/base-go.service.mjs +4 -4
- package/esm2022/lib/core/guards/once-import.guard.mjs +4 -4
- package/esm2022/lib/core/guards/starter.guard.mjs +3 -3
- package/esm2022/lib/core/guid.mjs +3 -3
- package/esm2022/lib/core/interceptors/httpInterceptor.mjs +4 -4
- package/esm2022/lib/core/is.mjs +3 -3
- package/esm2022/lib/core/localization/localization.module.mjs +3 -3
- package/esm2022/lib/core/localization/localization.service.mjs +3 -3
- package/esm2022/lib/core/localization/localize.pipe.mjs +3 -3
- package/esm2022/lib/core/localization/settings.module.mjs +3 -3
- package/esm2022/lib/core/localization/utils.mjs +3 -3
- package/esm2022/lib/core/logging/globalErrorHandler.mjs +3 -3
- package/esm2022/lib/core/logging/logging.service.mjs +3 -3
- package/esm2022/lib/core/models/qs.mjs +17 -0
- package/esm2022/lib/core/notifications/alerts.mjs +3 -3
- package/esm2022/lib/core/notifications/interfaces/notification.mjs +3 -3
- package/esm2022/lib/core/notifications/services/notification-service.mjs +3 -3
- package/esm2022/lib/core/performance/stopwatch.mjs +4 -4
- package/esm2022/lib/core/services/appcontext.service.mjs +3 -3
- package/esm2022/lib/core/services/dm.service.mjs +3 -3
- package/esm2022/lib/core/services/google-analytics.service.mjs +3 -3
- package/esm2022/lib/core/services/idle.service.mjs +3 -3
- package/esm2022/lib/core/services/loading.service.mjs +3 -3
- package/esm2022/lib/core/services/script.service.mjs +77 -0
- package/esm2022/lib/core/services/starter.service.mjs +1 -1
- package/esm2022/lib/core/services/web-storage.service.mjs +4 -4
- package/esm2022/lib/core/subs.mjs +3 -3
- package/esm2022/lib/core/utils/qsutils.mjs +3 -3
- package/esm2022/lib/core/utils/utils.mjs +3 -3
- package/esm2022/lib/data/base/api.service.mjs +2 -3
- package/esm2022/lib/data/base/grid/grid-edit.service.mjs +2 -3
- package/esm2022/lib/data/base/grid/grid-read.service.mjs +2 -3
- package/esm2022/lib/data/data.module.mjs +10 -3
- package/esm2022/lib/data/exports.mjs +22 -0
- package/esm2022/lib/data/services/billing/payments-api.service.mjs +67 -0
- package/esm2022/lib/data/services/core-api.service.mjs +5 -5
- package/esm2022/lib/data/services/emails-api.service.mjs +5 -5
- package/esm2022/lib/external/fa.module.mjs +45 -0
- package/esm2022/lib/external/kendo.module.mjs +90 -0
- package/esm2022/lib/iam/b2c/b2c.mjs +3 -3
- package/esm2022/lib/iam/b2c/consts.mjs +3 -3
- package/esm2022/lib/iam/b2c/index.mjs +3 -3
- package/esm2022/lib/iam/configs.mjs +3 -3
- package/esm2022/lib/iam/consts.mjs +3 -3
- package/esm2022/lib/iam/exports.mjs +22 -0
- package/esm2022/lib/iam/guards/admin.guard.mjs +3 -3
- package/esm2022/lib/iam/guards/authentication.guard.mjs +1 -1
- package/esm2022/lib/iam/guards/index.mjs +2 -2
- package/esm2022/lib/iam/iam-pages.module.mjs +3 -3
- package/esm2022/lib/iam/iam-pages.routes.mjs +3 -3
- package/esm2022/lib/iam/iam.module.mjs +3 -3
- package/esm2022/lib/iam/pages/signin.page.mjs +3 -3
- package/esm2022/lib/iam/pages/signout.page.mjs +3 -3
- package/esm2022/lib/iam/pages/signup.page.mjs +3 -3
- package/esm2022/lib/iam/redirect.mjs +3 -3
- package/esm2022/lib/iam/services/auth.service.mjs +2 -2
- package/esm2022/lib/iam/storage.mjs +3 -3
- package/esm2022/lib/iam/utils.mjs +3 -3
- package/esm2022/lib/ui/components/base/components/component.mjs +4 -4
- package/esm2022/lib/ui/components/base/components/edit.component.mjs +4 -4
- package/esm2022/lib/ui/components/base/components/enum-edit.component.mjs +4 -4
- package/esm2022/lib/ui/components/base/dialog.mjs +7 -4
- package/esm2022/lib/ui/components/base/list.mjs +3 -3
- package/esm2022/lib/ui/components/base/pages/edit.page.mjs +3 -3
- package/esm2022/lib/ui/components/base/pages/page.mjs +3 -3
- package/esm2022/lib/ui/components/base/pages/paged.page.mjs +3 -3
- package/esm2022/lib/ui/components/billing/buyaccess-button.component.mjs +3 -3
- package/esm2022/lib/ui/components/billing/subscribe-plan-button.component.mjs +3 -3
- package/esm2022/lib/ui/components/card/card-body.component.mjs +3 -4
- package/esm2022/lib/ui/components/card/card-footer.component.mjs +3 -4
- package/esm2022/lib/ui/components/card/card-header.component.mjs +3 -4
- package/esm2022/lib/ui/components/card/card.component.mjs +3 -4
- package/esm2022/lib/ui/components/check-icon/check-icon.component.mjs +3 -3
- package/esm2022/lib/ui/components/copy-2-clipboard/copy-2-clipboard.component.mjs +3 -3
- package/esm2022/lib/ui/components/datapager/datapager.component.mjs +3 -3
- package/esm2022/lib/ui/components/dropdownlists/country/country.dropdownlist.mjs +3 -3
- package/esm2022/lib/ui/components/dropdownlists/timezone/timezone.dropdownlist.mjs +3 -3
- package/esm2022/lib/ui/components/exports.mjs +50 -0
- package/esm2022/lib/ui/components/html-editor/base-html-editor.component.mjs +1 -1
- package/esm2022/lib/ui/components/html-editor/forms-html-editor.component.mjs +3 -3
- package/esm2022/lib/ui/components/html-editor/html-editor.component.mjs +3 -3
- package/esm2022/lib/ui/components/html-editor/html-editor.defaultoptions.mjs +3 -3
- package/esm2022/lib/ui/components/identity/signin-button.component.mjs +3 -3
- package/esm2022/lib/ui/components/identity/signout-button.component.mjs +3 -3
- package/esm2022/lib/ui/components/identity/signup-button.component.mjs +3 -3
- package/esm2022/lib/ui/components/index.mjs +44 -37
- package/esm2022/lib/ui/components/nodata/nodata.component.mjs +3 -3
- package/esm2022/lib/ui/components/spinners/loading/loading.component.mjs +3 -3
- package/esm2022/lib/ui/components/spinners/pagespinner/pagespinner.component.mjs +3 -3
- package/esm2022/lib/ui/components/urlslug/urlslug.component.mjs +3 -3
- package/esm2022/lib/ui/dialogs/contact-us/contact-us.dialog.mjs +3 -3
- package/esm2022/lib/ui/dialogs/exports.mjs +17 -0
- package/esm2022/lib/ui/dialogs/index.mjs +7 -4
- package/esm2022/lib/ui/directives/exports.mjs +18 -0
- package/esm2022/lib/ui/directives/hover.directive.mjs +3 -3
- package/esm2022/lib/ui/directives/index.mjs +8 -5
- package/esm2022/lib/ui/directives/native-element.directive.mjs +3 -3
- package/esm2022/lib/ui/exports.mjs +22 -0
- package/esm2022/lib/ui/forms/components/address/address.component.mjs +6 -6
- package/esm2022/lib/ui/forms/components/company/company.component.mjs +4 -4
- package/esm2022/lib/ui/forms/contact-us/contact-us.mjs +3 -3
- package/esm2022/lib/ui/forms/exports.mjs +21 -0
- package/esm2022/lib/ui/forms/index.mjs +9 -8
- package/esm2022/lib/ui/pipes/exports.mjs +19 -0
- package/esm2022/lib/ui/pipes/filesize.pipe.mjs +3 -3
- package/esm2022/lib/ui/pipes/index.mjs +9 -6
- package/esm2022/lib/ui/pipes/replace-text.pipe.mjs +3 -3
- package/esm2022/lib/ui/pipes/safeHtml.pipe.mjs +3 -3
- package/esm2022/lib/ui/ui.module.mjs +51 -137
- package/esm2022/lib/ui/validation/exports.mjs +19 -0
- package/esm2022/lib/ui/validation/form-validation-summary.component.mjs +3 -3
- package/esm2022/lib/ui/validation/index.mjs +8 -6
- package/esm2022/lib/ui/validation/item-validation-summary.component.mjs +3 -3
- package/esm2022/lib/ui/validation/validation-summary.component.mjs +3 -3
- package/esm2022/public-api.mjs +9 -14
- package/fesm2022/osovitny-anatoly.mjs +1650 -867
- package/fesm2022/osovitny-anatoly.mjs.map +1 -1
- package/lib/billing/billing.module.d.ts +13 -0
- package/lib/billing/exports.d.ts +3 -0
- package/lib/{payments/PayPal → billing}/models/paypal-models.d.ts +1 -4
- package/lib/billing/payments/components/braintree/braintree.component.d.ts +25 -0
- package/lib/billing/payments/components/exports.d.ts +4 -0
- package/lib/billing/payments/components/index.d.ts +2 -0
- package/lib/billing/payments/components/paypal/paypal-button.component.d.ts +18 -0
- package/lib/{payments/PayPal/components → billing/payments/components/paypal}/paypal.component.d.ts +3 -3
- package/lib/billing/payments/components/stripe/stripe.component.d.ts +21 -0
- package/lib/billing/payments/services/payments.service.d.ts +50 -0
- package/lib/{payments/PayPal → billing}/services/paypal-script.service.d.ts +3 -4
- package/lib/core/consts/ga.d.ts +11 -0
- package/lib/core/enums/billing.d.ts +29 -0
- package/lib/core/enums/enums.d.ts +4 -0
- package/lib/core/{index.d.ts → exports.d.ts} +3 -0
- package/lib/core/interceptors/httpInterceptor.d.ts +1 -1
- package/lib/core/models/qs.d.ts +4 -0
- package/lib/{payments → core}/services/script.service.d.ts +3 -1
- package/lib/data/services/billing/payments-api.service.d.ts +13 -0
- package/lib/ui/components/base/components/component.d.ts +1 -1
- package/lib/ui/components/base/dialog.d.ts +2 -0
- package/lib/ui/components/exports.d.ts +30 -0
- package/lib/ui/components/index.d.ts +2 -30
- package/lib/ui/dialogs/exports.d.ts +1 -0
- package/lib/ui/dialogs/index.d.ts +2 -1
- package/lib/ui/directives/exports.d.ts +2 -0
- package/lib/ui/directives/index.d.ts +2 -2
- package/lib/ui/exports.d.ts +6 -0
- package/lib/ui/forms/components/address/address.component.d.ts +2 -2
- package/lib/ui/forms/components/company/company.component.d.ts +1 -1
- package/lib/ui/forms/exports.d.ts +3 -0
- package/lib/ui/forms/index.d.ts +2 -3
- package/lib/ui/pipes/exports.d.ts +3 -0
- package/lib/ui/pipes/index.d.ts +2 -3
- package/lib/ui/ui.module.d.ts +21 -21
- package/lib/ui/validation/exports.d.ts +3 -0
- package/lib/ui/validation/index.d.ts +2 -3
- package/package.json +4 -2
- package/public-api.d.ts +6 -11
- package/esm2022/lib/core/index.mjs +0 -59
- package/esm2022/lib/data/index.mjs +0 -23
- package/esm2022/lib/data/urls.mjs +0 -22
- package/esm2022/lib/iam/index.mjs +0 -22
- package/esm2022/lib/payments/PayPal/components/paypal.component.mjs +0 -317
- package/esm2022/lib/payments/PayPal/models/paypal-models.mjs +0 -17
- package/esm2022/lib/payments/PayPal/services/paypal-script.service.mjs +0 -98
- package/esm2022/lib/payments/index.mjs +0 -22
- package/esm2022/lib/payments/payments.module.mjs +0 -54
- package/esm2022/lib/payments/services/script.service.mjs +0 -63
- package/esm2022/lib/ui/external/fa.module.mjs +0 -46
- package/esm2022/lib/ui/external/kendo.module.mjs +0 -91
- package/lib/data/urls.d.ts +0 -4
- package/lib/payments/index.d.ts +0 -4
- package/lib/payments/payments.module.d.ts +0 -8
- /package/lib/data/{index.d.ts → exports.d.ts} +0 -0
- /package/lib/{ui/external → external}/fa.module.d.ts +0 -0
- /package/lib/{ui/external → external}/kendo.module.d.ts +0 -0
- /package/lib/iam/{index.d.ts → exports.d.ts} +0 -0
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
<file>
|
|
3
|
-
Project:
|
|
4
|
-
@osovitny/anatoly
|
|
5
|
-
|
|
6
|
-
Authors:
|
|
7
|
-
Vadim Osovitny vadim@osovitny.com
|
|
8
|
-
Anatoly Osovitny anatoly@osovitny.com
|
|
9
|
-
|
|
10
|
-
Created:
|
|
11
|
-
2 Aug 2022
|
|
12
|
-
|
|
13
|
-
Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
|
|
14
|
-
</file>
|
|
15
|
-
*/
|
|
16
|
-
//consts
|
|
17
|
-
export * from './consts/app-settings';
|
|
18
|
-
export * from './consts/core-settings';
|
|
19
|
-
export * from './consts/formats';
|
|
20
|
-
//converts
|
|
21
|
-
export * from './converts/convert';
|
|
22
|
-
export * from './converts/dateConvert';
|
|
23
|
-
export * from './converts/xmlFormatter';
|
|
24
|
-
export * from './go/base-go.service';
|
|
25
|
-
export * from './interceptors/httpInterceptor';
|
|
26
|
-
//guards
|
|
27
|
-
export * from './guards/once-import.guard';
|
|
28
|
-
export * from './guards/starter.guard';
|
|
29
|
-
//localization
|
|
30
|
-
export * from './localization/localize.pipe';
|
|
31
|
-
export * from './localization/localization.service';
|
|
32
|
-
export * from './localization/settings.module';
|
|
33
|
-
export * from './localization/localization.module';
|
|
34
|
-
export * from './localization/utils';
|
|
35
|
-
//logging
|
|
36
|
-
export * from './logging/globalErrorHandler';
|
|
37
|
-
export * from './logging/logging.service';
|
|
38
|
-
//notifications
|
|
39
|
-
export * from './notifications/alerts';
|
|
40
|
-
export * from './notifications/interfaces/notification';
|
|
41
|
-
export * from './notifications/services/notification-service';
|
|
42
|
-
//performance
|
|
43
|
-
export * from './performance/stopwatch';
|
|
44
|
-
//services
|
|
45
|
-
export * from './services/appcontext.service';
|
|
46
|
-
export * from './services/dm.service';
|
|
47
|
-
export * from './services/google-analytics.service';
|
|
48
|
-
export * from './services/idle.service';
|
|
49
|
-
export * from './services/loading.service';
|
|
50
|
-
export * from './services/starter.service';
|
|
51
|
-
export * from './services/web-storage.service';
|
|
52
|
-
export * from './browser';
|
|
53
|
-
export * from './dom';
|
|
54
|
-
export * from './guid';
|
|
55
|
-
export * from './is';
|
|
56
|
-
export * from './subs';
|
|
57
|
-
export * from './utils/qsutils';
|
|
58
|
-
export * from './utils/utils';
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvY29yZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLFFBQVE7QUFDUixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxrQkFBa0IsQ0FBQztBQUVqQyxVQUFVO0FBQ1YsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMseUJBQXlCLENBQUM7QUFFeEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGdDQUFnQyxDQUFDO0FBRS9DLFFBQVE7QUFDUixjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsd0JBQXdCLENBQUM7QUFFdkMsY0FBYztBQUNkLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxzQkFBc0IsQ0FBQztBQUVyQyxTQUFTO0FBQ1QsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDJCQUEyQixDQUFDO0FBRTFDLGVBQWU7QUFDZixjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYywrQ0FBK0MsQ0FBQztBQUU5RCxhQUFhO0FBQ2IsY0FBYyx5QkFBeUIsQ0FBQztBQUV4QyxVQUFVO0FBQ1YsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHVCQUF1QixDQUFBO0FBQ3JDLGNBQWMscUNBQXFDLENBQUE7QUFDbkQsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxnQ0FBZ0MsQ0FBQTtBQUU5QyxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLE9BQU8sQ0FBQztBQUN0QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLE1BQU0sQ0FBQztBQUNyQixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueSB2YWRpbUBvc292aXRueS5jb21cclxuICAgIEFuYXRvbHkgT3Nvdml0bnkgYW5hdG9seUBvc292aXRueS5jb21cclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDIgQXVnIDIwMjJcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjIgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG4vL2NvbnN0c1xyXG5leHBvcnQgKiBmcm9tICcuL2NvbnN0cy9hcHAtc2V0dGluZ3MnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NvbnN0cy9jb3JlLXNldHRpbmdzJztcclxuZXhwb3J0ICogZnJvbSAnLi9jb25zdHMvZm9ybWF0cyc7XHJcblxyXG4vL2NvbnZlcnRzXHJcbmV4cG9ydCAqIGZyb20gJy4vY29udmVydHMvY29udmVydCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29udmVydHMvZGF0ZUNvbnZlcnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NvbnZlcnRzL3htbEZvcm1hdHRlcic7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2dvL2Jhc2UtZ28uc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJjZXB0b3JzL2h0dHBJbnRlcmNlcHRvcic7XHJcblxyXG4vL2d1YXJkc1xyXG5leHBvcnQgKiBmcm9tICcuL2d1YXJkcy9vbmNlLWltcG9ydC5ndWFyZCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZ3VhcmRzL3N0YXJ0ZXIuZ3VhcmQnO1xyXG5cclxuLy9sb2NhbGl6YXRpb25cclxuZXhwb3J0ICogZnJvbSAnLi9sb2NhbGl6YXRpb24vbG9jYWxpemUucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbG9jYWxpemF0aW9uL2xvY2FsaXphdGlvbi5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9sb2NhbGl6YXRpb24vc2V0dGluZ3MubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9sb2NhbGl6YXRpb24vbG9jYWxpemF0aW9uLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbG9jYWxpemF0aW9uL3V0aWxzJztcclxuXHJcbi8vbG9nZ2luZ1xyXG5leHBvcnQgKiBmcm9tICcuL2xvZ2dpbmcvZ2xvYmFsRXJyb3JIYW5kbGVyJztcclxuZXhwb3J0ICogZnJvbSAnLi9sb2dnaW5nL2xvZ2dpbmcuc2VydmljZSc7XHJcblxyXG4vL25vdGlmaWNhdGlvbnNcclxuZXhwb3J0ICogZnJvbSAnLi9ub3RpZmljYXRpb25zL2FsZXJ0cyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbm90aWZpY2F0aW9ucy9pbnRlcmZhY2VzL25vdGlmaWNhdGlvbic7XHJcbmV4cG9ydCAqIGZyb20gJy4vbm90aWZpY2F0aW9ucy9zZXJ2aWNlcy9ub3RpZmljYXRpb24tc2VydmljZSc7XHJcblxyXG4vL3BlcmZvcm1hbmNlXHJcbmV4cG9ydCAqIGZyb20gJy4vcGVyZm9ybWFuY2Uvc3RvcHdhdGNoJztcclxuXHJcbi8vc2VydmljZXNcclxuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9hcHBjb250ZXh0LnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2RtLnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvZ29vZ2xlLWFuYWx5dGljcy5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2lkbGUuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvbG9hZGluZy5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9zdGFydGVyLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL3dlYi1zdG9yYWdlLnNlcnZpY2UnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2Jyb3dzZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL2RvbSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZ3VpZCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vaXMnO1xyXG5leHBvcnQgKiBmcm9tICcuL3N1YnMnO1xyXG5leHBvcnQgKiBmcm9tICcuL3V0aWxzL3FzdXRpbHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL3V0aWxzL3V0aWxzJztcclxuIl19
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
<file>
|
|
3
|
-
Project:
|
|
4
|
-
@osovitny/anatoly
|
|
5
|
-
|
|
6
|
-
Authors:
|
|
7
|
-
Vadim Osovitny vadim@osovitny.com
|
|
8
|
-
Anatoly Osovitny anatoly@osovitny.com
|
|
9
|
-
|
|
10
|
-
Created:
|
|
11
|
-
2 Aug 2022
|
|
12
|
-
|
|
13
|
-
Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
|
|
14
|
-
</file>
|
|
15
|
-
*/
|
|
16
|
-
//base
|
|
17
|
-
export * from './base/api.service';
|
|
18
|
-
export * from './base/grid/grid-read.service';
|
|
19
|
-
export * from './base/grid/grid-edit.service';
|
|
20
|
-
//services
|
|
21
|
-
export * from './services/core-api.service';
|
|
22
|
-
export * from './services/emails-api.service';
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvZGF0YS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLE1BQU07QUFDTixjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYywrQkFBK0IsQ0FBQztBQUU5QyxVQUFVO0FBQ1YsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLCtCQUErQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueSB2YWRpbUBvc292aXRueS5jb21cclxuICAgIEFuYXRvbHkgT3Nvdml0bnkgYW5hdG9seUBvc292aXRueS5jb21cclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDIgQXVnIDIwMjJcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjIgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG4vL2Jhc2VcclxuZXhwb3J0ICogZnJvbSAnLi9iYXNlL2FwaS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9iYXNlL2dyaWQvZ3JpZC1yZWFkLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2Jhc2UvZ3JpZC9ncmlkLWVkaXQuc2VydmljZSc7XHJcblxyXG4vL3NlcnZpY2VzXHJcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvY29yZS1hcGkuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvZW1haWxzLWFwaS5zZXJ2aWNlJztcclxuIl19
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
<file>
|
|
3
|
-
Project:
|
|
4
|
-
@osovitny/anatoly
|
|
5
|
-
|
|
6
|
-
Authors:
|
|
7
|
-
Vadim Osovitny vadim@osovitny.com
|
|
8
|
-
Anatoly Osovitny anatoly@osovitny.com
|
|
9
|
-
|
|
10
|
-
Created:
|
|
11
|
-
30 April 2020
|
|
12
|
-
|
|
13
|
-
Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
|
|
14
|
-
</file>
|
|
15
|
-
*/
|
|
16
|
-
//App
|
|
17
|
-
import { ApiUrl } from '../core/consts/core-settings';
|
|
18
|
-
export const Urls = {
|
|
19
|
-
coreApiUrl: `${ApiUrl}/core`,
|
|
20
|
-
emailsApiUrl: `${ApiUrl}/emails`
|
|
21
|
-
};
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9kYXRhL3VybHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0VBY0U7QUFFRixLQUFLO0FBQ0wsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRXRELE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRztJQUNsQixVQUFVLEVBQUUsR0FBRyxNQUFNLE9BQU87SUFDNUIsWUFBWSxFQUFFLEdBQUcsTUFBTSxTQUFTO0NBQ2pDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55IHZhZGltQG9zb3ZpdG55LmNvbVxyXG4gICAgQW5hdG9seSBPc292aXRueSBhbmF0b2x5QG9zb3ZpdG55LmNvbVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMzAgQXByaWwgMjAyMFxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMiBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vQXBwXHJcbmltcG9ydCB7IEFwaVVybCB9IGZyb20gJy4uL2NvcmUvY29uc3RzL2NvcmUtc2V0dGluZ3MnO1xyXG5cclxuZXhwb3J0IGNvbnN0IFVybHMgPSB7XHJcbiAgY29yZUFwaVVybDogYCR7QXBpVXJsfS9jb3JlYCxcclxuICBlbWFpbHNBcGlVcmw6IGAke0FwaVVybH0vZW1haWxzYFxyXG59XHJcbiJdfQ==
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
<file>
|
|
3
|
-
Project:
|
|
4
|
-
@osovitny/anatoly
|
|
5
|
-
|
|
6
|
-
Authors:
|
|
7
|
-
Vadim Osovitny vadim@osovitny.com
|
|
8
|
-
Anatoly Osovitny anatoly@osovitny.com
|
|
9
|
-
|
|
10
|
-
Created:
|
|
11
|
-
27 Nov 2023
|
|
12
|
-
|
|
13
|
-
Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
|
|
14
|
-
</file>
|
|
15
|
-
*/
|
|
16
|
-
//guards
|
|
17
|
-
export * from './guards';
|
|
18
|
-
//services
|
|
19
|
-
export * from './services/auth.service';
|
|
20
|
-
//utils
|
|
21
|
-
export * from './utils';
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvaWFtL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBRUYsUUFBUTtBQUNSLGNBQWMsVUFBVSxDQUFDO0FBRXpCLFVBQVU7QUFDVixjQUFjLHlCQUF5QixDQUFDO0FBRXhDLE9BQU87QUFDUCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnkgdmFkaW1Ab3Nvdml0bnkuY29tXHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55IGFuYXRvbHlAb3Nvdml0bnkuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAyNyBOb3YgMjAyM1xyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMiBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vZ3VhcmRzXHJcbmV4cG9ydCAqIGZyb20gJy4vZ3VhcmRzJztcclxuXHJcbi8vc2VydmljZXNcclxuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xyXG5cclxuLy91dGlsc1xyXG5leHBvcnQgKiBmcm9tICcuL3V0aWxzJztcclxuIl19
|
|
@@ -1,317 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
<file>
|
|
3
|
-
Project:
|
|
4
|
-
@osovitny/anatoly
|
|
5
|
-
|
|
6
|
-
Authors:
|
|
7
|
-
Vadim Osovitny vadim@osovitny.com
|
|
8
|
-
Anatoly Osovitny anatoly@osovitny.com
|
|
9
|
-
|
|
10
|
-
Created:
|
|
11
|
-
14 Jun 2024
|
|
12
|
-
|
|
13
|
-
Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
|
|
14
|
-
</file>
|
|
15
|
-
*/
|
|
16
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild, } from "@angular/core";
|
|
17
|
-
import { Subject } from "rxjs";
|
|
18
|
-
import * as i0 from "@angular/core";
|
|
19
|
-
import * as i1 from "../services/paypal-script.service";
|
|
20
|
-
const _c0 = ["payPalButtonContainer"];
|
|
21
|
-
export class PayPalComponent {
|
|
22
|
-
set payPalButtonContainer(content) {
|
|
23
|
-
this.payPalButtonContainerElem = content;
|
|
24
|
-
}
|
|
25
|
-
constructor(paypalScriptService, cdr, ngZone) {
|
|
26
|
-
this.paypalScriptService = paypalScriptService;
|
|
27
|
-
this.cdr = cdr;
|
|
28
|
-
this.ngZone = ngZone;
|
|
29
|
-
/**
|
|
30
|
-
* If enabled, paypal SDK script will be loaded. Useful if you want to have multiple PayPal components on the same page
|
|
31
|
-
* sharing base configuration. In such a case only a single component may register script.
|
|
32
|
-
*/
|
|
33
|
-
this.registerScript = true;
|
|
34
|
-
/**
|
|
35
|
-
* Emitted when paypal script is loaded
|
|
36
|
-
*/
|
|
37
|
-
this.scriptLoaded = new EventEmitter();
|
|
38
|
-
this.ngUnsubscribe = new Subject();
|
|
39
|
-
/**
|
|
40
|
-
* Flag that indicates if paypal should be initialized (required for handling script load events and availability of DOM element)
|
|
41
|
-
*/
|
|
42
|
-
this.initializePayPal = true;
|
|
43
|
-
}
|
|
44
|
-
ngOnChanges(changes) {
|
|
45
|
-
if (!this.payPalButtonContainerId) {
|
|
46
|
-
this.payPalButtonContainerId = this.generateElementId();
|
|
47
|
-
}
|
|
48
|
-
// first time config setup
|
|
49
|
-
const config = this.config;
|
|
50
|
-
//const name = 'PayPalConfig';
|
|
51
|
-
if (changes['config'].isFirstChange()) {
|
|
52
|
-
if (config && this.registerScript) {
|
|
53
|
-
this.initPayPalScript(config, (payPal) => {
|
|
54
|
-
// store reference to paypal global script
|
|
55
|
-
this.payPal = payPal;
|
|
56
|
-
this.doPayPalCheck();
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
// changes to config
|
|
61
|
-
if (!changes['config'].isFirstChange()) {
|
|
62
|
-
this.reinitialize(config);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
ngOnDestroy() {
|
|
66
|
-
this.paypalScriptService.destroyPayPalScript();
|
|
67
|
-
this.ngUnsubscribe.next();
|
|
68
|
-
this.ngUnsubscribe.complete();
|
|
69
|
-
}
|
|
70
|
-
ngAfterViewInit() {
|
|
71
|
-
this.doPayPalCheck();
|
|
72
|
-
}
|
|
73
|
-
customInit(payPal) {
|
|
74
|
-
this.payPal = payPal;
|
|
75
|
-
this.doPayPalCheck();
|
|
76
|
-
}
|
|
77
|
-
reinitialize(config) {
|
|
78
|
-
this.config = config;
|
|
79
|
-
this.payPal = undefined;
|
|
80
|
-
this.paypalScriptService.destroyPayPalScript();
|
|
81
|
-
this.payPalButtonContainerId = this.generateElementId();
|
|
82
|
-
this.initializePayPal = true;
|
|
83
|
-
if (this.payPalButtonContainerElem) {
|
|
84
|
-
try {
|
|
85
|
-
while (this.payPalButtonContainerElem.nativeElement.firstChild) {
|
|
86
|
-
this.payPalButtonContainerElem.nativeElement.removeChild(this.payPalButtonContainerElem.nativeElement.firstChild);
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
catch (error) {
|
|
90
|
-
console.error(error);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
this.cdr.detectChanges();
|
|
94
|
-
if (this.config) {
|
|
95
|
-
if (!this.payPal) {
|
|
96
|
-
this.initPayPalScript(this.config, (payPal) => {
|
|
97
|
-
// store reference to paypal global script
|
|
98
|
-
this.payPal = payPal;
|
|
99
|
-
this.doPayPalCheck();
|
|
100
|
-
});
|
|
101
|
-
}
|
|
102
|
-
else {
|
|
103
|
-
this.doPayPalCheck();
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
doPayPalCheck() {
|
|
108
|
-
if (this.initializePayPal &&
|
|
109
|
-
this.config &&
|
|
110
|
-
this.payPal &&
|
|
111
|
-
this.payPalButtonContainerElem) {
|
|
112
|
-
// make sure that id is also set
|
|
113
|
-
if (this.payPalButtonContainerElem.nativeElement.id) {
|
|
114
|
-
this.initializePayPal = false;
|
|
115
|
-
this.initPayPal(this.config, this.payPal);
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
initPayPalScript(config, initPayPal) {
|
|
120
|
-
this.paypalScriptService.registerPayPalScript({
|
|
121
|
-
clientId: config.clientId,
|
|
122
|
-
locale: config.advanced?.locale,
|
|
123
|
-
commit: config.advanced && config.advanced.commit
|
|
124
|
-
? config.advanced.commit
|
|
125
|
-
: undefined,
|
|
126
|
-
currency: config.currency,
|
|
127
|
-
vault: config.vault,
|
|
128
|
-
intent: config.intent,
|
|
129
|
-
funding: config.fundingSource != undefined || config.fundingSource != null ? true : false,
|
|
130
|
-
extraParams: config.advanced && config.advanced.extraQueryParams
|
|
131
|
-
? config.advanced.extraQueryParams
|
|
132
|
-
: [],
|
|
133
|
-
}, (paypal) => {
|
|
134
|
-
this.scriptLoaded.next(paypal);
|
|
135
|
-
initPayPal(paypal);
|
|
136
|
-
});
|
|
137
|
-
}
|
|
138
|
-
generateElementId() {
|
|
139
|
-
return `ngx-captcha-id-${this.generateGuid()}`;
|
|
140
|
-
}
|
|
141
|
-
initPayPal(config, paypal) {
|
|
142
|
-
// Running outside angular zone prevents infinite ngDoCheck lifecycle calls
|
|
143
|
-
this.ngZone.runOutsideAngular(() => {
|
|
144
|
-
// https://developer.paypal.com/docs/checkout/integrate/#2-add-the-paypal-script-to-your-web-page
|
|
145
|
-
const createOrder = (data, actions) => {
|
|
146
|
-
return this.ngZone.run(() => {
|
|
147
|
-
if (config.createOrderOnClient && config.createOrderOnServer) {
|
|
148
|
-
throw Error(`Both 'createOrderOnClient' and 'createOrderOnServer' are defined.
|
|
149
|
-
Please choose one or the other.`);
|
|
150
|
-
}
|
|
151
|
-
if (!config.createOrderOnClient && !config.createOrderOnServer) {
|
|
152
|
-
throw Error(`Neither 'createOrderOnClient' or 'createOrderOnServer' are defined.
|
|
153
|
-
Please define one of these to create order.`);
|
|
154
|
-
}
|
|
155
|
-
if (config.createOrderOnClient) {
|
|
156
|
-
return actions.order.create(config.createOrderOnClient(data));
|
|
157
|
-
}
|
|
158
|
-
if (config.createOrderOnServer) {
|
|
159
|
-
return config.createOrderOnServer(data);
|
|
160
|
-
}
|
|
161
|
-
throw Error(`Invalid state for 'createOrder'.`);
|
|
162
|
-
});
|
|
163
|
-
};
|
|
164
|
-
const createSubscription = (data, actions) => {
|
|
165
|
-
return this.ngZone.run(() => {
|
|
166
|
-
if (config.createSubscriptionOnClient) {
|
|
167
|
-
return actions.subscription.create(config.createSubscriptionOnClient(data));
|
|
168
|
-
}
|
|
169
|
-
return;
|
|
170
|
-
});
|
|
171
|
-
};
|
|
172
|
-
const onShippingChange = (data, actions) => {
|
|
173
|
-
return this.ngZone.run(() => {
|
|
174
|
-
if (config.onShippingChange) {
|
|
175
|
-
return config.onShippingChange(data, actions);
|
|
176
|
-
}
|
|
177
|
-
});
|
|
178
|
-
};
|
|
179
|
-
const buttonsConfig = {
|
|
180
|
-
style: config.style,
|
|
181
|
-
fundingSource: undefined,
|
|
182
|
-
onApprove: (data, actions) => {
|
|
183
|
-
return this.ngZone.run(() => {
|
|
184
|
-
if (config.onApprove) {
|
|
185
|
-
config.onApprove(data, actions);
|
|
186
|
-
}
|
|
187
|
-
// capture on server
|
|
188
|
-
if (config.authorizeOnServer) {
|
|
189
|
-
return config.authorizeOnServer(data, actions);
|
|
190
|
-
}
|
|
191
|
-
// capture on client
|
|
192
|
-
const onClientAuthorization = config.onClientAuthorization;
|
|
193
|
-
if (onClientAuthorization) {
|
|
194
|
-
actions.order
|
|
195
|
-
.capture()
|
|
196
|
-
.then((details) => {
|
|
197
|
-
this.ngZone.run(() => {
|
|
198
|
-
onClientAuthorization(details);
|
|
199
|
-
});
|
|
200
|
-
});
|
|
201
|
-
}
|
|
202
|
-
});
|
|
203
|
-
},
|
|
204
|
-
onError: (error) => {
|
|
205
|
-
this.ngZone.run(() => {
|
|
206
|
-
if (config.onError) {
|
|
207
|
-
config.onError(error);
|
|
208
|
-
}
|
|
209
|
-
});
|
|
210
|
-
},
|
|
211
|
-
onCancel: (data, actions) => {
|
|
212
|
-
this.ngZone.run(() => {
|
|
213
|
-
if (config.onCancel) {
|
|
214
|
-
config.onCancel(data, actions);
|
|
215
|
-
}
|
|
216
|
-
});
|
|
217
|
-
},
|
|
218
|
-
onClick: (data, actions) => {
|
|
219
|
-
this.ngZone.run(() => {
|
|
220
|
-
if (config.onClick) {
|
|
221
|
-
config.onClick(data, actions);
|
|
222
|
-
}
|
|
223
|
-
});
|
|
224
|
-
},
|
|
225
|
-
onInit: (data, actions) => {
|
|
226
|
-
this.ngZone.run(() => {
|
|
227
|
-
if (config.onInit) {
|
|
228
|
-
config.onInit(data, actions);
|
|
229
|
-
}
|
|
230
|
-
});
|
|
231
|
-
},
|
|
232
|
-
// Add the functions if they've been created in the config object
|
|
233
|
-
// The API only allows one of the two to be set
|
|
234
|
-
...((config.createOrderOnClient || config.createOrderOnServer) && {
|
|
235
|
-
createOrder,
|
|
236
|
-
}),
|
|
237
|
-
...(config.createSubscriptionOnClient && { createSubscription }),
|
|
238
|
-
// The onShippingChange callback cannot be used with subscriptions
|
|
239
|
-
// so we only add it if it is set
|
|
240
|
-
...(config.onShippingChange && { onShippingChange }),
|
|
241
|
-
};
|
|
242
|
-
let fundSource = undefined;
|
|
243
|
-
switch (config.fundingSource) {
|
|
244
|
-
case "PAYPAL":
|
|
245
|
-
fundSource = paypal.FUNDING.PAYPAL;
|
|
246
|
-
break;
|
|
247
|
-
case "CARD":
|
|
248
|
-
fundSource = paypal.FUNDING.CARD;
|
|
249
|
-
break;
|
|
250
|
-
case "PAYLATER":
|
|
251
|
-
fundSource = paypal.FUNDING.PAYLATER;
|
|
252
|
-
break;
|
|
253
|
-
case "CREDIT":
|
|
254
|
-
fundSource = paypal.FUNDING.CREDIT;
|
|
255
|
-
break;
|
|
256
|
-
case "VENMO":
|
|
257
|
-
fundSource = paypal.FUNDING.VENMO;
|
|
258
|
-
break;
|
|
259
|
-
default:
|
|
260
|
-
break;
|
|
261
|
-
}
|
|
262
|
-
if (fundSource != undefined) {
|
|
263
|
-
buttonsConfig.fundingSource = fundSource;
|
|
264
|
-
if (config.fundingSource !== "PAYPAL")
|
|
265
|
-
delete buttonsConfig.style?.color;
|
|
266
|
-
}
|
|
267
|
-
paypal.Buttons(buttonsConfig).render(`#${this.payPalButtonContainerId}`);
|
|
268
|
-
});
|
|
269
|
-
}
|
|
270
|
-
generateGuid() {
|
|
271
|
-
let d = new Date().getTime(), d2 = (performance && performance.now && performance.now() * 1000) || 0;
|
|
272
|
-
return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (c) => {
|
|
273
|
-
let r = Math.random() * 16;
|
|
274
|
-
if (d > 0) {
|
|
275
|
-
r = (d + r) % 16 | 0;
|
|
276
|
-
d = Math.floor(d / 16);
|
|
277
|
-
}
|
|
278
|
-
else {
|
|
279
|
-
r = (d2 + r) % 16 | 0;
|
|
280
|
-
d2 = Math.floor(d2 / 16);
|
|
281
|
-
}
|
|
282
|
-
return (c == "x" ? r : (r & 0x7) | 0x8).toString(16);
|
|
283
|
-
});
|
|
284
|
-
}
|
|
285
|
-
static { this.ɵfac = function PayPalComponent_Factory(t) { return new (t || PayPalComponent)(i0.ɵɵdirectiveInject(i1.PayPalScriptService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.NgZone)); }; }
|
|
286
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PayPalComponent, selectors: [["anatoly-paypal"]], viewQuery: function PayPalComponent_Query(rf, ctx) { if (rf & 1) {
|
|
287
|
-
i0.ɵɵviewQuery(_c0, 5);
|
|
288
|
-
} if (rf & 2) {
|
|
289
|
-
let _t;
|
|
290
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.payPalButtonContainer = _t.first);
|
|
291
|
-
} }, inputs: { config: "config", registerScript: "registerScript" }, outputs: { scriptLoaded: "scriptLoaded" }, features: [i0.ɵɵNgOnChangesFeature], decls: 2, vars: 1, consts: [[3, "id"], ["payPalButtonContainer", ""]], template: function PayPalComponent_Template(rf, ctx) { if (rf & 1) {
|
|
292
|
-
i0.ɵɵelement(0, "div", 0, 1);
|
|
293
|
-
} if (rf & 2) {
|
|
294
|
-
i0.ɵɵproperty("id", ctx.payPalButtonContainerId);
|
|
295
|
-
} }, encapsulation: 2, changeDetection: 0 }); }
|
|
296
|
-
}
|
|
297
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PayPalComponent, [{
|
|
298
|
-
type: Component,
|
|
299
|
-
args: [{
|
|
300
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
301
|
-
selector: "anatoly-paypal",
|
|
302
|
-
template: `
|
|
303
|
-
<div #payPalButtonContainer [id]="payPalButtonContainerId"></div>
|
|
304
|
-
`,
|
|
305
|
-
}]
|
|
306
|
-
}], () => [{ type: i1.PayPalScriptService }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }], { config: [{
|
|
307
|
-
type: Input
|
|
308
|
-
}], registerScript: [{
|
|
309
|
-
type: Input
|
|
310
|
-
}], scriptLoaded: [{
|
|
311
|
-
type: Output
|
|
312
|
-
}], payPalButtonContainer: [{
|
|
313
|
-
type: ViewChild,
|
|
314
|
-
args: ["payPalButtonContainer", { static: false }]
|
|
315
|
-
}] }); })();
|
|
316
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PayPalComponent, { className: "PayPalComponent", filePath: "lib\\payments\\PayPal\\components\\paypal.component.ts", lineNumber: 58 }); })();
|
|
317
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5cGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9wYXltZW50cy9QYXlQYWwvY29tcG9uZW50cy9wYXlwYWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBRUYsT0FBTyxFQUVMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFJTCxNQUFNLEVBRU4sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7QUEwQi9CLE1BQU0sT0FBTyxlQUFlO0lBeUIxQixJQUNJLHFCQUFxQixDQUFDLE9BQW1CO1FBQzNDLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxPQUFPLENBQUM7SUFDM0MsQ0FBQztJQVlELFlBQ1UsbUJBQXdDLEVBQ3hDLEdBQXNCLEVBQ3RCLE1BQWM7UUFGZCx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFyQ3hCOzs7V0FHRztRQUNNLG1CQUFjLEdBQVksSUFBSSxDQUFDO1FBRXhDOztXQUVHO1FBQ08saUJBQVksR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBT2hDLGtCQUFhLEdBQWtCLElBQUksT0FBTyxFQUFRLENBQUM7UUFRcEU7O1dBRUc7UUFDSyxxQkFBZ0IsR0FBWSxJQUFJLENBQUM7SUFXekMsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLHVCQUF1QixHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQzFELENBQUM7UUFFRCwwQkFBMEI7UUFDMUIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMzQiw4QkFBOEI7UUFFOUIsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztZQUN0QyxJQUFJLE1BQU0sSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ2xDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRTtvQkFDdkMsMENBQTBDO29CQUMxQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztvQkFDckIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUN2QixDQUFDLENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDO1FBRUQsb0JBQW9CO1FBQ3BCLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztZQUN2QyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVCLENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQy9DLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsVUFBVSxDQUFDLE1BQVc7UUFDcEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxZQUFZLENBQUMsTUFBaUM7UUFDNUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUM7UUFDeEIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDL0MsSUFBSSxDQUFDLHVCQUF1QixHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3hELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFFN0IsSUFBSSxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztZQUNuQyxJQUFJLENBQUM7Z0JBQ0gsT0FBTyxJQUFJLENBQUMseUJBQXlCLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxDQUFDO29CQUMvRCxJQUFJLENBQUMseUJBQXlCLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FDdEQsSUFBSSxDQUFDLHlCQUF5QixDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQ3hELENBQUM7Z0JBQ0osQ0FBQztZQUNILENBQUM7WUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO2dCQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkIsQ0FBQztRQUNILENBQUM7UUFFRCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRXpCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ2pCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUU7b0JBQzVDLDBDQUEwQztvQkFDMUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7b0JBQ3JCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDdkIsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3ZCLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVPLGFBQWE7UUFDbkIsSUFDRSxJQUFJLENBQUMsZ0JBQWdCO1lBQ3JCLElBQUksQ0FBQyxNQUFNO1lBQ1gsSUFBSSxDQUFDLE1BQU07WUFDWCxJQUFJLENBQUMseUJBQXlCLEVBQzlCLENBQUM7WUFDRCxnQ0FBZ0M7WUFDaEMsSUFBSSxJQUFJLENBQUMseUJBQXlCLENBQUMsYUFBYSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUNwRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO2dCQUM5QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzVDLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVPLGdCQUFnQixDQUN0QixNQUFxQixFQUNyQixVQUFpQztRQUVqQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsb0JBQW9CLENBQzNDO1lBQ0UsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRO1lBQ3pCLE1BQU0sRUFBRSxNQUFNLENBQUMsUUFBUSxFQUFFLE1BQU07WUFDL0IsTUFBTSxFQUNKLE1BQU0sQ0FBQyxRQUFRLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNO2dCQUN2QyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNO2dCQUN4QixDQUFDLENBQUMsU0FBUztZQUNmLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUTtZQUN6QixLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUs7WUFDbkIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNO1lBQ3JCLE9BQU8sRUFBRSxNQUFNLENBQUMsYUFBYSxJQUFJLFNBQVMsSUFBSSxNQUFNLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQ3pGLFdBQVcsRUFDVCxNQUFNLENBQUMsUUFBUSxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsZ0JBQWdCO2dCQUNqRCxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0I7Z0JBQ2xDLENBQUMsQ0FBQyxFQUFFO1NBQ1QsRUFDRCxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ1QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDL0IsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3JCLENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVPLGlCQUFpQjtRQUN2QixPQUFPLGtCQUFrQixJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBRU8sVUFBVSxDQUFDLE1BQXFCLEVBQUUsTUFBVztRQUNuRCwyRUFBMkU7UUFDM0UsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDakMsaUdBQWlHO1lBQ2pHLE1BQU0sV0FBVyxHQUFHLENBQUMsSUFBUyxFQUFFLE9BQW9DLEVBQUUsRUFBRTtnQkFDdEUsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7b0JBQzFCLElBQUksTUFBTSxDQUFDLG1CQUFtQixJQUFJLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO3dCQUM3RCxNQUFNLEtBQUssQ0FBQztvREFDNEIsQ0FBQyxDQUFDO29CQUM1QyxDQUFDO29CQUVELElBQUksQ0FBQyxNQUFNLENBQUMsbUJBQW1CLElBQUksQ0FBQyxNQUFNLENBQUMsbUJBQW1CLEVBQUUsQ0FBQzt3QkFDL0QsTUFBTSxLQUFLLENBQUM7Z0VBQ3dDLENBQUMsQ0FBQztvQkFDeEQsQ0FBQztvQkFFRCxJQUFJLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO3dCQUMvQixPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO29CQUNoRSxDQUFDO29CQUVELElBQUksTUFBTSxDQUFDLG1CQUFtQixFQUFFLENBQUM7d0JBQy9CLE9BQU8sTUFBTSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO29CQUMxQyxDQUFDO29CQUVELE1BQU0sS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7Z0JBQ2xELENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDO1lBQ0YsTUFBTSxrQkFBa0IsR0FBRyxDQUN6QixJQUFxQyxFQUNyQyxPQUEyQyxFQUMzQyxFQUFFO2dCQUNGLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO29CQUMxQixJQUFJLE1BQU0sQ0FBQywwQkFBMEIsRUFBRSxDQUFDO3dCQUN0QyxPQUFPLE9BQU8sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUNoQyxNQUFNLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLENBQ3hDLENBQUM7b0JBQ0osQ0FBQztvQkFDRCxPQUFPO2dCQUNULENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDO1lBQ0YsTUFBTSxnQkFBZ0IsR0FBRyxDQUN2QixJQUEyQixFQUMzQixPQUFpQyxFQUNqQyxFQUFFO2dCQUNGLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO29CQUMxQixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO3dCQUM1QixPQUFPLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7b0JBQ2hELENBQUM7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUM7WUFFRixNQUFNLGFBQWEsR0FBRztnQkFDcEIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLO2dCQUNuQixhQUFhLEVBQUUsU0FBUztnQkFDeEIsU0FBUyxFQUFFLENBQ1QsSUFBNEIsRUFDNUIsT0FBa0MsRUFDbEMsRUFBRTtvQkFDRixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTt3QkFDMUIsSUFBSSxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7NEJBQ3JCLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO3dCQUNsQyxDQUFDO3dCQUVELG9CQUFvQjt3QkFDcEIsSUFBSSxNQUFNLENBQUMsaUJBQWlCLEVBQUUsQ0FBQzs0QkFDN0IsT0FBTyxNQUFNLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO3dCQUNqRCxDQUFDO3dCQUVELG9CQUFvQjt3QkFDcEIsTUFBTSxxQkFBcUIsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUM7d0JBQzNELElBQUkscUJBQXFCLEVBQUUsQ0FBQzs0QkFDMUIsT0FBTyxDQUFDLEtBQUs7aUNBQ1YsT0FBTyxFQUFFO2lDQUNULElBQUksQ0FBQyxDQUFDLE9BQXFDLEVBQUUsRUFBRTtnQ0FDOUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO29DQUNuQixxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQ0FDakMsQ0FBQyxDQUFDLENBQUM7NEJBQ0wsQ0FBQyxDQUFDLENBQUM7d0JBQ1AsQ0FBQztvQkFDSCxDQUFDLENBQUMsQ0FBQztnQkFDTCxDQUFDO2dCQUNELE9BQU8sRUFBRSxDQUFDLEtBQVUsRUFBRSxFQUFFO29CQUN0QixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7d0JBQ25CLElBQUksTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDOzRCQUNuQixNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO3dCQUN4QixDQUFDO29CQUNILENBQUMsQ0FBQyxDQUFDO2dCQUNMLENBQUM7Z0JBQ0QsUUFBUSxFQUFFLENBQUMsSUFBeUIsRUFBRSxPQUFZLEVBQUUsRUFBRTtvQkFDcEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO3dCQUNuQixJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQzs0QkFDcEIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7d0JBQ2pDLENBQUM7b0JBQ0gsQ0FBQyxDQUFDLENBQUM7Z0JBQ0wsQ0FBQztnQkFDRCxPQUFPLEVBQUUsQ0FBQyxJQUFTLEVBQUUsT0FBZ0MsRUFBRSxFQUFFO29CQUN2RCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7d0JBQ25CLElBQUksTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDOzRCQUNuQixNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQzt3QkFDaEMsQ0FBQztvQkFDSCxDQUFDLENBQUMsQ0FBQztnQkFDTCxDQUFDO2dCQUNELE1BQU0sRUFBRSxDQUFDLElBQXVCLEVBQUUsT0FBK0IsRUFBRSxFQUFFO29CQUNuRSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7d0JBQ25CLElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDOzRCQUNsQixNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQzt3QkFDL0IsQ0FBQztvQkFDSCxDQUFDLENBQUMsQ0FBQztnQkFDTCxDQUFDO2dCQUNELGlFQUFpRTtnQkFDakUsK0NBQStDO2dCQUMvQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsbUJBQW1CLElBQUksTUFBTSxDQUFDLG1CQUFtQixDQUFDLElBQUk7b0JBQ2hFLFdBQVc7aUJBQ1osQ0FBQztnQkFDRixHQUFHLENBQUMsTUFBTSxDQUFDLDBCQUEwQixJQUFJLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQztnQkFDaEUsa0VBQWtFO2dCQUNsRSxpQ0FBaUM7Z0JBQ2pDLEdBQUcsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxDQUFDO2FBQ3JELENBQUM7WUFFRixJQUFJLFVBQVUsR0FBRyxTQUFTLENBQUM7WUFDM0IsUUFBTyxNQUFNLENBQUMsYUFBYSxFQUFDLENBQUM7Z0JBQzNCLEtBQUssUUFBUTtvQkFDWCxVQUFVLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7b0JBQ25DLE1BQU07Z0JBQ1IsS0FBSyxNQUFNO29CQUNULFVBQVUsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztvQkFDakMsTUFBTTtnQkFDUixLQUFLLFVBQVU7b0JBQ2IsVUFBVSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO29CQUNyQyxNQUFNO2dCQUNSLEtBQUssUUFBUTtvQkFDWCxVQUFVLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7b0JBQ25DLE1BQU07Z0JBQ1IsS0FBSyxPQUFPO29CQUNWLFVBQVUsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztvQkFDbEMsTUFBTTtnQkFDUjtvQkFDRSxNQUFNO1lBQ1YsQ0FBQztZQUNELElBQUcsVUFBVSxJQUFJLFNBQVMsRUFDMUIsQ0FBQztnQkFDQyxhQUFhLENBQUMsYUFBYSxHQUFHLFVBQVUsQ0FBQztnQkFDekMsSUFBRyxNQUFNLENBQUMsYUFBYSxLQUFLLFFBQVE7b0JBQ2xDLE9BQU8sYUFBYSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUE7WUFDckMsQ0FBQztZQUNELE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUMsQ0FBQztRQUMzRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxZQUFZO1FBQ2xCLElBQUksQ0FBQyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLEVBQzFCLEVBQUUsR0FBRyxDQUFDLFdBQVcsSUFBSSxXQUFXLENBQUMsR0FBRyxJQUFJLFdBQVcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekUsT0FBTyxzQ0FBc0MsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDbkUsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDVixDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDckIsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ3pCLENBQUM7aUJBQU0sQ0FBQztnQkFDTixDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDdEIsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQzNCLENBQUM7WUFDRCxPQUFPLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdkQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO2dGQTNVVSxlQUFlO29FQUFmLGVBQWU7Ozs7OztZQUh4Qiw0QkFBaUU7O1lBQXJDLGdEQUE4Qjs7O2lGQUdqRCxlQUFlO2NBUDNCLFNBQVM7ZUFBQztnQkFDVCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtnQkFDL0MsUUFBUSxFQUFFLGdCQUFnQjtnQkFDMUIsUUFBUSxFQUFFOztHQUVUO2FBQ0Y7eUdBS1UsTUFBTTtrQkFBZCxLQUFLO1lBTUcsY0FBYztrQkFBdEIsS0FBSztZQUtJLFlBQVk7a0JBQXJCLE1BQU07WUFXSCxxQkFBcUI7a0JBRHhCLFNBQVM7bUJBQUMsdUJBQXVCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFOztrRkF6QjFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55IHZhZGltQG9zb3ZpdG55LmNvbVxyXG4gICAgQW5hdG9seSBPc292aXRueSBhbmF0b2x5QG9zb3ZpdG55LmNvbVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMTQgSnVuIDIwMjRcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjIgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG5pbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE5nWm9uZSxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25EZXN0cm95LFxyXG4gIE91dHB1dCxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFZpZXdDaGlsZCxcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcclxuXHJcbmltcG9ydCB7XHJcbiAgSUNhbmNlbENhbGxiYWNrRGF0YSxcclxuICBJQ2xpZW50QXV0aG9yaXplQ2FsbGJhY2tEYXRhLFxyXG4gIElDcmVhdGVPcmRlckNhbGxiYWNrQWN0aW9ucyxcclxuICBJSW5pdENhbGxiYWNrRGF0YSxcclxuICBJT25BcHByb3ZlQ2FsbGJhY2tBY3Rpb25zLFxyXG4gIElPbkFwcHJvdmVDYWxsYmFja0RhdGEsXHJcbiAgSU9uQ2xpY2tDYWxsYmFja0FjdGlvbnMsXHJcbiAgSU9uSW5pdENhbGxiYWNrQWN0aW9ucyxcclxuICBJT25TaGlwcGluZ0NoYW5nZUFjdGlvbnMsXHJcbiAgSU9uU2hpcHBpbmdDaGFuZ2VEYXRhLFxyXG4gIElQYXlQYWxDb25maWcsXHJcbiAgSUNyZWF0ZVN1YnNjcmlwdGlvbkNhbGxiYWNrQWN0aW9ucyxcclxuICBJQ3JlYXRlU3Vic2NyaXB0aW9uQ2FsbGJhY2tEYXRhLFxyXG59IGZyb20gXCIuLi9tb2RlbHMvcGF5cGFsLW1vZGVsc1wiO1xyXG5pbXBvcnQgeyBQYXlQYWxTY3JpcHRTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL3BheXBhbC1zY3JpcHQuc2VydmljZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgc2VsZWN0b3I6IFwiYW5hdG9seS1wYXlwYWxcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiAjcGF5UGFsQnV0dG9uQ29udGFpbmVyIFtpZF09XCJwYXlQYWxCdXR0b25Db250YWluZXJJZFwiPjwvZGl2PlxyXG4gIGAsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQYXlQYWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgLyoqXHJcbiAgICogQ29uZmlndXJhdGlvbiBmb3IgcGF5cGFsLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGNvbmZpZz86IElQYXlQYWxDb25maWc7XHJcblxyXG4gIC8qKlxyXG4gICAqIElmIGVuYWJsZWQsIHBheXBhbCBTREsgc2NyaXB0IHdpbGwgYmUgbG9hZGVkLiBVc2VmdWwgaWYgeW91IHdhbnQgdG8gaGF2ZSBtdWx0aXBsZSBQYXlQYWwgY29tcG9uZW50cyBvbiB0aGUgc2FtZSBwYWdlXHJcbiAgICogc2hhcmluZyBiYXNlIGNvbmZpZ3VyYXRpb24uIEluIHN1Y2ggYSBjYXNlIG9ubHkgYSBzaW5nbGUgY29tcG9uZW50IG1heSByZWdpc3RlciBzY3JpcHQuXHJcbiAgICovXHJcbiAgQElucHV0KCkgcmVnaXN0ZXJTY3JpcHQ6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAvKipcclxuICAgKiBFbWl0dGVkIHdoZW4gcGF5cGFsIHNjcmlwdCBpcyBsb2FkZWRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgc2NyaXB0TG9hZGVkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIElkIG9mIHRoZSBlbGVtZW50IHdoZXJlIFBheVBhbCBidXR0b24gd2lsbCBiZSByZW5kZXJlZFxyXG4gICAqL1xyXG4gIHB1YmxpYyBwYXlQYWxCdXR0b25Db250YWluZXJJZD86IHN0cmluZztcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBuZ1Vuc3Vic2NyaWJlOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgcHJpdmF0ZSBwYXlQYWxCdXR0b25Db250YWluZXJFbGVtPzogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKFwicGF5UGFsQnV0dG9uQ29udGFpbmVyXCIsIHsgc3RhdGljOiBmYWxzZSB9KVxyXG4gIHNldCBwYXlQYWxCdXR0b25Db250YWluZXIoY29udGVudDogRWxlbWVudFJlZikge1xyXG4gICAgdGhpcy5wYXlQYWxCdXR0b25Db250YWluZXJFbGVtID0gY29udGVudDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZsYWcgdGhhdCBpbmRpY2F0ZXMgaWYgcGF5cGFsIHNob3VsZCBiZSBpbml0aWFsaXplZCAocmVxdWlyZWQgZm9yIGhhbmRsaW5nIHNjcmlwdCBsb2FkIGV2ZW50cyBhbmQgYXZhaWxhYmlsaXR5IG9mIERPTSBlbGVtZW50KVxyXG4gICAqL1xyXG4gIHByaXZhdGUgaW5pdGlhbGl6ZVBheVBhbDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlZmVyZW5jZSB0byBQYXlQYWwgZ2xvYmFsIEFQSVxyXG4gICAqL1xyXG4gIHByaXZhdGUgcGF5UGFsOiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBwYXlwYWxTY3JpcHRTZXJ2aWNlOiBQYXlQYWxTY3JpcHRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLnBheVBhbEJ1dHRvbkNvbnRhaW5lcklkKSB7XHJcbiAgICAgIHRoaXMucGF5UGFsQnV0dG9uQ29udGFpbmVySWQgPSB0aGlzLmdlbmVyYXRlRWxlbWVudElkKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gZmlyc3QgdGltZSBjb25maWcgc2V0dXBcclxuICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuY29uZmlnO1xyXG4gICAgLy9jb25zdCBuYW1lID0gJ1BheVBhbENvbmZpZyc7XHJcblxyXG4gICAgaWYgKGNoYW5nZXNbJ2NvbmZpZyddLmlzRmlyc3RDaGFuZ2UoKSkge1xyXG4gICAgICBpZiAoY29uZmlnICYmIHRoaXMucmVnaXN0ZXJTY3JpcHQpIHtcclxuICAgICAgICB0aGlzLmluaXRQYXlQYWxTY3JpcHQoY29uZmlnLCAocGF5UGFsKSA9PiB7XHJcbiAgICAgICAgICAvLyBzdG9yZSByZWZlcmVuY2UgdG8gcGF5cGFsIGdsb2JhbCBzY3JpcHRcclxuICAgICAgICAgIHRoaXMucGF5UGFsID0gcGF5UGFsO1xyXG4gICAgICAgICAgdGhpcy5kb1BheVBhbENoZWNrKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBjaGFuZ2VzIHRvIGNvbmZpZ1xyXG4gICAgaWYgKCFjaGFuZ2VzWydjb25maWcnXS5pc0ZpcnN0Q2hhbmdlKCkpIHtcclxuICAgICAgdGhpcy5yZWluaXRpYWxpemUoY29uZmlnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5wYXlwYWxTY3JpcHRTZXJ2aWNlLmRlc3Ryb3lQYXlQYWxTY3JpcHQoKTtcclxuICAgIHRoaXMubmdVbnN1YnNjcmliZS5uZXh0KCk7XHJcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZG9QYXlQYWxDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgY3VzdG9tSW5pdChwYXlQYWw6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5wYXlQYWwgPSBwYXlQYWw7XHJcbiAgICB0aGlzLmRvUGF5UGFsQ2hlY2soKTtcclxuICB9XHJcblxyXG4gIHJlaW5pdGlhbGl6ZShjb25maWc6IElQYXlQYWxDb25maWcgfCB1bmRlZmluZWQpOiB2b2lkIHtcclxuICAgIHRoaXMuY29uZmlnID0gY29uZmlnO1xyXG4gICAgdGhpcy5wYXlQYWwgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnBheXBhbFNjcmlwdFNlcnZpY2UuZGVzdHJveVBheVBhbFNjcmlwdCgpO1xyXG4gICAgdGhpcy5wYXlQYWxCdXR0b25Db250YWluZXJJZCA9IHRoaXMuZ2VuZXJhdGVFbGVtZW50SWQoKTtcclxuICAgIHRoaXMuaW5pdGlhbGl6ZVBheVBhbCA9IHRydWU7XHJcblxyXG4gICAgaWYgKHRoaXMucGF5UGFsQnV0dG9uQ29udGFpbmVyRWxlbSkge1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIHdoaWxlICh0aGlzLnBheVBhbEJ1dHRvbkNvbnRhaW5lckVsZW0ubmF0aXZlRWxlbWVudC5maXJzdENoaWxkKSB7XHJcbiAgICAgICAgICB0aGlzLnBheVBhbEJ1dHRvbkNvbnRhaW5lckVsZW0ubmF0aXZlRWxlbWVudC5yZW1vdmVDaGlsZChcclxuICAgICAgICAgICAgdGhpcy5wYXlQYWxCdXR0b25Db250YWluZXJFbGVtLm5hdGl2ZUVsZW1lbnQuZmlyc3RDaGlsZFxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcblxyXG4gICAgaWYgKHRoaXMuY29uZmlnKSB7XHJcbiAgICAgIGlmICghdGhpcy5wYXlQYWwpIHtcclxuICAgICAgICB0aGlzLmluaXRQYXlQYWxTY3JpcHQodGhpcy5jb25maWcsIChwYXlQYWwpID0+IHtcclxuICAgICAgICAgIC8vIHN0b3JlIHJlZmVyZW5jZSB0byBwYXlwYWwgZ2xvYmFsIHNjcmlwdFxyXG4gICAgICAgICAgdGhpcy5wYXlQYWwgPSBwYXlQYWw7XHJcbiAgICAgICAgICB0aGlzLmRvUGF5UGFsQ2hlY2soKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmRvUGF5UGFsQ2hlY2soKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBkb1BheVBhbENoZWNrKCk6IHZvaWQge1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLmluaXRpYWxpemVQYXlQYWwgJiZcclxuICAgICAgdGhpcy5jb25maWcgJiZcclxuICAgICAgdGhpcy5wYXlQYWwgJiZcclxuICAgICAgdGhpcy5wYXlQYWxCdXR0b25Db250YWluZXJFbGVtXHJcbiAgICApIHtcclxuICAgICAgLy8gbWFrZSBzdXJlIHRoYXQgaWQgaXMgYWxzbyBzZXRcclxuICAgICAgaWYgKHRoaXMucGF5UGFsQnV0dG9uQ29udGFpbmVyRWxlbS5uYXRpdmVFbGVtZW50LmlkKSB7XHJcbiAgICAgICAgdGhpcy5pbml0aWFsaXplUGF5UGFsID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5pbml0UGF5UGFsKHRoaXMuY29uZmlnLCB0aGlzLnBheVBhbCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5pdFBheVBhbFNjcmlwdChcclxuICAgIGNvbmZpZzogSVBheVBhbENvbmZpZyxcclxuICAgIGluaXRQYXlQYWw6IChwYXlwYWw6IGFueSkgPT4gdm9pZFxyXG4gICk6IHZvaWQge1xyXG4gICAgdGhpcy5wYXlwYWxTY3JpcHRTZXJ2aWNlLnJlZ2lzdGVyUGF5UGFsU2NyaXB0KFxyXG4gICAgICB7XHJcbiAgICAgICAgY2xpZW50SWQ6IGNvbmZpZy5jbGllbnRJZCxcclxuICAgICAgICBsb2NhbGU6IGNvbmZpZy5hZHZhbmNlZD8ubG9jYWxlLFxyXG4gICAgICAgIGNvbW1pdDpcclxuICAgICAgICAgIGNvbmZpZy5hZHZhbmNlZCAmJiBjb25maWcuYWR2YW5jZWQuY29tbWl0XHJcbiAgICAgICAgICAgID8gY29uZmlnLmFkdmFuY2VkLmNvbW1pdFxyXG4gICAgICAgICAgICA6IHVuZGVmaW5lZCxcclxuICAgICAgICBjdXJyZW5jeTogY29uZmlnLmN1cnJlbmN5LFxyXG4gICAgICAgIHZhdWx0OiBjb25maWcudmF1bHQsXHJcbiAgICAgICAgaW50ZW50OiBjb25maWcuaW50ZW50LFxyXG4gICAgICAgIGZ1bmRpbmc6IGNvbmZpZy5mdW5kaW5nU291cmNlICE9IHVuZGVmaW5lZCB8fCBjb25maWcuZnVuZGluZ1NvdXJjZSAhPSBudWxsID8gdHJ1ZSA6IGZhbHNlLFxyXG4gICAgICAgIGV4dHJhUGFyYW1zOlxyXG4gICAgICAgICAgY29uZmlnLmFkdmFuY2VkICYmIGNvbmZpZy5hZHZhbmNlZC5leHRyYVF1ZXJ5UGFyYW1zXHJcbiAgICAgICAgICAgID8gY29uZmlnLmFkdmFuY2VkLmV4dHJhUXVlcnlQYXJhbXNcclxuICAgICAgICAgICAgOiBbXSxcclxuICAgICAgfSxcclxuICAgICAgKHBheXBhbCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2NyaXB0TG9hZGVkLm5leHQocGF5cGFsKTtcclxuICAgICAgICBpbml0UGF5UGFsKHBheXBhbCk7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdlbmVyYXRlRWxlbWVudElkKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gYG5neC1jYXB0Y2hhLWlkLSR7dGhpcy5nZW5lcmF0ZUd1aWQoKX1gO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbml0UGF5UGFsKGNvbmZpZzogSVBheVBhbENvbmZpZywgcGF5cGFsOiBhbnkpOiB2b2lkIHtcclxuICAgIC8vIFJ1bm5pbmcgb3V0c2lkZSBhbmd1bGFyIHpvbmUgcHJldmVudHMgaW5maW5pdGUgbmdEb0NoZWNrIGxpZmVjeWNsZSBjYWxsc1xyXG4gICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xyXG4gICAgICAvLyBodHRwczovL2RldmVsb3Blci5wYXlwYWwuY29tL2RvY3MvY2hlY2tvdXQvaW50ZWdyYXRlLyMyLWFkZC10aGUtcGF5cGFsLXNjcmlwdC10by15b3VyLXdlYi1wYWdlXHJcbiAgICAgIGNvbnN0IGNyZWF0ZU9yZGVyID0gKGRhdGE6IGFueSwgYWN0aW9uczogSUNyZWF0ZU9yZGVyQ2FsbGJhY2tBY3Rpb25zKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XHJcbiAgICAgICAgICBpZiAoY29uZmlnLmNyZWF0ZU9yZGVyT25DbGllbnQgJiYgY29uZmlnLmNyZWF0ZU9yZGVyT25TZXJ2ZXIpIHtcclxuICAgICAgICAgICAgdGhyb3cgRXJyb3IoYEJvdGggJ2NyZWF0ZU9yZGVyT25DbGllbnQnIGFuZCAnY3JlYXRlT3JkZXJPblNlcnZlcicgYXJlIGRlZmluZWQuXHJcbiAgICAgICAgICAgICAgICAgICAgUGxlYXNlIGNob29zZSBvbmUgb3IgdGhlIG90aGVyLmApO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGlmICghY29uZmlnLmNyZWF0ZU9yZGVyT25DbGllbnQgJiYgIWNvbmZpZy5jcmVhdGVPcmRlck9uU2VydmVyKSB7XHJcbiAgICAgICAgICAgIHRocm93IEVycm9yKGBOZWl0aGVyICdjcmVhdGVPcmRlck9uQ2xpZW50JyBvciAnY3JlYXRlT3JkZXJPblNlcnZlcicgYXJlIGRlZmluZWQuXHJcbiAgICAgICAgICAgICAgICAgICAgUGxlYXNlIGRlZmluZSBvbmUgb2YgdGhlc2UgdG8gY3JlYXRlIG9yZGVyLmApO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGlmIChjb25maWcuY3JlYXRlT3JkZXJPbkNsaWVudCkge1xyXG4gICAgICAgICAgICByZXR1cm4gYWN0aW9ucy5vcmRlci5jcmVhdGUoY29uZmlnLmNyZWF0ZU9yZGVyT25DbGllbnQoZGF0YSkpO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGlmIChjb25maWcuY3JlYXRlT3JkZXJPblNlcnZlcikge1xyXG4gICAgICAgICAgICByZXR1cm4gY29uZmlnLmNyZWF0ZU9yZGVyT25TZXJ2ZXIoZGF0YSk7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgdGhyb3cgRXJyb3IoYEludmFsaWQgc3RhdGUgZm9yICdjcmVhdGVPcmRlcicuYCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH07XHJcbiAgICAgIGNvbnN0IGNyZWF0ZVN1YnNjcmlwdGlvbiA9IChcclxuICAgICAgICBkYXRhOiBJQ3JlYXRlU3Vic2NyaXB0aW9uQ2FsbGJhY2tEYXRhLFxyXG4gICAgICAgIGFjdGlvbnM6IElDcmVhdGVTdWJzY3JpcHRpb25DYWxsYmFja0FjdGlvbnNcclxuICAgICAgKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XHJcbiAgICAgICAgICBpZiAoY29uZmlnLmNyZWF0ZVN1YnNjcmlwdGlvbk9uQ2xpZW50KSB7XHJcbiAgICAgICAgICAgIHJldHVybiBhY3Rpb25zLnN1YnNjcmlwdGlvbi5jcmVhdGUoXHJcbiAgICAgICAgICAgICAgY29uZmlnLmNyZWF0ZVN1YnNjcmlwdGlvbk9uQ2xpZW50KGRhdGEpXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH07XHJcbiAgICAgIGNvbnN0IG9uU2hpcHBpbmdDaGFuZ2UgPSAoXHJcbiAgICAgICAgZGF0YTogSU9uU2hpcHBpbmdDaGFuZ2VEYXRhLFxyXG4gICAgICAgIGFjdGlvbnM6IElPblNoaXBwaW5nQ2hhbmdlQWN0aW9uc1xyXG4gICAgICApID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcclxuICAgICAgICAgIGlmIChjb25maWcub25TaGlwcGluZ0NoYW5nZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gY29uZmlnLm9uU2hpcHBpbmdDaGFuZ2UoZGF0YSwgYWN0aW9ucyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH07XHJcblxyXG4gICAgICBjb25zdCBidXR0b25zQ29uZmlnID0ge1xyXG4gICAgICAgIHN0eWxlOiBjb25maWcuc3R5bGUsXHJcbiAgICAgICAgZnVuZGluZ1NvdXJjZTogdW5kZWZpbmVkLFxyXG4gICAgICAgIG9uQXBwcm92ZTogKFxyXG4gICAgICAgICAgZGF0YTogSU9uQXBwcm92ZUNhbGxiYWNrRGF0YSxcclxuICAgICAgICAgIGFjdGlvbnM6IElPbkFwcHJvdmVDYWxsYmFja0FjdGlvbnNcclxuICAgICAgICApID0+IHtcclxuICAgICAgICAgIHJldHVybiB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoY29uZmlnLm9uQXBwcm92ZSkge1xyXG4gICAgICAgICAgICAgIGNvbmZpZy5vbkFwcHJvdmUoZGF0YSwgYWN0aW9ucyk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8vIGNhcHR1cmUgb24gc2VydmVyXHJcbiAgICAgICAgICAgIGlmIChjb25maWcuYXV0aG9yaXplT25TZXJ2ZXIpIHtcclxuICAgICAgICAgICAgICByZXR1cm4gY29uZmlnLmF1dGhvcml6ZU9uU2VydmVyKGRhdGEsIGFjdGlvbnMpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAvLyBjYXB0dXJlIG9uIGNsaWVudFxyXG4gICAgICAgICAgICBjb25zdCBvbkNsaWVudEF1dGhvcml6YXRpb24gPSBjb25maWcub25DbGllbnRBdXRob3JpemF0aW9uO1xyXG4gICAgICAgICAgICBpZiAob25DbGllbnRBdXRob3JpemF0aW9uKSB7XHJcbiAgICAgICAgICAgICAgYWN0aW9ucy5vcmRlclxyXG4gICAgICAgICAgICAgICAgLmNhcHR1cmUoKVxyXG4gICAgICAgICAgICAgICAgLnRoZW4oKGRldGFpbHM6IElDbGllbnRBdXRob3JpemVDYWxsYmFja0RhdGEpID0+IHtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBvbkNsaWVudEF1dGhvcml6YXRpb24oZGV0YWlscyk7XHJcbiAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgb25FcnJvcjogKGVycm9yOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChjb25maWcub25FcnJvcikge1xyXG4gICAgICAgICAgICAgIGNvbmZpZy5vbkVycm9yKGVycm9yKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBvbkNhbmNlbDogKGRhdGE6IElDYW5jZWxDYWxsYmFja0RhdGEsIGFjdGlvbnM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcclxuICAgICAgICAgICAgaWYgKGNvbmZpZy5vbkNhbmNlbCkge1xyXG4gICAgICAgICAgICAgIGNvbmZpZy5vbkNhbmNlbChkYXRhLCBhY3Rpb25zKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBvbkNsaWNrOiAoZGF0YTogYW55LCBhY3Rpb25zOiBJT25DbGlja0NhbGxiYWNrQWN0aW9ucykgPT4ge1xyXG4gICAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcclxuICAgICAgICAgICAgaWYgKGNvbmZpZy5vbkNsaWNrKSB7XHJcbiAgICAgICAgICAgICAgY29uZmlnLm9uQ2xpY2soZGF0YSwgYWN0aW9ucyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgb25Jbml0OiAoZGF0YTogSUluaXRDYWxsYmFja0RhdGEsIGFjdGlvbnM6IElPbkluaXRDYWxsYmFja0FjdGlvbnMpID0+IHtcclxuICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChjb25maWcub25Jbml0KSB7XHJcbiAgICAgICAgICAgICAgY29uZmlnLm9uSW5pdChkYXRhLCBhY3Rpb25zKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICAvLyBBZGQgdGhlIGZ1bmN0aW9ucyBpZiB0aGV5J3ZlIGJlZW4gY3JlYXRlZCBpbiB0aGUgY29uZmlnIG9iamVjdFxyXG4gICAgICAgIC8vIFRoZSBBUEkgb25seSBhbGxvd3Mgb25lIG9mIHRoZSB0d28gdG8gYmUgc2V0XHJcbiAgICAgICAgLi4uKChjb25maWcuY3JlYXRlT3JkZXJPbkNsaWVudCB8fCBjb25maWcuY3JlYXRlT3JkZXJPblNlcnZlcikgJiYge1xyXG4gICAgICAgICAgY3JlYXRlT3JkZXIsXHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgLi4uKGNvbmZpZy5jcmVhdGVTdWJzY3JpcHRpb25PbkNsaWVudCAmJiB7IGNyZWF0ZVN1YnNjcmlwdGlvbiB9KSxcclxuICAgICAgICAvLyBUaGUgb25TaGlwcGluZ0NoYW5nZSBjYWxsYmFjayBjYW5ub3QgYmUgdXNlZCB3aXRoIHN1YnNjcmlwdGlvbnNcclxuICAgICAgICAvLyBzbyB3ZSBvbmx5IGFkZCBpdCBpZiBpdCBpcyBzZXRcclxuICAgICAgICAuLi4oY29uZmlnLm9uU2hpcHBpbmdDaGFuZ2UgJiYgeyBvblNoaXBwaW5nQ2hhbmdlIH0pLFxyXG4gICAgICB9O1xyXG5cclxuICAgICAgbGV0IGZ1bmRTb3VyY2UgPSB1bmRlZmluZWQ7XHJcbiAgICAgIHN3aXRjaChjb25maWcuZnVuZGluZ1NvdXJjZSl7XHJcbiAgICAgICAgY2FzZSBcIlBBWVBBTFwiOlxyXG4gICAgICAgICAgZnVuZFNvdXJjZSA9IHBheXBhbC5GVU5ESU5HLlBBWVBBTDtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgXCJDQVJEXCI6XHJcbiAgICAgICAgICBmdW5kU291cmNlID0gcGF5cGFsLkZVTkRJTkcuQ0FSRDtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgXCJQQVlMQVRFUlwiOlxyXG4gICAgICAgICAgZnVuZFNvdXJjZSA9IHBheXBhbC5GVU5ESU5HLlBBWUxBVEVSO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSBcIkNSRURJVFwiOlxyXG4gICAgICAgICAgZnVuZFNvdXJjZSA9IHBheXBhbC5GVU5ESU5HLkNSRURJVDtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgXCJWRU5NT1wiOlxyXG4gICAgICAgICAgZnVuZFNvdXJjZSA9IHBheXBhbC5GVU5ESU5HLlZFTk1PO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICAgIGlmKGZ1bmRTb3VyY2UgIT0gdW5kZWZpbmVkKVxyXG4gICAgICB7XHJcbiAgICAgICAgYnV0dG9uc0NvbmZpZy5mdW5kaW5nU291cmNlID0gZnVuZFNvdXJjZTtcclxuICAgICAgICBpZihjb25maWcuZnVuZGluZ1NvdXJjZSAhPT0gXCJQQVlQQUxcIilcclxuICAgICAgICAgIGRlbGV0ZSBidXR0b25zQ29uZmlnLnN0eWxlPy5jb2xvclxyXG4gICAgICB9XHJcbiAgICAgIHBheXBhbC5CdXR0b25zKGJ1dHRvbnNDb25maWcpLnJlbmRlcihgIyR7dGhpcy5wYXlQYWxCdXR0b25Db250YWluZXJJZH1gKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZW5lcmF0ZUd1aWQoKTogc3RyaW5nIHtcclxuICAgIGxldCBkID0gbmV3IERhdGUoKS5nZXRUaW1lKCksXHJcbiAgICAgIGQyID0gKHBlcmZvcm1hbmNlICYmIHBlcmZvcm1hbmNlLm5vdyAmJiBwZXJmb3JtYW5jZS5ub3coKSAqIDEwMDApIHx8IDA7XHJcbiAgICByZXR1cm4gXCJ4eHh4eHh4eC14eHh4LTR4eHgteXh4eC14eHh4eHh4eHh4eHhcIi5yZXBsYWNlKC9beHldL2csIChjKSA9PiB7XHJcbiAgICAgIGxldCByID0gTWF0aC5yYW5kb20oKSAqIDE2O1xyXG4gICAgICBpZiAoZCA+IDApIHtcclxuICAgICAgICByID0gKGQgKyByKSAlIDE2IHwgMDtcclxuICAgICAgICBkID0gTWF0aC5mbG9vcihkIC8gMTYpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHIgPSAoZDIgKyByKSAlIDE2IHwgMDtcclxuICAgICAgICBkMiA9IE1hdGguZmxvb3IoZDIgLyAxNik7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIChjID09IFwieFwiID8gciA6IChyICYgMHg3KSB8IDB4OCkudG9TdHJpbmcoMTYpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
<file>
|
|
3
|
-
Project:
|
|
4
|
-
@osovitny/anatoly
|
|
5
|
-
|
|
6
|
-
Authors:
|
|
7
|
-
Vadim Osovitny vadim@osovitny.com
|
|
8
|
-
Anatoly Osovitny anatoly@osovitny.com
|
|
9
|
-
|
|
10
|
-
Created:
|
|
11
|
-
14 Jun 2024
|
|
12
|
-
|
|
13
|
-
Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
|
|
14
|
-
</file>
|
|
15
|
-
*/
|
|
16
|
-
export {};
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5cGFsLW1vZGVscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9wYXltZW50cy9QYXlQYWwvbW9kZWxzL3BheXBhbC1tb2RlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0VBY0UiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55IHZhZGltQG9zb3ZpdG55LmNvbVxyXG4gICAgQW5hdG9seSBPc292aXRueSBhbmF0b2x5QG9zb3ZpdG55LmNvbVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMTQgSnVuIDIwMjRcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjIgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElQYXlQYWxDb25maWcge1xyXG4gIC8qKlxyXG4gICAqIEN1cnJlbmN5IC0gRGVmYXVsdHMgdG8gVVNEIGlmIG5vdCBwcm92aWRlZFxyXG4gICAqL1xyXG4gIGN1cnJlbmN5Pzogc3RyaW5nO1xyXG5cclxuICAvKipcclxuICAgKiBVc2Ugd2hlbiBjcmVhdGluZyBvcmRlciBvbiBjbGllbnRcclxuICAgKi9cclxuICBjcmVhdGVPcmRlck9uQ2xpZW50PzogKGRhdGE6IGFueSkgPT4gSUNyZWF0ZU9yZGVyUmVxdWVzdDtcclxuXHJcbiAgLyoqXHJcbiAgICogVXNlIHdoZW4gY3JlYXRpbmcgc3Vic2NyaXB0aW9uIG9uIGNsaWVudFxyXG4gICAqL1xyXG4gIGNyZWF0ZVN1YnNjcmlwdGlvbk9uQ2xpZW50PzogKGRhdGE6IGFueSkgPT4gSUNyZWF0ZVN1YnNjcmlwdGlvblJlcXVlc3Q7XHJcblxyXG4gIC8qKlxyXG4gICAqIFVzZSBmb3IgY3JlYXRpbmcgb3JkZXJzIG9uIHNlcnZlci4gUGF5UGFsIGV4cGVjdHMgeW91IHRvIHJldHVybiAnb3JkZXJJZCcgaW4gdGhpcyBtZXRob2RcclxuICAgKi9cclxuICBjcmVhdGVPcmRlck9uU2VydmVyPzogKGRhdGE6IGFueSkgPT4gUHJvbWlzZTxzdHJpbmc+O1xyXG5cclxuICAvKipcclxuICAgKiBBZHZhbmNlZCBjb25maWd1cmF0aW9uXHJcbiAgICovXHJcbiAgYWR2YW5jZWQ/OiBJQWR2YW5jZWRDb25maWd1cmF0aW9uO1xyXG5cclxuICAvKipcclxuICAgKiBDbGllbnQgaWRcclxuICAgKi9cclxuICBjbGllbnRJZDogc3RyaW5nO1xyXG5cclxuICAvKipcclxuICAgKiBTaGlwcGluZyBjYWxsYmFja1xyXG4gICAqIHNlZSBodHRwczovL2RldmVsb3Blci5wYXlwYWwuY29tL2RvY3MvY2hlY2tvdXQvaW50ZWdyYXRpb24tZmVhdHVyZXMvc2hpcHBpbmctY2FsbGJhY2svXHJcbiAgICovXHJcbiAgb25TaGlwcGluZ0NoYW5nZT86IE9uU2hpcHBpbmdDaGFuZ2VDYWxsYmFjaztcclxuXHJcbiAgLyoqXHJcbiAgICogQ2FsbGVkIHdoZW4gJ29uQXBwcm92ZScgZXZlbnQgb2NjdXJzXHJcbiAgICovXHJcbiAgb25BcHByb3ZlPzogKGRhdGE6IElPbkFwcHJvdmVDYWxsYmFja0RhdGEsIGFjdGlvbnM6IGFueSkgPT4gdm9pZDtcclxuXHJcbiAgLyoqXHJcbiAgICogQ2FsbGVkIHdoZW4gYXV0aG9yaXphdGlvbiBvbiBjbGllbnQgc3VjY2VlZHNcclxuICAgKi9cclxuICBvbkNsaWVudEF1dGhvcml6YXRpb24/OiAoYXV0aG9yaXphdGlvbjogSUNsaWVudEF1dGhvcml6ZUNhbGxiYWNrRGF0YSkgPT4gdm9pZDtcclxuXHJcbiAgLyoqXHJcbiAgICogSW1wbGVtZW50IGZvciBhdXRob3JpemluZyBvbiBzZXJ2ZXIgc2lkZVxyXG4gICAqL1xyXG4gIGF1dGhvcml6ZU9uU2VydmVyPzogKFxyXG4gICAgZGF0YTogSU9uQXBwcm92ZUNhbGxiYWNrRGF0YSxcclxuICAgIGFjdGlvbnM6IGFueVxyXG4gICkgPT4gUHJvbWlzZTxhbnk+O1xyXG5cclxuICAvKipcclxuICAgKiBCdXR0b24gc3R5bGUgY29uZmlndXJhdGlvblxyXG4gICAqL1xyXG4gIHN0eWxlPzogSVBheVBhbEJ1dHRvblN0eWxlO1xyXG5cclxuICAvKipcclxuICAgKiBFcnJvciBoYW5kbGVyXHJcbiAgICovXHJcbiAgb25FcnJvcj86IChlcnI6IGFueSkgPT4gdm9pZDtcclxuXHJcbiAgLyoqXHJcbiAgICogQ2xpY2sgaGFuZGxlclxyXG4gICAqL1xyXG4gIG9uQ2xpY2s/OiAoZGF0YTogYW55LCBhY3Rpb25zOiBJT25DbGlja0NhbGxiYWNrQWN0aW9ucykgPT4gdm9pZDtcclxuXHJcbiAgLyoqXHJcbiAgICogQ2FuY2VsIGhhbmRsZXJcclxuICAgKi9cclxuICBvbkNhbmNlbD86IChkYXRhOiBJQ2FuY2VsQ2FsbGJhY2tEYXRhLCBhY3Rpb25zOiBhbnkpID0+IHZvaWQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIEluaXQgaGFuZGxlci5cclxuICAgKiBjYW4gYmUgdXNlZCBmb3IgdmFsaWRhdGlvbiwgc2VlOiBodHRwczovL2RldmVsb3Blci5wYXlwYWwuY29tL2RvY3MvY2hlY2tvdXQvaW50ZWdyYXRpb24tZmVhdHVyZXMvdmFsaWRhdGlvbi8jXHJcbiAgICovXHJcbiAgb25Jbml0PzogKGRhdGE6IElJbml0Q2FsbGJhY2tEYXRhLCBhY3Rpb25zOiBJT25Jbml0Q2FsbGJhY2tBY3Rpb25zKSA9PiB2b2lkO1xyXG5cclxuICAvKipcclxuICAgKiBDcmVhdGUgc3Vic2NyaXB0aW9uIGhhbmRsZXJcclxuICAgKiBodHRwczovL2RldmVsb3Blci5wYXlwYWwuY29tL2RvY3Mvc3Vic2NyaXB0aW9ucy9pbnRlZ3JhdGUvXHJcbiAgICpcclxuICAgKiBOb3RlOiB0aGUgdmF1bHQgcHJvcGVydHkgaW4gdGhlIGFkdmFuY2VkIGNvbmZpZ3VyYXRpb24gYWxzbyBoYXMgdG8gYmUgc2V0IHRvIHRydWVcclxuICAgKi9cclxuICBjcmVhdGVTdWJzY3JpcHRpb24/OiAoZGF0YTogYW55KSA9PiBJQ3JlYXRlU3Vic2NyaXB0aW9uUmVxdWVzdDtcclxuXHJcbiAgLyoqXHJcbiAgICogVmF1bHQgLSBtdXN0IGJlIHNldCB0byB0cnVlIHdoZW4gY3JlYXRpbmcgc3Vic2NyaXB0aW9uc1xyXG4gICAqL1xyXG4gIHZhdWx0PzogVHJ1ZUZhbHNlO1xyXG4gIGludGVudD86IE9yZGVySW50ZW50O1xyXG5cclxuICAvKlxyXG4gICAgU2VsZWN0IHR5cGUgb2YgZnVuZGluZyBzb3VyY2UsIHVzZSBpdCB3aGVuIHlvdSBuZWVkIHNldCB0eXBlIG9mIGJ1dHRvbiB5b3Ugd2FudCB0byBzZWUsIHNlZTogaHR0cHM6Ly9kZXZlbG9wZXIucGF5cGFsLmNvbS9kb2NzL2NoZWNrb3V0L3N0YW5kYXJkL2N1c3RvbWl6ZS9zdGFuZGFsb25lLWJ1dHRvbnMvXHJcbiAgKi9cclxuICBmdW5kaW5nU291cmNlPzogXCJQQVlQQUxcIiB8IFwiQ0FSRFwiIHwgXCJQQVlMQVRFUlwiIHwgXCJDUkVESVRcIiB8IFwiVkVOTU9cIjtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgVHJ1ZUZhbHNlID0gXCJ0cnVlXCIgfCBcImZhbHNlXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElQYXlQYWxVcmxDb25maWcge1xyXG4gIGNsaWVudElkOiBzdHJpbmc7XHJcbiAgY3VycmVuY3k/OiBzdHJpbmc7XHJcbiAgZnVuZGluZz86IGJvb2xlYW47XHJcbiAgY29tbWl0PzogVHJ1ZUZhbHNlO1xyXG4gIHZhdWx0PzogVHJ1ZUZhbHNlO1xyXG4gIGludGVudD86IE9yZGVySW50ZW50O1xyXG4gIGxvY2FsZT86IHN0cmluZztcclxuICBleHRyYVBhcmFtcz86IElRdWVyeVBhcmFtW107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSU9yZGVyRGV0YWlscyB7XHJcbiAgY3JlYXRlX3RpbWU6IHN0cmluZztcclxuICB1cGRhdGVfdGltZTogc3RyaW5nO1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgaW50ZW50OiBPcmRlckludGVudDtcclxuICBwYXllcjogSVBheWVyO1xyXG4gIHN0YXR1czogT3JkZXJTdGF0dXM7XHJcbiAgbGlua3M6IElMaW5rRGVzY3JpcHRpb25bXTtcclxuICBwdXJjaGFzZV91bml0czogSVB1cmNoYXNlVW5pdFtdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElDbGllbnRBdXRob3JpemVDYWxsYmFja0RhdGEgZXh0ZW5kcyBJT3JkZXJEZXRhaWxzIHtcclxuICBsaW5rczogSUxpbmtEZXNjcmlwdGlvbltdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElMaW5rRGVzY3JpcHRpb24ge1xyXG4gIGhyZWY6IHN0cmluZztcclxuICByZWw6IFN0cmluZztcclxuICBtZXRob2Q/OiBMaW5rTWV0aG9kO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElRdWVyeVBhcmFtIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdmFsdWU6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgT25TaGlwcGluZ0NoYW5nZUNhbGxiYWNrID0gKFxyXG4gIGRhdGE6IElPblNoaXBwaW5nQ2hhbmdlRGF0YSxcclxuICBhY3Rpb25zOiBJT25TaGlwcGluZ0NoYW5nZUFjdGlvbnNcclxuKSA9PiBhbnk7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElPblNoaXBwaW5nQ2hhbmdlRGF0YSB7XHJcbiAgcGF5bWVudFRva2VuOiBzdHJpbmc7XHJcbiAgc2hpcHBpbmdfYWRkcmVzczogYW55O1xyXG4gIHNlbGVjdGVkX3NoaXBwaW5nX21ldGhvZD86IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJT25TaGlwcGluZ0NoYW5nZUFjdGlvbnMge1xyXG4gIHJlc29sdmU6ICgpID0+IGFueTtcclxuICByZWplY3Q6ICgpID0+IGFueTtcclxuICBwYXRjaDogKCkgPT4gYW55O1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBMaW5rTWV0aG9kID1cclxuICB8IFwiR0VUXCJcclxuICB8IFwiUE9TVFwiXHJcbiAgfCBcIlBVVFwiXHJcbiAgfCBcIkRFTEVURVwiXHJcbiAgfCBcIkhFQURcIlxyXG4gIHwgXCJDT05ORUNUXCJcclxuICB8IFwiT1BUSU9OU1wiXHJcbiAgfCBcIlBBVENIXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElBZHZhbmNlZENvbmZpZ3VyYXRpb24ge1xyXG4gIGNvbW1pdD86IFRydWVGYWxzZTtcclxuICBsb2NhbGU/OiBzdHJpbmc7XHJcbiAgZXh0cmFRdWVyeVBhcmFtcz86IElRdWVyeVBhcmFtW107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSU9uQXBwcm92ZUNhbGxiYWNrRGF0YSB7XHJcbiAgb3JkZXJJRDogc3RyaW5nO1xyXG4gIHBheWVySUQ6IHN0cmluZztcclxuICBzdWJzY3JpcHRpb25JRDogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElDcmVhdGVPcmRlckNhbGxiYWNrQWN0aW9ucyB7XHJcbiAgb3JkZXI6IHtcclxuICAgIGNyZWF0ZTogKG9yZGVyOiBJQ3JlYXRlT3JkZXJSZXF1ZXN0KSA9PiBQcm9taXNlPGFueT47XHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJQ2FuY2VsQ2FsbGJhY2tEYXRhIHtcclxuICBvcmRlcklEOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSU9uQXBwcm92ZUNhbGxiYWNrQWN0aW9ucyB7XHJcbiAgcmVkaXJlY3Q6ICgpID0+IHZvaWQ7XHJcbiAgcmVzdGFydDogKCkgPT4gdm9pZDtcclxuICBvcmRlcjoge1xyXG4gICAgYXV0aG9yaXplOiAoKSA9PiBQcm9taXNlPGFueT47XHJcbiAgICBjYXB0dXJlOiAoKSA9PiBQcm9taXNlPGFueT47XHJcbiAgICBnZXQ6ICgpID0+IFByb21pc2U8SU9yZGVyRGV0YWlscz47XHJcbiAgICBwYXRjaDogKCkgPT4gUHJvbWlzZTxhbnk+O1xyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSU9uSW5pdENhbGxiYWNrQWN0aW9ucyB7XHJcbiAgZW5hYmxlOiAoKSA9PiB2b2lkO1xyXG4gIGRpc2FibGU6ICgpID0+IHZvaWQ7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUNyZWF0ZVN1YnNjcmlwdGlvbkNhbGxiYWNrQWN0aW9ucyB7XHJcbiAgc3Vic2NyaXB0aW9uOiB7XHJcbiAgICBjcmVhdGU6IChzdWJzY3JpcHRpb246IElDcmVhdGVTdWJzY3JpcHRpb25SZXF1ZXN0KSA9PiBQcm9taXNlPGFueT47XHJcbiAgICByZXZpc2U6IChcclxuICAgICAgc3Vic2NyaXB0aW9uSWQ6IHN0cmluZyxcclxuICAgICAgc3Vic2NyaXB0aW9uOiBJQ3JlYXRlU3Vic2NyaXB0aW9uUmVxdWVzdFxyXG4gICAgKSA9PiBQcm9taXNlPGFueT47XHJcbiAgfTtcclxufVxyXG5cclxuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWVtcHR5LWludGVyZmFjZVxyXG5leHBvcnQgaW50ZXJmYWNlIElJbml0Q2FsbGJhY2tEYXRhIHt9XHJcblxyXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tZW1wdHktaW50ZXJmYWNlXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUNyZWF0ZVN1YnNjcmlwdGlvbkNhbGxiYWNrRGF0YSB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJT25DbGlja0NhbGxiYWNrQWN0aW9ucyB7XHJcbiAgcmVzb2x2ZTogKCkgPT4gdm9pZDtcclxuICByZWplY3Q6ICgpID0+IHZvaWQ7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVBheVBhbEJ1dHRvblN0eWxlIHtcclxuICBsYWJlbD86XHJcbiAgICB8IFwicGF5cGFsXCJcclxuICAgIHwgXCJjaGVja291dFwiXHJcbiAgICB8IFwicGF5XCJcclxuICAgIHwgXCJpbnN0YWxsbWVudFwiXHJcbiAgICB8IFwiYnV5bm93XCJcclxuICAgIHwgXCJzdWJzY3JpYmVcIjtcclxuICBzaGFwZT86IFwicGlsbFwiIHwgXCJyZWN0XCI7XHJcbiAgY29sb3I/OiBcImdvbGRcIiB8IFwiYmx1ZVwiIHwgXCJzaWx2ZXJcIiB8IFwid2hpdGVcIiB8IFwiYmxhY2tcIjtcclxuICBsYXlvdXQ/OiBcImhvcml6b250YWxcIiB8IFwidmVydGljYWxcIjtcclxuICB0YWdsaW5lPzogYm9vbGVhbjtcclxuICBoZWlnaHQ/OiBudW1iZXI7XHJcbiAgZnVuZGluZ2ljb25zPzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJQ3JlYXRlT3JkZXJSZXF1ZXN0IHtcclxuICBpbnRlbnQ6IE9yZGVySW50ZW50O1xyXG4gIHB1cmNoYXNlX3VuaXRzOiBJUHVyY2hhc2VVbml0W107XHJcblxyXG4gIHBheWVyPzogSVBheWVyO1xyXG4gIGFwcGxpY2F0aW9uX2NvbnRleHQ/OiBJQXBwbGljYXRpb25Db250ZXh0O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElDcmVhdGVTdWJzY3JpcHRpb25SZXF1ZXN0IHtcclxuICBwbGFuX2lkOiBzdHJpbmc7XHJcbiAgcXVhbnRpdHk/OiBudW1iZXI7XHJcbiAgY3VzdG9tX2lkOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVBheWVyIHtcclxuICBuYW1lPzogSVBhcnR5TmFtZTtcclxuICBlbWFpbF9hZGRyZXNzPzogc3RyaW5nO1xyXG4gIHBheWVyX2lkPzogc3RyaW5nO1xyXG4gIGJpcnRoX2RhdGU/OiBzdHJpbmc7XHJcbiAgdGF4X2luZm8/OiBJVGF4SW5mbztcclxuICBhZGRyZXNzPzogSUFkZHJlc3NQb3J0YWJsZTtcclxuICBwaG9uZT86IElQaG9uZTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJQXBwbGljYXRpb25Db250ZXh0IHtcclxuICBicmFuZF9uYW1lPzogc3RyaW5nO1xyXG4gIGxvY2FsZT86IHN0cmluZztcclxuICBsYW5kaW5nX3BhZ2U/OiBQYXlwYWxMYW5kaW5nUGFnZTtcclxuICBzaGlwcGluZ19wcmVmZXJlbmNlPzogU2hpcHBpbmdQcmVmZXJlbmNlO1xyXG4gIHVzZXJfYWN0aW9uPzogUGF5UGFsVXNlckFjdGlvbjtcclxuICBwYXltZW50X21ldGhvZD86IElQYXltZW50TWV0aG9kO1xyXG4gIHJldHVybl91cmw/OiBzdHJpbmc7XHJcbiAgY2FuY2VsX3VybD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJUGF5bWVudE1ldGhvZCB7XHJcbiAgcGF5ZXJfc2VsZWN0ZWQ/OiBQYXllclNlbGVjdGVkO1xyXG4gIHBheWVlX3ByZWZlcnJlZD86IFBheWVlUHJlZmVycmVkO1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBQYXllZVByZWZlcnJlZCA9IFwiVU5SRVNUUklDVEVEXCIgfCBcIklNTUVESUFURV9QQVlNRU5UX1JFUVVJUkVEXCI7XHJcblxyXG5leHBvcnQgdHlwZSBQYXllclNlbGVjdGVkID0gXCJQQVlQQUxfQ1JFRElUXCIgfCBcIlBBWVBBTFwiO1xyXG5cclxuZXhwb3J0IHR5cGUgUGF5UGFsVXNlckFjdGlvbiA9IFwiQ09OVElOVUVcIiB8IFwiUEFZX05PV1wiO1xyXG5cclxuZXhwb3J0IHR5cGUgU2hpcHBpbmdQcmVmZXJlbmNlID1cclxuICB8IFwiR0VUX0ZST01fRklMRVwiXHJcbiAgfCBcIk5PX1NISVBQSU5HXCJcclxuICB8IFwiU0VUX1BST1ZJREVEX0FERFJFU1NcIjtcclxuXHJcbmV4cG9ydCB0eXBlIFBheXBhbExhbmRpbmdQYWdlID0gXCJMT0dJTlwiIHwgXCJCSUxMSU5HXCI7XHJcblxyXG5leHBvcnQgdHlwZSBPcmRlckludGVudCA9IFwiQ0FQVFVSRVwiIHwgXCJBVVRIT1JJWkVcIiB8IFwic3Vic2NyaXB0aW9uXCI7XHJcblxyXG5leHBvcnQgdHlwZSBEaXNidXJzZW1lbnRNb2RlID0gXCJJTlNUQU5UXCIgfCBcIkRFTEFZRURcIjtcclxuXHJcbmV4cG9ydCB0eXBlIEl0ZW1DYXRlZ29yeSA9IFwiRElHSVRBTF9HT09EU1wiIHwgXCJQSFlTSUNBTF9HT09EU1wiO1xyXG5cclxuZXhwb3J0IHR5cGUgUGhvbmVUeXBlID0gXCJGQVhcIiB8IFwiSE9NRVwiIHwgXCJNT0JJTEVcIiB8IFwiT1RIRVJcIiB8IFwiUEFHRVJcIjtcclxuXHJcbmV4cG9ydCB0eXBlIFRheElkVHlwZSA9IFwiQlJfQ1BGXCIgfCBcIkJSX0NOUEpcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVBob25lIHtcclxuICBwaG9uZV90eXBlPzogUGhvbmVUeXBlO1xyXG4gIHBob25lX251bWJlcj86IElQaG9uZU51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJVGF4SW5mbyB7XHJcbiAgdGF4X2lkOiBzdHJpbmc7XHJcbiAgdGF4X2lkX3R5cGU6IFRheElkVHlwZTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJUGhvbmVOdW1iZXIge1xyXG4gIG5hdGlvbmFsX251bWJlcjogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElQdXJjaGFzZVVuaXQge1xyXG4gIGFtb3VudDogSVVuaXRBbW91bnQ7XHJcblxyXG4gIHJlZmVyZW5jZV9pZD86IHN0cmluZztcclxuICBwYXllZT86IElQYXllZTtcclxuICBwYXltZW50X2luc3RydWN0aW9uPzogSVBheW1lbnRJbnN0cnVjdGlvbnM7XHJcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XHJcbiAgY3VzdG9tX2lkPzogc3RyaW5nO1xyXG4gIGludm9pY2VfaWQ/OiBzdHJpbmc7XHJcbiAgc29mdF9kZXNjcmlwdG9yPzogc3RyaW5nO1xyXG4gIGl0ZW1zOiBJVHJhbnNhY3Rpb25JdGVtW107XHJcbiAgc2hpcHBpbmc/OiBJU2hpcHBpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVBheWVlIHtcclxuICBlbWFpbF9hZGRyZXNzPzogc3RyaW5nO1xyXG4gIG1lcmNoYW50X2lkPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElQYXltZW50SW5zdHJ1Y3Rpb25zIHtcclxuICBwbGF0Zm9ybV9mZWVzPzogSVBsYXRmb3JtRmVlW107XHJcbiAgZGlzYnVyc2VtZW50X21vZGU/OiBEaXNidXJzZW1lbnRNb2RlO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElQbGF0Zm9ybUZlZSB7XHJcbiAgYW1vdW50OiBJVW5pdEFtb3VudDtcclxuICBwYXllZT86IElQYXllZTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJVHJhbnNhY3Rpb25JdGVtIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdW5pdF9hbW91bnQ6IElVbml0QW1vdW50O1xyXG4gIHF1YW50aXR5OiBzdHJpbmc7XHJcblxyXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xyXG4gIHNrdT86IHN0cmluZztcclxuICBjYXRlZ29yeT86IEl0ZW1DYXRlZ29yeTtcclxuICB0YXg/OiBJVGF4O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElUYXgge1xyXG4gIGN1cnJlbmN5X2NvZGU6IHN0cmluZztcclxuICB2YWx1ZTogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElVbml0QW1vdW50IHtcclxuICBjdXJyZW5jeV9jb2RlOiBzdHJpbmc7XHJcbiAgdmFsdWU6IHN0cmluZztcclxuICBicmVha2Rvd24/OiBJVW5pdEJyZWFrZG93bjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJTW9uZXkge1xyXG4gIGN1cnJlbmN5X2NvZGU6IHN0cmluZztcclxuICB2YWx1ZTogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElVbml0QnJlYWtkb3duIHtcclxuICBpdGVtX3RvdGFsPzogSVVuaXRBbW91bnQ7XHJcbiAgc2hpcHBpbmc/OiBJVW5pdEFtb3VudDtcclxuICBoYW5kbGluZz86IElVbml0QW1vdW50O1xyXG4gIHRheF90b3RhbD86IElVbml0QW1vdW50O1xyXG4gIGluc3VyYW5jZT86IElVbml0QW1vdW50O1xyXG4gIHNoaXBwaW5nX2Rpc2NvdW50PzogSVVuaXRBbW91bnQ7XHJcbiAgZGlzY291bnQ/OiBJTW9uZXk7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVBhcnR5TmFtZSB7XHJcbiAgcHJlZml4Pzogc3RyaW5nO1xyXG4gIGdpdmVuX25hbWU/OiBzdHJpbmc7XHJcbiAgc3VybmFtZT86IHN0cmluZztcclxuICBtaWRkbGVfbmFtZT86IHN0cmluZztcclxuICBzdWZmaXg/OiBzdHJpbmc7XHJcbiAgYWx0ZXJuYXRlX2Z1bGxfbmFtZT86IHN0cmluZztcclxuICBmdWxsX25hbWU/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUFkZHJlc3NQb3J0YWJsZSB7XHJcbiAgY291bnRyeV9jb2RlOiBzdHJpbmc7XHJcblxyXG4gIGFkZHJlc3NfbGluZV8xPzogc3RyaW5nO1xyXG4gIGFkZHJlc3NfbGluZV8yPzogc3RyaW5nO1xyXG4gIGFkbWluX2FyZWFfMj86IHN0cmluZztcclxuICBhZG1pbl9hcmVhXzE/OiBzdHJpbmc7XHJcbiAgcG9zdGFsX2NvZGU/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVNoaXBwaW5nIHtcclxuICBuYW1lPzogSVBhcnR5TmFtZTtcclxuICBhZGRyZXNzPzogSUFkZHJlc3NQb3J0YWJsZTtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgT3JkZXJTdGF0dXMgPVxyXG4gIHwgXCJBUFBST1ZFRFwiXHJcbiAgfCBcIlNBVkVEXCJcclxuICB8IFwiQ1JFQVRFRFwiXHJcbiAgfCBcIlZPSURFRFwiXHJcbiAgfCBcIkNPTVBMRVRFRFwiO1xyXG4iXX0=
|