@thescaffold/ngx-apps-capital 0.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/README.md +25 -0
  2. package/esm2022/lib/app.config.mjs +81 -0
  3. package/esm2022/lib/app.module.mjs +17 -0
  4. package/esm2022/lib/index.mjs +11 -0
  5. package/esm2022/lib/pages/card/card.component.mjs +161 -0
  6. package/esm2022/lib/pages/card/card.module.mjs +32 -0
  7. package/esm2022/lib/pages/card/card.provider.mjs +249 -0
  8. package/esm2022/lib/pages/dashboard/dashboard.component.mjs +703 -0
  9. package/esm2022/lib/pages/dashboard/dashboard.module.mjs +45 -0
  10. package/esm2022/lib/pages/pages.component.mjs +49 -0
  11. package/esm2022/lib/pages/pages.module.mjs +107 -0
  12. package/esm2022/lib/pages/payment/payment.component.mjs +119 -0
  13. package/esm2022/lib/pages/payment/payment.module.mjs +32 -0
  14. package/esm2022/lib/pages/payment/payment.provider.mjs +212 -0
  15. package/esm2022/lib/pages/voucher/voucher.component.mjs +167 -0
  16. package/esm2022/lib/pages/voucher/voucher.module.mjs +46 -0
  17. package/esm2022/lib/pages/voucher/voucher.provider.mjs +201 -0
  18. package/esm2022/public-api.mjs +5 -0
  19. package/esm2022/thescaffold-ngx-apps-capital.mjs +5 -0
  20. package/fesm2022/thescaffold-ngx-apps-capital-card.module-Cl6xh18C.mjs +36 -0
  21. package/fesm2022/thescaffold-ngx-apps-capital-card.module-Cl6xh18C.mjs.map +1 -0
  22. package/fesm2022/thescaffold-ngx-apps-capital-card.provider-BcIUxmO1.mjs +409 -0
  23. package/fesm2022/thescaffold-ngx-apps-capital-card.provider-BcIUxmO1.mjs.map +1 -0
  24. package/fesm2022/thescaffold-ngx-apps-capital-dashboard.module-lX-8-L9H.mjs +744 -0
  25. package/fesm2022/thescaffold-ngx-apps-capital-dashboard.module-lX-8-L9H.mjs.map +1 -0
  26. package/fesm2022/thescaffold-ngx-apps-capital-payment.module-DmQlflfD.mjs +35 -0
  27. package/fesm2022/thescaffold-ngx-apps-capital-payment.module-DmQlflfD.mjs.map +1 -0
  28. package/fesm2022/thescaffold-ngx-apps-capital-payment.provider-B1jZij0H.mjs +329 -0
  29. package/fesm2022/thescaffold-ngx-apps-capital-payment.provider-B1jZij0H.mjs.map +1 -0
  30. package/fesm2022/thescaffold-ngx-apps-capital-voucher.module-DMt7Jj8o.mjs +406 -0
  31. package/fesm2022/thescaffold-ngx-apps-capital-voucher.module-DMt7Jj8o.mjs.map +1 -0
  32. package/fesm2022/thescaffold-ngx-apps-capital.mjs +263 -0
  33. package/fesm2022/thescaffold-ngx-apps-capital.mjs.map +1 -0
  34. package/index.d.ts +5 -0
  35. package/lib/app.config.d.ts +13 -0
  36. package/lib/app.module.d.ts +8 -0
  37. package/lib/index.d.ts +10 -0
  38. package/lib/pages/card/card.component.d.ts +18 -0
  39. package/lib/pages/card/card.module.d.ts +10 -0
  40. package/lib/pages/card/card.provider.d.ts +136 -0
  41. package/lib/pages/dashboard/dashboard.component.d.ts +49 -0
  42. package/lib/pages/dashboard/dashboard.module.d.ts +10 -0
  43. package/lib/pages/pages.component.d.ts +8 -0
  44. package/lib/pages/pages.module.d.ts +11 -0
  45. package/lib/pages/payment/payment.component.d.ts +13 -0
  46. package/lib/pages/payment/payment.module.d.ts +10 -0
  47. package/lib/pages/payment/payment.provider.d.ts +134 -0
  48. package/lib/pages/voucher/voucher.component.d.ts +11 -0
  49. package/lib/pages/voucher/voucher.module.d.ts +10 -0
  50. package/lib/pages/voucher/voucher.provider.d.ts +125 -0
  51. package/package.json +33 -0
  52. package/public-api.d.ts +1 -0
package/README.md ADDED
@@ -0,0 +1,25 @@
1
+ # Ngx Apps
2
+
3
+ This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 18.0.0.
4
+
5
+ ## Code scaffolding
6
+
7
+ Run `ng generate component component-name --project capital` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project capital`.
8
+
9
+ > Note: Don't forget to add `--project capital` or else it will be added to the default project in your `angular.json` file.
10
+
11
+ ## Build
12
+
13
+ Run `ng build capital` to build the project. The build artifacts will be stored in the `dist/` directory.
14
+
15
+ ## Publishing
16
+
17
+ After building your library with `ng build capital`, go to the dist folder `cd dist/capital` and run `npm publish`.
18
+
19
+ ## Running unit tests
20
+
21
+ Run `ng test capital` to execute the unit tests via [Karma](https://karma-runner.github.io).
22
+
23
+ ## Further help
24
+
25
+ To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page.
@@ -0,0 +1,81 @@
1
+ import { getClientId, getEnv, translate } from '@thescaffold/ngx-core';
2
+ export const config = () => ({
3
+ // keep this root level ones for backward compatibility
4
+ name: getEnv('APP_NAME'),
5
+ desc: getEnv('APP_DESC'),
6
+ url: getEnv('APP_URL'),
7
+ logo: getEnv('APP_LOGO'),
8
+ business: {
9
+ name: getEnv('BUSINESS_NAME'),
10
+ desc: getEnv('BUSINESS_DESC'),
11
+ url: getEnv('BUSINESS_URL'),
12
+ },
13
+ group: {
14
+ name: getEnv('GROUP_NAME'),
15
+ desc: getEnv('GROUP_DESC'),
16
+ url: getEnv('GROUP_URL'),
17
+ },
18
+ app: {
19
+ name: getEnv('APP_NAME'),
20
+ desc: getEnv('APP_DESC'),
21
+ url: getEnv('APP_URL'),
22
+ logo: getEnv('APP_LOGO'),
23
+ },
24
+ links: {
25
+ projects: [], // make it empty to prevent the projects menu
26
+ primary: [
27
+ {
28
+ title: translate('apps.capital.config.menu.primary.dashboard.title'),
29
+ url: '/payments/dashboard',
30
+ icon: 'fa-solid fa-gauge',
31
+ },
32
+ {
33
+ title: translate('apps.capital.config.menu.primary.card.title'),
34
+ url: '/payments/card',
35
+ icon: 'fa-solid fa-credit-card',
36
+ },
37
+ {
38
+ title: translate('apps.capital.config.menu.primary.payment.title'),
39
+ url: '/payments/payment',
40
+ icon: 'fa-solid fa-comments-dollar',
41
+ },
42
+ {
43
+ title: translate('apps.capital.config.menu.primary.voucher.title'),
44
+ url: '/payments/voucher',
45
+ icon: 'fa-solid fa-ticket',
46
+ },
47
+ ],
48
+ secondary: [
49
+ {
50
+ title: translate('apps.capital.config.menu.secondary.add-card.title'),
51
+ url: '/payments/card/new',
52
+ },
53
+ ],
54
+ },
55
+ guardBaseUrl: getEnv('GUARD_BASE_URL'),
56
+ identityBaseUrl: getEnv('IDENTITY_BASE_URL'),
57
+ paymentBaseUrl: getEnv('PAYMENT_BASE_URL'),
58
+ clientId: getClientId(),
59
+ });
60
+ export const paths = () => [
61
+ 'translations/en/ngx/packages/code-editor.yaml',
62
+ 'translations/en/ngx/packages/common.yaml',
63
+ 'translations/en/ngx/packages/core.yaml',
64
+ 'translations/en/ngx/packages/payments.yaml',
65
+ 'translations/en/ngx/packages/polylog.yaml',
66
+ 'translations/en/ngx/packages/ui.yaml',
67
+ 'translations/en/ngx/apps/capital.yaml',
68
+ `translations/en/ngx/${getEnv('GROUP_NAME')}/${getEnv('APP_NAME')}.yaml`,
69
+ ];
70
+ export var SourceTypeType;
71
+ (function (SourceTypeType) {
72
+ SourceTypeType["Repository"] = "repository";
73
+ SourceTypeType["Registry"] = "registry";
74
+ SourceTypeType["Datacenter"] = "datacenter";
75
+ })(SourceTypeType || (SourceTypeType = {}));
76
+ export const sourceTypesId = {
77
+ [SourceTypeType.Repository]: 'e47daadc-0907-4b1f-8bcf-a007366a8271',
78
+ [SourceTypeType.Registry]: '3ad50df3-90c6-4a70-a74d-d08c13abc67d',
79
+ [SourceTypeType.Datacenter]: '8605643d-df3b-45fa-a0f6-6d51e6f19a84',
80
+ };
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NhcGl0YWwvc3JjL2xpYi9hcHAuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR3ZFLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBMEIsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUNsRCx1REFBdUQ7SUFDdkQsSUFBSSxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUM7SUFDeEIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUM7SUFDeEIsR0FBRyxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUM7SUFDdEIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUM7SUFDeEIsUUFBUSxFQUFFO1FBQ1IsSUFBSSxFQUFFLE1BQU0sQ0FBQyxlQUFlLENBQUM7UUFDN0IsSUFBSSxFQUFFLE1BQU0sQ0FBQyxlQUFlLENBQUM7UUFDN0IsR0FBRyxFQUFFLE1BQU0sQ0FBQyxjQUFjLENBQUM7S0FDNUI7SUFDRCxLQUFLLEVBQUU7UUFDTCxJQUFJLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQztRQUMxQixJQUFJLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQztRQUMxQixHQUFHLEVBQUUsTUFBTSxDQUFDLFdBQVcsQ0FBQztLQUN6QjtJQUNELEdBQUcsRUFBRTtRQUNILElBQUksRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDO1FBQ3hCLElBQUksRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDO1FBQ3hCLEdBQUcsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDO1FBQ3RCLElBQUksRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDO0tBQ3pCO0lBQ0QsS0FBSyxFQUFFO1FBQ0wsUUFBUSxFQUFFLEVBQUUsRUFBRSw2Q0FBNkM7UUFDM0QsT0FBTyxFQUFFO1lBQ1A7Z0JBQ0UsS0FBSyxFQUFFLFNBQVMsQ0FBQyxrREFBa0QsQ0FBQztnQkFDcEUsR0FBRyxFQUFFLHFCQUFxQjtnQkFDMUIsSUFBSSxFQUFFLG1CQUFtQjthQUMxQjtZQUNEO2dCQUNFLEtBQUssRUFBRSxTQUFTLENBQUMsNkNBQTZDLENBQUM7Z0JBQy9ELEdBQUcsRUFBRSxnQkFBZ0I7Z0JBQ3JCLElBQUksRUFBRSx5QkFBeUI7YUFDaEM7WUFDRDtnQkFDRSxLQUFLLEVBQUUsU0FBUyxDQUFDLGdEQUFnRCxDQUFDO2dCQUNsRSxHQUFHLEVBQUUsbUJBQW1CO2dCQUN4QixJQUFJLEVBQUUsNkJBQTZCO2FBQ3BDO1lBQ0Q7Z0JBQ0UsS0FBSyxFQUFFLFNBQVMsQ0FBQyxnREFBZ0QsQ0FBQztnQkFDbEUsR0FBRyxFQUFFLG1CQUFtQjtnQkFDeEIsSUFBSSxFQUFFLG9CQUFvQjthQUMzQjtTQUNGO1FBQ0QsU0FBUyxFQUFFO1lBQ1Q7Z0JBQ0UsS0FBSyxFQUFFLFNBQVMsQ0FBQyxtREFBbUQsQ0FBQztnQkFDckUsR0FBRyxFQUFFLG9CQUFvQjthQUMxQjtTQUNGO0tBQ0Y7SUFDRCxZQUFZLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixDQUFDO0lBQ3RDLGVBQWUsRUFBRSxNQUFNLENBQUMsbUJBQW1CLENBQUM7SUFDNUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQztJQUMxQyxRQUFRLEVBQUUsV0FBVyxFQUFFO0NBQ3hCLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRyxHQUFHLEVBQUUsQ0FBQztJQUN6QiwrQ0FBK0M7SUFDL0MsMENBQTBDO0lBQzFDLHdDQUF3QztJQUN4Qyw0Q0FBNEM7SUFDNUMsMkNBQTJDO0lBQzNDLHNDQUFzQztJQUV0Qyx1Q0FBdUM7SUFFdkMsdUJBQXVCLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxNQUFNLENBQUMsVUFBVSxDQUFDLE9BQU87Q0FDekUsQ0FBQztBQUVGLE1BQU0sQ0FBTixJQUFZLGNBSVg7QUFKRCxXQUFZLGNBQWM7SUFDeEIsMkNBQXlCLENBQUE7SUFDekIsdUNBQXFCLENBQUE7SUFDckIsMkNBQXlCLENBQUE7QUFDM0IsQ0FBQyxFQUpXLGNBQWMsS0FBZCxjQUFjLFFBSXpCO0FBRUQsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHO0lBQzNCLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxFQUFFLHNDQUFzQztJQUNuRSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsRUFBRSxzQ0FBc0M7SUFDakUsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLEVBQUUsc0NBQXNDO0NBQ3BFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRDbGllbnRJZCwgZ2V0RW52LCB0cmFuc2xhdGUgfSBmcm9tICdAdGhlc2NhZmZvbGQvbmd4LWNvcmUnO1xuaW1wb3J0IHsgQXBwRGF0YUNvbnRyYWN0IH0gZnJvbSAnQHRoZXNjYWZmb2xkL25neC11aSc7XG5cbmV4cG9ydCBjb25zdCBjb25maWc6ICgpID0+IEFwcERhdGFDb250cmFjdCA9ICgpID0+ICh7XG4gIC8vIGtlZXAgdGhpcyByb290IGxldmVsIG9uZXMgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlcbiAgbmFtZTogZ2V0RW52KCdBUFBfTkFNRScpLFxuICBkZXNjOiBnZXRFbnYoJ0FQUF9ERVNDJyksXG4gIHVybDogZ2V0RW52KCdBUFBfVVJMJyksXG4gIGxvZ286IGdldEVudignQVBQX0xPR08nKSxcbiAgYnVzaW5lc3M6IHtcbiAgICBuYW1lOiBnZXRFbnYoJ0JVU0lORVNTX05BTUUnKSxcbiAgICBkZXNjOiBnZXRFbnYoJ0JVU0lORVNTX0RFU0MnKSxcbiAgICB1cmw6IGdldEVudignQlVTSU5FU1NfVVJMJyksXG4gIH0sXG4gIGdyb3VwOiB7XG4gICAgbmFtZTogZ2V0RW52KCdHUk9VUF9OQU1FJyksXG4gICAgZGVzYzogZ2V0RW52KCdHUk9VUF9ERVNDJyksXG4gICAgdXJsOiBnZXRFbnYoJ0dST1VQX1VSTCcpLFxuICB9LFxuICBhcHA6IHtcbiAgICBuYW1lOiBnZXRFbnYoJ0FQUF9OQU1FJyksXG4gICAgZGVzYzogZ2V0RW52KCdBUFBfREVTQycpLFxuICAgIHVybDogZ2V0RW52KCdBUFBfVVJMJyksXG4gICAgbG9nbzogZ2V0RW52KCdBUFBfTE9HTycpLFxuICB9LFxuICBsaW5rczoge1xuICAgIHByb2plY3RzOiBbXSwgLy8gbWFrZSBpdCBlbXB0eSB0byBwcmV2ZW50IHRoZSBwcm9qZWN0cyBtZW51XG4gICAgcHJpbWFyeTogW1xuICAgICAge1xuICAgICAgICB0aXRsZTogdHJhbnNsYXRlKCdhcHBzLmNhcGl0YWwuY29uZmlnLm1lbnUucHJpbWFyeS5kYXNoYm9hcmQudGl0bGUnKSxcbiAgICAgICAgdXJsOiAnL3BheW1lbnRzL2Rhc2hib2FyZCcsXG4gICAgICAgIGljb246ICdmYS1zb2xpZCBmYS1nYXVnZScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0aXRsZTogdHJhbnNsYXRlKCdhcHBzLmNhcGl0YWwuY29uZmlnLm1lbnUucHJpbWFyeS5jYXJkLnRpdGxlJyksXG4gICAgICAgIHVybDogJy9wYXltZW50cy9jYXJkJyxcbiAgICAgICAgaWNvbjogJ2ZhLXNvbGlkIGZhLWNyZWRpdC1jYXJkJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHRpdGxlOiB0cmFuc2xhdGUoJ2FwcHMuY2FwaXRhbC5jb25maWcubWVudS5wcmltYXJ5LnBheW1lbnQudGl0bGUnKSxcbiAgICAgICAgdXJsOiAnL3BheW1lbnRzL3BheW1lbnQnLFxuICAgICAgICBpY29uOiAnZmEtc29saWQgZmEtY29tbWVudHMtZG9sbGFyJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHRpdGxlOiB0cmFuc2xhdGUoJ2FwcHMuY2FwaXRhbC5jb25maWcubWVudS5wcmltYXJ5LnZvdWNoZXIudGl0bGUnKSxcbiAgICAgICAgdXJsOiAnL3BheW1lbnRzL3ZvdWNoZXInLFxuICAgICAgICBpY29uOiAnZmEtc29saWQgZmEtdGlja2V0JyxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBzZWNvbmRhcnk6IFtcbiAgICAgIHtcbiAgICAgICAgdGl0bGU6IHRyYW5zbGF0ZSgnYXBwcy5jYXBpdGFsLmNvbmZpZy5tZW51LnNlY29uZGFyeS5hZGQtY2FyZC50aXRsZScpLFxuICAgICAgICB1cmw6ICcvcGF5bWVudHMvY2FyZC9uZXcnLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuICBndWFyZEJhc2VVcmw6IGdldEVudignR1VBUkRfQkFTRV9VUkwnKSxcbiAgaWRlbnRpdHlCYXNlVXJsOiBnZXRFbnYoJ0lERU5USVRZX0JBU0VfVVJMJyksXG4gIHBheW1lbnRCYXNlVXJsOiBnZXRFbnYoJ1BBWU1FTlRfQkFTRV9VUkwnKSxcbiAgY2xpZW50SWQ6IGdldENsaWVudElkKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IHBhdGhzID0gKCkgPT4gW1xuICAndHJhbnNsYXRpb25zL2VuL25neC9wYWNrYWdlcy9jb2RlLWVkaXRvci55YW1sJyxcbiAgJ3RyYW5zbGF0aW9ucy9lbi9uZ3gvcGFja2FnZXMvY29tbW9uLnlhbWwnLFxuICAndHJhbnNsYXRpb25zL2VuL25neC9wYWNrYWdlcy9jb3JlLnlhbWwnLFxuICAndHJhbnNsYXRpb25zL2VuL25neC9wYWNrYWdlcy9wYXltZW50cy55YW1sJyxcbiAgJ3RyYW5zbGF0aW9ucy9lbi9uZ3gvcGFja2FnZXMvcG9seWxvZy55YW1sJyxcbiAgJ3RyYW5zbGF0aW9ucy9lbi9uZ3gvcGFja2FnZXMvdWkueWFtbCcsXG5cbiAgJ3RyYW5zbGF0aW9ucy9lbi9uZ3gvYXBwcy9jYXBpdGFsLnlhbWwnLFxuXG4gIGB0cmFuc2xhdGlvbnMvZW4vbmd4LyR7Z2V0RW52KCdHUk9VUF9OQU1FJyl9LyR7Z2V0RW52KCdBUFBfTkFNRScpfS55YW1sYCxcbl07XG5cbmV4cG9ydCBlbnVtIFNvdXJjZVR5cGVUeXBlIHtcbiAgUmVwb3NpdG9yeSA9ICdyZXBvc2l0b3J5JyxcbiAgUmVnaXN0cnkgPSAncmVnaXN0cnknLFxuICBEYXRhY2VudGVyID0gJ2RhdGFjZW50ZXInLFxufVxuXG5leHBvcnQgY29uc3Qgc291cmNlVHlwZXNJZCA9IHtcbiAgW1NvdXJjZVR5cGVUeXBlLlJlcG9zaXRvcnldOiAnZTQ3ZGFhZGMtMDkwNy00YjFmLThiY2YtYTAwNzM2NmE4MjcxJyxcbiAgW1NvdXJjZVR5cGVUeXBlLlJlZ2lzdHJ5XTogJzNhZDUwZGYzLTkwYzYtNGE3MC1hNzRkLWQwOGMxM2FiYzY3ZCcsXG4gIFtTb3VyY2VUeXBlVHlwZS5EYXRhY2VudGVyXTogJzg2MDU2NDNkLWRmM2ItNDVmYS1hMGY2LTZkNTFlNmYxOWE4NCcsXG59O1xuIl19
@@ -0,0 +1,17 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { AppModuleDirective } from '@thescaffold/ngx-common';
3
+ import { PagesModule } from './pages/pages.module';
4
+ import * as i0 from "@angular/core";
5
+ export class AppModule extends AppModuleDirective {
6
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: AppModule, deps: null, target: i0.ɵɵFactoryTarget.NgModule }); }
7
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.5", ngImport: i0, type: AppModule, imports: [PagesModule], exports: [PagesModule] }); }
8
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: AppModule, imports: [PagesModule, PagesModule] }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: AppModule, decorators: [{
11
+ type: NgModule,
12
+ args: [{
13
+ imports: [PagesModule],
14
+ exports: [PagesModule],
15
+ }]
16
+ }] });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NhcGl0YWwvc3JjL2xpYi9hcHAubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQU1uRCxNQUFNLE9BQU8sU0FBVSxTQUFRLGtCQUFrQjs4R0FBcEMsU0FBUzsrR0FBVCxTQUFTLFlBSFYsV0FBVyxhQUNYLFdBQVc7K0dBRVYsU0FBUyxZQUhWLFdBQVcsRUFDWCxXQUFXOzsyRkFFVixTQUFTO2tCQUpyQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFdBQVcsQ0FBQztvQkFDdEIsT0FBTyxFQUFFLENBQUMsV0FBVyxDQUFDO2lCQUN2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBcHBNb2R1bGVEaXJlY3RpdmUgfSBmcm9tICdAdGhlc2NhZmZvbGQvbmd4LWNvbW1vbic7XG5pbXBvcnQgeyBQYWdlc01vZHVsZSB9IGZyb20gJy4vcGFnZXMvcGFnZXMubW9kdWxlJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1BhZ2VzTW9kdWxlXSxcbiAgZXhwb3J0czogW1BhZ2VzTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgQXBwTW9kdWxlIGV4dGVuZHMgQXBwTW9kdWxlRGlyZWN0aXZlIHt9XG4iXX0=
@@ -0,0 +1,11 @@
1
+ export { AppModule as CapitalAppModule } from './app.module';
2
+ export { PagesModule } from './pages/pages.module';
3
+ export const routes = {
4
+ root: ['/', 'payments'],
5
+ start: ['/', 'payments', 'start'],
6
+ error: ['/', 'payments', 'error'],
7
+ dashboard: {
8
+ root: ['/', 'payments', 'dashboard'],
9
+ },
10
+ };
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jYXBpdGFsL3NyYy9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsSUFBSSxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM3RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbkQsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHO0lBQ3BCLElBQUksRUFBRSxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUM7SUFDdkIsS0FBSyxFQUFFLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUM7SUFDakMsS0FBSyxFQUFFLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUM7SUFDakMsU0FBUyxFQUFFO1FBQ1QsSUFBSSxFQUFFLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxXQUFXLENBQUM7S0FDckM7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgQXBwTW9kdWxlIGFzIENhcGl0YWxBcHBNb2R1bGUgfSBmcm9tICcuL2FwcC5tb2R1bGUnO1xuZXhwb3J0IHsgUGFnZXNNb2R1bGUgfSBmcm9tICcuL3BhZ2VzL3BhZ2VzLm1vZHVsZSc7XG5cbmV4cG9ydCBjb25zdCByb3V0ZXMgPSB7XG4gIHJvb3Q6IFsnLycsICdwYXltZW50cyddLFxuICBzdGFydDogWycvJywgJ3BheW1lbnRzJywgJ3N0YXJ0J10sXG4gIGVycm9yOiBbJy8nLCAncGF5bWVudHMnLCAnZXJyb3InXSxcbiAgZGFzaGJvYXJkOiB7XG4gICAgcm9vdDogWycvJywgJ3BheW1lbnRzJywgJ2Rhc2hib2FyZCddLFxuICB9LFxufTtcbiJdfQ==
@@ -0,0 +1,161 @@
1
+ import { Component, TemplateRef, ViewChild, inject } from '@angular/core';
2
+ import { BaseDirective, getEnv, navigateExternal, notify, using, } from '@thescaffold/ngx-core';
3
+ import { FlyoutService } from '@thescaffold/ngx-ui';
4
+ import { of, takeUntil } from 'rxjs';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/common";
7
+ import * as i2 from "@thescaffold/ngx-common";
8
+ import * as i3 from "@thescaffold/ngx-ui";
9
+ import * as i4 from "@thescaffold/ngx-core";
10
+ export class CardComponent extends BaseDirective {
11
+ constructor() {
12
+ super(...arguments);
13
+ this.flyoutService = inject(FlyoutService);
14
+ this.paymentMeta$ = () => of({
15
+ type: 'apps.capital.card.link',
16
+ });
17
+ this.paymentData = {
18
+ mode: 'pay',
19
+ appName: getEnv('APP_NAME'),
20
+ hooks: {
21
+ meta: () => this.paymentMeta$(),
22
+ },
23
+ amount: 50.0,
24
+ options: ['card'],
25
+ redirect: (provider, amount, reference, currency) => {
26
+ navigateExternal(`${getEnv('BASE_URL')}${this.router.url}?type=${provider}&reference=${reference}`);
27
+ },
28
+ };
29
+ this.verifyPaymentData = {
30
+ mode: 'verify',
31
+ appName: getEnv('APP_NAME'),
32
+ amount: 0.0,
33
+ hooks: {},
34
+ options: [],
35
+ };
36
+ }
37
+ update(item) {
38
+ this.apiService
39
+ .on('apps/capital/provider')
40
+ .update(item.id, {
41
+ primary: true,
42
+ })
43
+ .pipe(takeUntil(this.$))
44
+ .subscribe(using(({ message, data }) => {
45
+ notify(message);
46
+ this.flyoutService.dismiss();
47
+ this.reload();
48
+ }));
49
+ }
50
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: CardComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
51
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.5", type: CardComponent, selector: "app-card", viewQueries: [{ propertyName: "beforeListTemplate", first: true, predicate: ["beforeListTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "beforeCreateTemplate", first: true, predicate: ["beforeCreateTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "afterShowTemplate", first: true, predicate: ["afterShowTemplate"], descendants: true, read: TemplateRef, static: true }], usesInheritance: true, ngImport: i0, template: `
52
+ <!-- verify payment -->
53
+ <ng-template #beforeListTemplate>
54
+ <x-common-payment [data]="verifyPaymentData"></x-common-payment>
55
+ </ng-template>
56
+
57
+ <!-- add card -->
58
+ <ng-template #beforeCreateTemplate>
59
+ <x-common-payment [data]="paymentData"></x-common-payment>
60
+ </ng-template>
61
+
62
+ <!-- show card buttons -->
63
+ <ng-template #afterShowTemplate let-item="item">
64
+ <div
65
+ *ngIf="item"
66
+ class="d-flex justify-content-center align-items-center"
67
+ >
68
+ <div class="btn-toolbar">
69
+ <div class="btn-group">
70
+ <button
71
+ type="button"
72
+ class="btn btn-primary"
73
+ (click)="update(item)"
74
+ [attr.disabled]="item.primary ? true : null"
75
+ >
76
+ {{
77
+ 'apps.capital.card.collection.links.secondary.make-primary.title'
78
+ | xTranslate
79
+ }}
80
+ </button>
81
+ </div>
82
+ </div>
83
+ </div>
84
+ </ng-template>
85
+
86
+ <!-- misc -->
87
+ <ng-template #loader>
88
+ <x-element-loader></x-element-loader>
89
+ </ng-template>
90
+
91
+ <ng-template #empty>
92
+ <x-element-blank></x-element-blank>
93
+ </ng-template>
94
+ `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.PaymentComponent, selector: "x-common-payment", inputs: ["data"] }, { kind: "component", type: i3.BlankComponent, selector: "x-element-blank", inputs: ["image", "icon", "type"] }, { kind: "component", type: i3.LoaderComponent, selector: "x-element-loader", inputs: ["data"] }, { kind: "pipe", type: i4.TranslatePipe, name: "xTranslate" }] }); }
95
+ }
96
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: CardComponent, decorators: [{
97
+ type: Component,
98
+ args: [{ selector: 'app-card', template: `
99
+ <!-- verify payment -->
100
+ <ng-template #beforeListTemplate>
101
+ <x-common-payment [data]="verifyPaymentData"></x-common-payment>
102
+ </ng-template>
103
+
104
+ <!-- add card -->
105
+ <ng-template #beforeCreateTemplate>
106
+ <x-common-payment [data]="paymentData"></x-common-payment>
107
+ </ng-template>
108
+
109
+ <!-- show card buttons -->
110
+ <ng-template #afterShowTemplate let-item="item">
111
+ <div
112
+ *ngIf="item"
113
+ class="d-flex justify-content-center align-items-center"
114
+ >
115
+ <div class="btn-toolbar">
116
+ <div class="btn-group">
117
+ <button
118
+ type="button"
119
+ class="btn btn-primary"
120
+ (click)="update(item)"
121
+ [attr.disabled]="item.primary ? true : null"
122
+ >
123
+ {{
124
+ 'apps.capital.card.collection.links.secondary.make-primary.title'
125
+ | xTranslate
126
+ }}
127
+ </button>
128
+ </div>
129
+ </div>
130
+ </div>
131
+ </ng-template>
132
+
133
+ <!-- misc -->
134
+ <ng-template #loader>
135
+ <x-element-loader></x-element-loader>
136
+ </ng-template>
137
+
138
+ <ng-template #empty>
139
+ <x-element-blank></x-element-blank>
140
+ </ng-template>
141
+ ` }]
142
+ }], propDecorators: { beforeListTemplate: [{
143
+ type: ViewChild,
144
+ args: ['beforeListTemplate', {
145
+ read: TemplateRef,
146
+ static: true,
147
+ }]
148
+ }], beforeCreateTemplate: [{
149
+ type: ViewChild,
150
+ args: ['beforeCreateTemplate', {
151
+ read: TemplateRef,
152
+ static: true,
153
+ }]
154
+ }], afterShowTemplate: [{
155
+ type: ViewChild,
156
+ args: ['afterShowTemplate', {
157
+ read: TemplateRef,
158
+ static: true,
159
+ }]
160
+ }] } });
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYXBpdGFsL3NyYy9saWIvcGFnZXMvY2FyZC9jYXJkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFFLE9BQU8sRUFDTCxhQUFhLEVBQ2IsTUFBTSxFQUNOLGdCQUFnQixFQUNoQixNQUFNLEVBQ04sS0FBSyxHQUNOLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7QUFrRHJDLE1BQU0sT0FBTyxhQUFjLFNBQVEsYUFBYTtJQWhEaEQ7O1FBaURtQixrQkFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQW9DdkQsaUJBQVksR0FBRyxHQUFHLEVBQUUsQ0FDbEIsRUFBRSxDQUFDO1lBQ0QsSUFBSSxFQUFFLHdCQUF3QjtTQUMvQixDQUFDLENBQUM7UUFFTCxnQkFBVyxHQUFvQjtZQUM3QixJQUFJLEVBQUUsS0FBSztZQUNYLE9BQU8sRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDO1lBQzNCLEtBQUssRUFBRTtnQkFDTCxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTthQUNoQztZQUNELE1BQU0sRUFBRSxJQUFJO1lBQ1osT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ2pCLFFBQVEsRUFBRSxDQUNSLFFBQWdCLEVBQ2hCLE1BQWMsRUFDZCxTQUFpQixFQUNqQixRQUFnQixFQUNoQixFQUFFO2dCQUNGLGdCQUFnQixDQUNkLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxTQUFTLFFBQVEsY0FBYyxTQUFTLEVBQUUsQ0FDbEYsQ0FBQztZQUNKLENBQUM7U0FDRixDQUFDO1FBRUYsc0JBQWlCLEdBQW9CO1lBQ25DLElBQUksRUFBRSxRQUFRO1lBQ2QsT0FBTyxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUM7WUFDM0IsTUFBTSxFQUFFLEdBQUc7WUFDWCxLQUFLLEVBQUUsRUFBRTtZQUNULE9BQU8sRUFBRSxFQUFFO1NBQ1osQ0FBQztLQUNIO0lBaERDLE1BQU0sQ0FBQyxJQUFTO1FBQ2QsSUFBSSxDQUFDLFVBQVU7YUFDWixFQUFFLENBQUMsdUJBQXVCLENBQUM7YUFDM0IsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUU7WUFDZixPQUFPLEVBQUUsSUFBSTtTQUNkLENBQUM7YUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUN2QixTQUFTLENBQ1IsS0FBSyxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRTtZQUMxQixNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDaEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNOLENBQUM7OEdBbkNVLGFBQWE7a0dBQWIsYUFBYSxxSkFJaEIsV0FBVyxxSUFNWCxXQUFXLCtIQU1YLFdBQVcsa0VBOURUOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkNUOzsyRkFHVSxhQUFhO2tCQWhEekIsU0FBUzsrQkFDRSxVQUFVLFlBQ1Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EyQ1Q7OEJBVUQsa0JBQWtCO3NCQUpqQixTQUFTO3VCQUFDLG9CQUFvQixFQUFFO3dCQUMvQixJQUFJLEVBQUUsV0FBVzt3QkFDakIsTUFBTSxFQUFFLElBQUk7cUJBQ2I7Z0JBT0Qsb0JBQW9CO3NCQUpuQixTQUFTO3VCQUFDLHNCQUFzQixFQUFFO3dCQUNqQyxJQUFJLEVBQUUsV0FBVzt3QkFDakIsTUFBTSxFQUFFLElBQUk7cUJBQ2I7Z0JBT0QsaUJBQWlCO3NCQUpoQixTQUFTO3VCQUFDLG1CQUFtQixFQUFFO3dCQUM5QixJQUFJLEVBQUUsV0FBVzt3QkFDakIsTUFBTSxFQUFFLElBQUk7cUJBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGF5bWVudENvbnRyYWN0IH0gZnJvbSAnQHRoZXNjYWZmb2xkL25neC1jb21tb24nO1xuaW1wb3J0IHtcbiAgQmFzZURpcmVjdGl2ZSxcbiAgZ2V0RW52LFxuICBuYXZpZ2F0ZUV4dGVybmFsLFxuICBub3RpZnksXG4gIHVzaW5nLFxufSBmcm9tICdAdGhlc2NhZmZvbGQvbmd4LWNvcmUnO1xuaW1wb3J0IHsgRmx5b3V0U2VydmljZSB9IGZyb20gJ0B0aGVzY2FmZm9sZC9uZ3gtdWknO1xuaW1wb3J0IHsgb2YsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtY2FyZCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPCEtLSB2ZXJpZnkgcGF5bWVudCAtLT5cbiAgICA8bmctdGVtcGxhdGUgI2JlZm9yZUxpc3RUZW1wbGF0ZT5cbiAgICAgIDx4LWNvbW1vbi1wYXltZW50IFtkYXRhXT1cInZlcmlmeVBheW1lbnREYXRhXCI+PC94LWNvbW1vbi1wYXltZW50PlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8IS0tIGFkZCBjYXJkIC0tPlxuICAgIDxuZy10ZW1wbGF0ZSAjYmVmb3JlQ3JlYXRlVGVtcGxhdGU+XG4gICAgICA8eC1jb21tb24tcGF5bWVudCBbZGF0YV09XCJwYXltZW50RGF0YVwiPjwveC1jb21tb24tcGF5bWVudD5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPCEtLSBzaG93IGNhcmQgYnV0dG9ucyAtLT5cbiAgICA8bmctdGVtcGxhdGUgI2FmdGVyU2hvd1RlbXBsYXRlIGxldC1pdGVtPVwiaXRlbVwiPlxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj1cIml0ZW1cIlxuICAgICAgICBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJidG4tdG9vbGJhclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJidG4tZ3JvdXBcIj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInVwZGF0ZShpdGVtKVwiXG4gICAgICAgICAgICAgIFthdHRyLmRpc2FibGVkXT1cIml0ZW0ucHJpbWFyeSA/IHRydWUgOiBudWxsXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAnYXBwcy5jYXBpdGFsLmNhcmQuY29sbGVjdGlvbi5saW5rcy5zZWNvbmRhcnkubWFrZS1wcmltYXJ5LnRpdGxlJ1xuICAgICAgICAgICAgICAgICAgfCB4VHJhbnNsYXRlXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPCEtLSBtaXNjIC0tPlxuICAgIDxuZy10ZW1wbGF0ZSAjbG9hZGVyPlxuICAgICAgPHgtZWxlbWVudC1sb2FkZXI+PC94LWVsZW1lbnQtbG9hZGVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctdGVtcGxhdGUgI2VtcHR5PlxuICAgICAgPHgtZWxlbWVudC1ibGFuaz48L3gtZWxlbWVudC1ibGFuaz5cbiAgICA8L25nLXRlbXBsYXRlPlxuICBgLFxuICBzdHlsZXM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBDYXJkQ29tcG9uZW50IGV4dGVuZHMgQmFzZURpcmVjdGl2ZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZmx5b3V0U2VydmljZSA9IGluamVjdChGbHlvdXRTZXJ2aWNlKTtcblxuICBAVmlld0NoaWxkKCdiZWZvcmVMaXN0VGVtcGxhdGUnLCB7XG4gICAgcmVhZDogVGVtcGxhdGVSZWYsXG4gICAgc3RhdGljOiB0cnVlLFxuICB9KVxuICBiZWZvcmVMaXN0VGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBWaWV3Q2hpbGQoJ2JlZm9yZUNyZWF0ZVRlbXBsYXRlJywge1xuICAgIHJlYWQ6IFRlbXBsYXRlUmVmLFxuICAgIHN0YXRpYzogdHJ1ZSxcbiAgfSlcbiAgYmVmb3JlQ3JlYXRlVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBWaWV3Q2hpbGQoJ2FmdGVyU2hvd1RlbXBsYXRlJywge1xuICAgIHJlYWQ6IFRlbXBsYXRlUmVmLFxuICAgIHN0YXRpYzogdHJ1ZSxcbiAgfSlcbiAgYWZ0ZXJTaG93VGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIHVwZGF0ZShpdGVtOiBhbnkpIHtcbiAgICB0aGlzLmFwaVNlcnZpY2VcbiAgICAgIC5vbignYXBwcy9jYXBpdGFsL3Byb3ZpZGVyJylcbiAgICAgIC51cGRhdGUoaXRlbS5pZCwge1xuICAgICAgICBwcmltYXJ5OiB0cnVlLFxuICAgICAgfSlcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiQpKVxuICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgdXNpbmcoKHsgbWVzc2FnZSwgZGF0YSB9KSA9PiB7XG4gICAgICAgICAgbm90aWZ5KG1lc3NhZ2UpO1xuICAgICAgICAgIHRoaXMuZmx5b3V0U2VydmljZS5kaXNtaXNzKCk7XG4gICAgICAgICAgdGhpcy5yZWxvYWQoKTtcbiAgICAgICAgfSksXG4gICAgICApO1xuICB9XG5cbiAgcGF5bWVudE1ldGEkID0gKCkgPT5cbiAgICBvZih7XG4gICAgICB0eXBlOiAnYXBwcy5jYXBpdGFsLmNhcmQubGluaycsXG4gICAgfSk7XG5cbiAgcGF5bWVudERhdGE6IFBheW1lbnRDb250cmFjdCA9IHtcbiAgICBtb2RlOiAncGF5JyxcbiAgICBhcHBOYW1lOiBnZXRFbnYoJ0FQUF9OQU1FJyksXG4gICAgaG9va3M6IHtcbiAgICAgIG1ldGE6ICgpID0+IHRoaXMucGF5bWVudE1ldGEkKCksXG4gICAgfSxcbiAgICBhbW91bnQ6IDUwLjAsXG4gICAgb3B0aW9uczogWydjYXJkJ10sXG4gICAgcmVkaXJlY3Q6IChcbiAgICAgIHByb3ZpZGVyOiBzdHJpbmcsXG4gICAgICBhbW91bnQ6IG51bWJlcixcbiAgICAgIHJlZmVyZW5jZTogc3RyaW5nLFxuICAgICAgY3VycmVuY3k6IHN0cmluZyxcbiAgICApID0+IHtcbiAgICAgIG5hdmlnYXRlRXh0ZXJuYWwoXG4gICAgICAgIGAke2dldEVudignQkFTRV9VUkwnKX0ke3RoaXMucm91dGVyLnVybH0/dHlwZT0ke3Byb3ZpZGVyfSZyZWZlcmVuY2U9JHtyZWZlcmVuY2V9YCxcbiAgICAgICk7XG4gICAgfSxcbiAgfTtcblxuICB2ZXJpZnlQYXltZW50RGF0YTogUGF5bWVudENvbnRyYWN0ID0ge1xuICAgIG1vZGU6ICd2ZXJpZnknLFxuICAgIGFwcE5hbWU6IGdldEVudignQVBQX05BTUUnKSxcbiAgICBhbW91bnQ6IDAuMCxcbiAgICBob29rczoge30sXG4gICAgb3B0aW9uczogW10sXG4gIH07XG59XG4iXX0=
@@ -0,0 +1,32 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { PaymentModule } from '@thescaffold/ngx-common';
3
+ import { PipesModule, SharedModule } from '@thescaffold/ngx-core';
4
+ import { CRUD_PROVIDER, CrudModule, ElementsModule } from '@thescaffold/ngx-ui';
5
+ import { CardComponent } from './card.component';
6
+ import { CardProvider } from './card.provider';
7
+ import * as i0 from "@angular/core";
8
+ export class CardModule {
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: CardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
10
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.5", ngImport: i0, type: CardModule, declarations: [CardComponent], imports: [SharedModule, PaymentModule, ElementsModule, PipesModule], exports: [CrudModule] }); }
11
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: CardModule, providers: [
12
+ {
13
+ provide: CRUD_PROVIDER,
14
+ useClass: CardProvider,
15
+ },
16
+ ], imports: [SharedModule, PaymentModule, ElementsModule, PipesModule, CrudModule] }); }
17
+ }
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: CardModule, decorators: [{
19
+ type: NgModule,
20
+ args: [{
21
+ declarations: [CardComponent],
22
+ exports: [CrudModule],
23
+ providers: [
24
+ {
25
+ provide: CRUD_PROVIDER,
26
+ useClass: CardProvider,
27
+ },
28
+ ],
29
+ imports: [SharedModule, PaymentModule, ElementsModule, PipesModule],
30
+ }]
31
+ }] });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYXBpdGFsL3NyYy9saWIvcGFnZXMvY2FyZC9jYXJkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBYS9DLE1BQU0sT0FBTyxVQUFVOzhHQUFWLFVBQVU7K0dBQVYsVUFBVSxpQkFWTixhQUFhLGFBUWxCLFlBQVksRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLFdBQVcsYUFQeEQsVUFBVTsrR0FTVCxVQUFVLGFBUlY7WUFDVDtnQkFDRSxPQUFPLEVBQUUsYUFBYTtnQkFDdEIsUUFBUSxFQUFFLFlBQVk7YUFDdkI7U0FDRixZQUNTLFlBQVksRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFQeEQsVUFBVTs7MkZBU1QsVUFBVTtrQkFYdEIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxhQUFhLENBQUM7b0JBQzdCLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQztvQkFDckIsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxhQUFhOzRCQUN0QixRQUFRLEVBQUUsWUFBWTt5QkFDdkI7cUJBQ0Y7b0JBQ0QsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsV0FBVyxDQUFDO2lCQUNwRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQYXltZW50TW9kdWxlIH0gZnJvbSAnQHRoZXNjYWZmb2xkL25neC1jb21tb24nO1xuaW1wb3J0IHsgUGlwZXNNb2R1bGUsIFNoYXJlZE1vZHVsZSB9IGZyb20gJ0B0aGVzY2FmZm9sZC9uZ3gtY29yZSc7XG5pbXBvcnQgeyBDUlVEX1BST1ZJREVSLCBDcnVkTW9kdWxlLCBFbGVtZW50c01vZHVsZSB9IGZyb20gJ0B0aGVzY2FmZm9sZC9uZ3gtdWknO1xuaW1wb3J0IHsgQ2FyZENvbXBvbmVudCB9IGZyb20gJy4vY2FyZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FyZFByb3ZpZGVyIH0gZnJvbSAnLi9jYXJkLnByb3ZpZGVyJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbQ2FyZENvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtDcnVkTW9kdWxlXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogQ1JVRF9QUk9WSURFUixcbiAgICAgIHVzZUNsYXNzOiBDYXJkUHJvdmlkZXIsXG4gICAgfSxcbiAgXSxcbiAgaW1wb3J0czogW1NoYXJlZE1vZHVsZSwgUGF5bWVudE1vZHVsZSwgRWxlbWVudHNNb2R1bGUsIFBpcGVzTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FyZE1vZHVsZSB7fVxuIl19
@@ -0,0 +1,249 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { CrudActionType, CrudProvider } from '@thescaffold/ngx-ui';
3
+ import { CardComponent } from './card.component';
4
+ import * as i0 from "@angular/core";
5
+ export class CardProvider extends CrudProvider {
6
+ constructor() {
7
+ super(...arguments);
8
+ this.main = true;
9
+ this.name = this.translate('apps.capital.card.name');
10
+ this.pluralName = this.translate('apps.capital.card.plural');
11
+ this.dataSource = this.apiService.on('apps/capital/provider');
12
+ this.path = ['/', 'payments', 'card'];
13
+ this.columns = [
14
+ {
15
+ key: 'meta.last4',
16
+ value: this.translate('apps.capital.card.columns.last4.title'),
17
+ type: 'link',
18
+ links: (column, item) => [
19
+ {
20
+ title: `${item.meta.first6}...${item.meta.last4}`,
21
+ fn: (link) => {
22
+ this.show(item);
23
+ },
24
+ },
25
+ ],
26
+ },
27
+ {
28
+ key: 'meta.country',
29
+ value: this.translate('apps.capital.card.columns.country.title'),
30
+ },
31
+ {
32
+ key: 'currency',
33
+ value: this.translate('apps.capital.card.columns.currency.title'),
34
+ },
35
+ {
36
+ key: 'meta.expiry',
37
+ value: this.translate('apps.capital.card.columns.expiry.title'),
38
+ },
39
+ {
40
+ key: 'priority',
41
+ value: '',
42
+ type: 'class',
43
+ class: 'badge border text-primary',
44
+ },
45
+ {
46
+ key: 'createdAt',
47
+ value: '',
48
+ type: 'date',
49
+ },
50
+ ];
51
+ this.fields = [];
52
+ this.templateSource = CardComponent;
53
+ this.routes = {
54
+ // [CrudActionType.CloseCreate]: ['/', 'payments', 'card'],
55
+ // [CrudActionType.AfterSave]: ['/', 'payments', 'card'],
56
+ // [CrudActionType.CloseEdit]: ['/', 'payments', 'card'],
57
+ // [CrudActionType.AfterUpdate]: ['/', 'payments', 'card'],
58
+ // [CrudActionType.CloseShow]: ['/', 'payments', 'card'],
59
+ // [CrudActionType.CloseDelete]: ['/', 'payments', 'card'],
60
+ // [CrudActionType.AfterRemove]: ['/', 'payments', 'card'],
61
+ };
62
+ this.morphs = {
63
+ [CrudActionType.BeforeSave]: (payload) => {
64
+ return payload;
65
+ },
66
+ [CrudActionType.AfterSave]: (payload) => {
67
+ return payload;
68
+ },
69
+ [CrudActionType.BeforeEdit]: (payload) => {
70
+ return payload;
71
+ },
72
+ [CrudActionType.AfterEdit]: (payload) => {
73
+ return payload;
74
+ },
75
+ [CrudActionType.BeforeUpdate]: (payload) => {
76
+ return payload;
77
+ },
78
+ [CrudActionType.AfterUpdate]: (payload) => {
79
+ return payload;
80
+ },
81
+ [CrudActionType.BeforeShow]: (payload) => {
82
+ return {
83
+ list: [
84
+ {
85
+ title: this.translate('apps.capital.card.show.list.name.title'),
86
+ value: payload.name,
87
+ },
88
+ {
89
+ title: this.translate('apps.capital.card.show.list.country.title'),
90
+ value: payload.meta.country,
91
+ },
92
+ {
93
+ title: this.translate('apps.capital.card.show.list.first6.title'),
94
+ value: payload.meta.first6,
95
+ },
96
+ {
97
+ title: this.translate('apps.capital.card.show.list.last4.title'),
98
+ value: payload.meta.last4,
99
+ },
100
+ {
101
+ title: this.translate('apps.capital.card.show.list.currency.title'),
102
+ value: payload.currency,
103
+ },
104
+ {
105
+ title: this.translate('apps.capital.card.show.list.expiry.title'),
106
+ value: payload.meta.expiry,
107
+ },
108
+ {
109
+ title: this.translate('apps.capital.card.show.list.priority.title'),
110
+ value: payload.primary ? 'primary' : '',
111
+ },
112
+ ],
113
+ ...payload,
114
+ };
115
+ },
116
+ [CrudActionType.AfterShow]: (payload) => {
117
+ return payload;
118
+ },
119
+ [CrudActionType.BeforeList]: (payload) => {
120
+ return {
121
+ ...payload,
122
+ type: 'card',
123
+ };
124
+ },
125
+ [CrudActionType.AfterList]: (payload) => {
126
+ return payload;
127
+ },
128
+ [CrudActionType.BeforeDelete]: (payload) => {
129
+ return payload;
130
+ },
131
+ [CrudActionType.AfterDelete]: (payload) => {
132
+ return payload;
133
+ },
134
+ [CrudActionType.BeforeRemove]: (payload) => {
135
+ return payload;
136
+ },
137
+ [CrudActionType.AfterRemove]: (payload) => {
138
+ return payload;
139
+ },
140
+ };
141
+ this.hooks = {
142
+ [CrudActionType.BeforeCreate]: () => { },
143
+ [CrudActionType.AfterCreate]: () => { },
144
+ [CrudActionType.BeforeSave]: (payload) => { },
145
+ [CrudActionType.AfterSave]: (payload, data) => { },
146
+ [CrudActionType.BeforeEdit]: (payload) => { },
147
+ [CrudActionType.AfterEdit]: (payload) => { },
148
+ [CrudActionType.BeforeUpdate]: (payload) => { },
149
+ [CrudActionType.AfterUpdate]: (payload, data) => { },
150
+ [CrudActionType.BeforeShow]: (payload) => { },
151
+ [CrudActionType.AfterShow]: (payload) => { },
152
+ [CrudActionType.BeforeList]: (payload) => { },
153
+ [CrudActionType.AfterList]: (payload, data) => { },
154
+ [CrudActionType.BeforeDelete]: (payload) => { },
155
+ [CrudActionType.AfterDelete]: (payload) => { },
156
+ [CrudActionType.BeforeRemove]: (payload) => { },
157
+ [CrudActionType.AfterRemove]: (payload, data) => { },
158
+ };
159
+ this.toCollection = (response) => {
160
+ return {
161
+ title: this.pluralName,
162
+ columns: this.columns,
163
+ rows: response?.data
164
+ ?.sort((a, b) => {
165
+ if (a.primary && !b.primary) {
166
+ return -1;
167
+ }
168
+ if (!a.primary && b.primary) {
169
+ return 1;
170
+ }
171
+ return 0; //a.primary == b.primary & others
172
+ })
173
+ ?.map((r) => ({ ...r, priority: r.primary ? 'primary' : '' })),
174
+ links: {
175
+ primary: [
176
+ {
177
+ title: this.translate('apps.capital.card.collection.links.primary.add-card.title'),
178
+ fn: (link) => {
179
+ this.create();
180
+ },
181
+ },
182
+ ],
183
+ secondary: [
184
+ {
185
+ title: this.translate('apps.capital.card.collection.links.secondary.view.title'),
186
+ fn: (link, item) => {
187
+ this.show(item);
188
+ },
189
+ },
190
+ {
191
+ title: this.translate('apps.capital.card.collection.links.secondary.make-primary.title'),
192
+ fn: (link, item) => {
193
+ this.update({ id: item.id, primary: true });
194
+ },
195
+ enabled: (link, item) => {
196
+ return !item.primary;
197
+ },
198
+ },
199
+ {
200
+ title: this.translate('apps.capital.card.collection.links.secondary.remove-card.title'),
201
+ fn: (link, item) => {
202
+ this.delete(item);
203
+ },
204
+ enabled: (link, item) => {
205
+ return !item.primary;
206
+ },
207
+ },
208
+ ],
209
+ tertiary: [],
210
+ empty: [
211
+ {
212
+ title: this.translate('apps.capital.card.collection.links.empty.new.title'),
213
+ fn: (link) => {
214
+ this.create();
215
+ },
216
+ },
217
+ // {
218
+ // title: this.translate(
219
+ // 'apps.capital.card.collection.links.empty.learn-more.title',
220
+ // ),
221
+ // fn: (link: any) => {
222
+ // navigateExternal(
223
+ // `${getEnv('DOCS_BASE_URL')}/cards`,
224
+ // true,
225
+ // );
226
+ // },
227
+ // },
228
+ ],
229
+ },
230
+ hasTextFilter: true,
231
+ hasDateFilter: false,
232
+ selectable: false,
233
+ hasHeaders: true,
234
+ page: response?.meta?.current_page,
235
+ perPage: response?.meta?.per_page,
236
+ total: response?.meta?.total,
237
+ };
238
+ };
239
+ }
240
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: CardProvider, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
241
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: CardProvider, providedIn: 'root' }); }
242
+ }
243
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: CardProvider, decorators: [{
244
+ type: Injectable,
245
+ args: [{
246
+ providedIn: 'root',
247
+ }]
248
+ }] });
249
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhcGl0YWwvc3JjL2xpYi9wYWdlcy9jYXJkL2NhcmQucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFLakQsTUFBTSxPQUFPLFlBQWEsU0FBUSxZQUFZO0lBSDlDOztRQUlXLFNBQUksR0FBRyxJQUFJLENBQUM7UUFDWixTQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQ2hELGVBQVUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFDeEQsZUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDekQsU0FBSSxHQUFHLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNqQyxZQUFPLEdBQUc7WUFDakI7Z0JBQ0UsR0FBRyxFQUFFLFlBQVk7Z0JBQ2pCLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLHVDQUF1QyxDQUFDO2dCQUM5RCxJQUFJLEVBQUUsTUFBTTtnQkFDWixLQUFLLEVBQUUsQ0FBQyxNQUFXLEVBQUUsSUFBUyxFQUFFLEVBQUUsQ0FBQztvQkFDakM7d0JBQ0UsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7d0JBQ2pELEVBQUUsRUFBRSxDQUFDLElBQVMsRUFBRSxFQUFFOzRCQUNoQixJQUFJLENBQUMsSUFBSSxD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bkIsb0RBQW9ELENBQ3JEOzRCQUNELEVBQUUsRUFBRSxDQUFDLElBQVMsRUFBRSxFQUFFO2dDQUNoQixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7NEJBQ2hCLENBQUM7eUJBQ0Y7d0JBQ0QsSUFBSTt3QkFDSiwyQkFBMkI7d0JBQzNCLG1FQUFtRTt3QkFDbkUsT0FBTzt3QkFDUCx5QkFBeUI7d0JBQ3pCLHdCQUF3Qjt3QkFDeEIsNENBQTRDO3dCQUM1QyxjQUFjO3dCQUNkLFNBQVM7d0JBQ1QsT0FBTzt3QkFDUCxLQUFLO3FCQUNOO2lCQUNGO2dCQUNELGFBQWEsRUFBRSxJQUFJO2dCQUNuQixhQUFhLEVBQUUsS0FBSztnQkFDcEIsVUFBVSxFQUFFLEtBQUs7Z0JBQ2pCLFVBQVUsRUFBRSxJQUFJO2dCQUNoQixJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxZQUFZO2dCQUNsQyxPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRO2dCQUNqQyxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxLQUFLO2FBQzdCLENBQUM7UUFDSixDQUFDLENBQUM7S0FDSDs4R0F6UFksWUFBWTtrSEFBWixZQUFZLGNBRlgsTUFBTTs7MkZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDcnVkQWN0aW9uVHlwZSwgQ3J1ZFByb3ZpZGVyIH0gZnJvbSAnQHRoZXNjYWZmb2xkL25neC11aSc7XG5pbXBvcnQgeyBDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9jYXJkLmNvbXBvbmVudCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBDYXJkUHJvdmlkZXIgZXh0ZW5kcyBDcnVkUHJvdmlkZXIge1xuICBvdmVycmlkZSBtYWluID0gdHJ1ZTtcbiAgb3ZlcnJpZGUgbmFtZSA9IHRoaXMudHJhbnNsYXRlKCdhcHBzLmNhcGl0YWwuY2FyZC5uYW1lJyk7XG4gIG92ZXJyaWRlIHBsdXJhbE5hbWUgPSB0aGlzLnRyYW5zbGF0ZSgnYXBwcy5jYXBpdGFsLmNhcmQucGx1cmFsJyk7XG4gIG92ZXJyaWRlIGRhdGFTb3VyY2UgPSB0aGlzLmFwaVNlcnZpY2Uub24oJ2FwcHMvY2FwaXRhbC9wcm92aWRlcicpO1xuICBvdmVycmlkZSBwYXRoID0gWycvJywgJ3BheW1lbnRzJywgJ2NhcmQnXTtcbiAgb3ZlcnJpZGUgY29sdW1ucyA9IFtcbiAgICB7XG4gICAgICBrZXk6ICdtZXRhLmxhc3Q0JyxcbiAgICAgIHZhbHVlOiB0aGlzLnRyYW5zbGF0ZSgnYXBwcy5jYXBpdGFsLmNhcmQuY29sdW1ucy5sYXN0NC50aXRsZScpLFxuICAgICAgdHlwZTogJ2xpbmsnLFxuICAgICAgbGlua3M6IChjb2x1bW46IGFueSwgaXRlbTogYW55KSA9PiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0aXRsZTogYCR7aXRlbS5tZXRhLmZpcnN0Nn0uLi4ke2l0ZW0ubWV0YS5sYXN0NH1gLFxuICAgICAgICAgIGZuOiAobGluazogYW55KSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNob3coaXRlbSk7XG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICBrZXk6ICdtZXRhLmNvdW50cnknLFxuICAgICAgdmFsdWU6IHRoaXMudHJhbnNsYXRlKCdhcHBzLmNhcGl0YWwuY2FyZC5jb2x1bW5zLmNvdW50cnkudGl0bGUnKSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGtleTogJ2N1cnJlbmN5JyxcbiAgICAgIHZhbHVlOiB0aGlzLnRyYW5zbGF0ZSgnYXBwcy5jYXBpdGFsLmNhcmQuY29sdW1ucy5jdXJyZW5jeS50aXRsZScpLFxuICAgIH0sXG4gICAge1xuICAgICAga2V5OiAnbWV0YS5leHBpcnknLFxuICAgICAgdmFsdWU6IHRoaXMudHJhbnNsYXRlKCdhcHBzLmNhcGl0YWwuY2FyZC5jb2x1bW5zLmV4cGlyeS50aXRsZScpLFxuICAgIH0sXG4gICAge1xuICAgICAga2V5OiAncHJpb3JpdHknLFxuICAgICAgdmFsdWU6ICcnLFxuICAgICAgdHlwZTogJ2NsYXNzJyxcbiAgICAgIGNsYXNzOiAnYmFkZ2UgYm9yZGVyIHRleHQtcHJpbWFyeScsXG4gICAgfSxcbiAgICB7XG4gICAgICBrZXk6ICdjcmVhdGVkQXQnLFxuICAgICAgdmFsdWU6ICcnLFxuICAgICAgdHlwZTogJ2RhdGUnLFxuICAgIH0sXG4gIF07XG4gIG92ZXJyaWRlIGZpZWxkcyA9IFtdO1xuXG4gIG92ZXJyaWRlIHRlbXBsYXRlU291cmNlID0gQ2FyZENvbXBvbmVudDtcblxuICBvdmVycmlkZSByb3V0ZXMgPSB7XG4gICAgLy8gW0NydWRBY3Rpb25UeXBlLkNsb3NlQ3JlYXRlXTogWycvJywgJ3BheW1lbnRzJywgJ2NhcmQnXSxcbiAgICAvLyBbQ3J1ZEFjdGlvblR5cGUuQWZ0ZXJTYXZlXTogWycvJywgJ3BheW1lbnRzJywgJ2NhcmQnXSxcbiAgICAvLyBbQ3J1ZEFjdGlvblR5cGUuQ2xvc2VFZGl0XTogWycvJywgJ3BheW1lbnRzJywgJ2NhcmQnXSxcbiAgICAvLyBbQ3J1ZEFjdGlvblR5cGUuQWZ0ZXJVcGRhdGVdOiBbJy8nLCAncGF5bWVudHMnLCAnY2FyZCddLFxuICAgIC8vIFtDcnVkQWN0aW9uVHlwZS5DbG9zZVNob3ddOiBbJy8nLCAncGF5bWVudHMnLCAnY2FyZCddLFxuICAgIC8vIFtDcnVkQWN0aW9uVHlwZS5DbG9zZURlbGV0ZV06IFsnLycsICdwYXltZW50cycsICdjYXJkJ10sXG4gICAgLy8gW0NydWRBY3Rpb25UeXBlLkFmdGVyUmVtb3ZlXTogWycvJywgJ3BheW1lbnRzJywgJ2NhcmQnXSxcbiAgfTtcblxuICBvdmVycmlkZSBtb3JwaHMgPSB7XG4gICAgW0NydWRBY3Rpb25UeXBlLkJlZm9yZVNhdmVdOiAocGF5bG9hZDogYW55KSA9PiB7XG4gICAgICByZXR1cm4gcGF5bG9hZDtcbiAgICB9LFxuICAgIFtDcnVkQWN0aW9uVHlwZS5BZnRlclNhdmVdOiAocGF5bG9hZDogYW55KSA9PiB7XG4gICAgICByZXR1cm4gcGF5bG9hZDtcbiAgICB9LFxuICAgIFtDcnVkQWN0aW9uVHlwZS5CZWZvcmVFZGl0XTogKHBheWxvYWQ6IGFueSkgPT4ge1xuICAgICAgcmV0dXJuIHBheWxvYWQ7XG4gICAgfSxcbiAgICBbQ3J1ZEFjdGlvblR5cGUuQWZ0ZXJFZGl0XTogKHBheWxvYWQ6IGFueSkgPT4ge1xuICAgICAgcmV0dXJuIHBheWxvYWQ7XG4gICAgfSxcbiAgICBbQ3J1ZEFjdGlvblR5cGUuQmVmb3JlVXBkYXRlXTogKHBheWxvYWQ6IGFueSkgPT4ge1xuICAgICAgcmV0dXJuIHBheWxvYWQ7XG4gICAgfSxcbiAgICBbQ3J1ZEFjdGlvblR5cGUuQWZ0ZXJVcGRhdGVdOiAocGF5bG9hZDogYW55KSA9PiB7XG4gICAgICByZXR1cm4gcGF5bG9hZDtcbiAgICB9LFxuICAgIFtDcnVkQWN0aW9uVHlwZS5CZWZvcmVTaG93XTogKHBheWxvYWQ6IGFueSkgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbGlzdDogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0ZSgnYXBwcy5jYXBpdGFsLmNhcmQuc2hvdy5saXN0Lm5hbWUudGl0bGUnKSxcbiAgICAgICAgICAgIHZhbHVlOiBwYXlsb2FkLm5hbWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGUoJ2FwcHMuY2FwaXRhbC5jYXJkLnNob3cubGlzdC5jb3VudHJ5LnRpdGxlJyksXG4gICAgICAgICAgICB2YWx1ZTogcGF5bG9hZC5tZXRhLmNvdW50cnksXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGUoJ2FwcHMuY2FwaXRhbC5jYXJkLnNob3cubGlzdC5maXJzdDYudGl0bGUnKSxcbiAgICAgICAgICAgIHZhbHVlOiBwYXlsb2FkLm1ldGEuZmlyc3Q2LFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgdGl0bGU6IHRoaXMudHJhbnNsYXRlKCdhcHBzLmNhcGl0YWwuY2FyZC5zaG93Lmxpc3QubGFzdDQudGl0bGUnKSxcbiAgICAgICAgICAgIHZhbHVlOiBwYXlsb2FkLm1ldGEubGFzdDQsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGUoJ2FwcHMuY2FwaXRhbC5jYXJkLnNob3cubGlzdC5jdXJyZW5jeS50aXRsZScpLFxuICAgICAgICAgICAgdmFsdWU6IHBheWxvYWQuY3VycmVuY3ksXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGUoJ2FwcHMuY2FwaXRhbC5jYXJkLnNob3cubGlzdC5leHBpcnkudGl0bGUnKSxcbiAgICAgICAgICAgIHZhbHVlOiBwYXlsb2FkLm1ldGEuZXhwaXJ5LFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgdGl0bGU6IHRoaXMudHJhbnNsYXRlKCdhcHBzLmNhcGl0YWwuY2FyZC5zaG93Lmxpc3QucHJpb3JpdHkudGl0bGUnKSxcbiAgICAgICAgICAgIHZhbHVlOiBwYXlsb2FkLnByaW1hcnkgPyAncHJpbWFyeScgOiAnJyxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICAuLi5wYXlsb2FkLFxuICAgICAgfTtcbiAgICB9LFxuICAgIFtDcnVkQWN0aW9uVHlwZS5BZnRlclNob3ddOiAocGF5bG9hZDogYW55KSA9PiB7XG4gICAgICByZXR1cm4gcGF5bG9hZDtcbiAgICB9LFxuICAgIFtDcnVkQWN0aW9uVHlwZS5CZWZvcmVMaXN0XTogKHBheWxvYWQ6IGFueSkgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ucGF5bG9hZCxcbiAgICAgICAgdHlwZTogJ2NhcmQnLFxuICAgICAgfTtcbiAgICB9LFxuICAgIFtDcnVkQWN0aW9uVHlwZS5BZnRlckxpc3RdOiAocGF5bG9hZDogYW55KSA9PiB7XG4gICAgICByZXR1cm4gcGF5bG9hZDtcbiAgICB9LFxuICAgIFtDcnVkQWN0aW9uVHlwZS5CZWZvcmVEZWxldGVdOiAocGF5bG9hZDogYW55KSA9PiB7XG4gICAgICByZXR1cm4gcGF5bG9hZDtcbiAgICB9LFxuICAgIFtDcnVkQWN0aW9uVHlwZS5BZnRlckRlbGV0ZV06IChwYXlsb2FkOiBhbnkpID0+IHtcbiAgICAgIHJldHVybiBwYXlsb2FkO1xuICAgIH0sXG4gICAgW0NydWRBY3Rpb25UeXBlLkJlZm9yZVJlbW92ZV06IChwYXlsb2FkOiBhbnkpID0+IHtcbiAgICAgIHJldHVybiBwYXlsb2FkO1xuICAgIH0sXG4gICAgW0NydWRBY3Rpb25UeXBlLkFmdGVyUmVtb3ZlXTogKHBheWxvYWQ6IGFueSkgPT4ge1xuICAgICAgcmV0dXJuIHBheWxvYWQ7XG4gICAgfSxcbiAgfTtcblxuICBvdmVycmlkZSBob29rcyA9IHtcbiAgICBbQ3J1ZEFjdGlvblR5cGUuQmVmb3JlQ3JlYXRlXTogKCkgPT4ge30sXG4gICAgW0NydWRBY3Rpb25UeXBlLkFmdGVyQ3JlYXRlXTogKCkgPT4ge30sXG4gICAgW0NydWRBY3Rpb25UeXBlLkJlZm9yZVNhdmVdOiAocGF5bG9hZDogYW55KSA9PiB7fSxcbiAgICBbQ3J1ZEFjdGlvblR5cGUuQWZ0ZXJTYXZlXTogKHBheWxvYWQ6IGFueSwgZGF0YTogYW55KSA9PiB7fSxcbiAgICBbQ3J1ZEFjdGlvblR5cGUuQmVmb3JlRWRpdF06IChwYXlsb2FkOiBhbnkpID0+IHt9LFxuICAgIFtDcnVkQWN0aW9uVHlwZS5BZnRlckVkaXRdOiAocGF5bG9hZDogYW55KSA9PiB7fSxcbiAgICBbQ3J1ZEFjdGlvblR5cGUuQmVmb3JlVXBkYXRlXTogKHBheWxvYWQ6IGFueSkgPT4ge30sXG4gICAgW0NydWRBY3Rpb25UeXBlLkFmdGVyVXBkYXRlXTogKHBheWxvYWQ6IGFueSwgZGF0YTogYW55KSA9PiB7fSxcbiAgICBbQ3J1ZEFjdGlvblR5cGUuQmVmb3JlU2hvd106IChwYXlsb2FkOiBhbnkpID0+IHt9LFxuICAgIFtDcnVkQWN0aW9uVHlwZS5BZnRlclNob3ddOiAocGF5bG9hZDogYW55KSA9PiB7fSxcbiAgICBbQ3J1ZEFjdGlvblR5cGUuQmVmb3JlTGlzdF06IChwYXlsb2FkOiBhbnkpID0+IHt9LFxuICAgIFtDcnVkQWN0aW9uVHlwZS5BZnRlckxpc3RdOiAocGF5bG9hZDogYW55LCBkYXRhOiBhbnkpID0+IHt9LFxuICAgIFtDcnVkQWN0aW9uVHlwZS5CZWZvcmVEZWxldGVdOiAocGF5bG9hZDogYW55KSA9PiB7fSxcbiAgICBbQ3J1ZEFjdGlvblR5cGUuQWZ0ZXJEZWxldGVdOiAocGF5bG9hZDogYW55KSA9PiB7fSxcbiAgICBbQ3J1ZEFjdGlvblR5cGUuQmVmb3JlUmVtb3ZlXTogKHBheWxvYWQ6IGFueSkgPT4ge30sXG4gICAgW0NydWRBY3Rpb25UeXBlLkFmdGVyUmVtb3ZlXTogKHBheWxvYWQ6IGFueSwgZGF0YTogYW55KSA9PiB7fSxcbiAgfTtcblxuICBvdmVycmlkZSB0b0NvbGxlY3Rpb24gPSAocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICB0aXRsZTogdGhpcy5wbHVyYWxOYW1lLFxuICAgICAgY29sdW1uczogdGhpcy5jb2x1bW5zLFxuICAgICAgcm93czogcmVzcG9uc2U/LmRhdGFcbiAgICAgICAgPy5zb3J0KChhOiBhbnksIGI6IGFueSkgPT4ge1xuICAgICAgICAgIGlmIChhLnByaW1hcnkgJiYgIWIucHJpbWFyeSkge1xuICAgICAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICghYS5wcmltYXJ5ICYmIGIucHJpbWFyeSkge1xuICAgICAgICAgICAgcmV0dXJuIDE7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIDA7IC8vYS5wcmltYXJ5ID09IGIucHJpbWFyeSAmIG90aGVyc1xuICAgICAgICB9KVxuICAgICAgICA/Lm1hcCgocjogYW55KSA9PiAoeyAuLi5yLCBwcmlvcml0eTogci5wcmltYXJ5ID8gJ3ByaW1hcnknIDogJycgfSkpLFxuICAgICAgbGlua3M6IHtcbiAgICAgICAgcHJpbWFyeTogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0ZShcbiAgICAgICAgICAgICAgJ2FwcHMuY2FwaXRhbC5jYXJkLmNvbGxlY3Rpb24ubGlua3MucHJpbWFyeS5hZGQtY2FyZC50aXRsZScsXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgZm46IChsaW5rOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5jcmVhdGUoKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgc2Vjb25kYXJ5OiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgdGl0bGU6IHRoaXMudHJhbnNsYXRlKFxuICAgICAgICAgICAgICAnYXBwcy5jYXBpdGFsLmNhcmQuY29sbGVjdGlvbi5saW5rcy5zZWNvbmRhcnkudmlldy50aXRsZScsXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgZm46IChsaW5rOiBhbnksIGl0ZW06IGFueSkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnNob3coaXRlbSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgdGl0bGU6IHRoaXMudHJhbnNsYXRlKFxuICAgICAgICAgICAgICAnYXBwcy5jYXBpdGFsLmNhcmQuY29sbGVjdGlvbi5saW5rcy5zZWNvbmRhcnkubWFrZS1wcmltYXJ5LnRpdGxlJyxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBmbjogKGxpbms6IGFueSwgaXRlbTogYW55KSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMudXBkYXRlKHsgaWQ6IGl0ZW0uaWQsIHByaW1hcnk6IHRydWUgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZW5hYmxlZDogKGxpbms6IGFueSwgaXRlbTogYW55KSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiAhaXRlbS5wcmltYXJ5O1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0ZShcbiAgICAgICAgICAgICAgJ2FwcHMuY2FwaXRhbC5jYXJkLmNvbGxlY3Rpb24ubGlua3Muc2Vjb25kYXJ5LnJlbW92ZS1jYXJkLnRpdGxlJyxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBmbjogKGxpbms6IGFueSwgaXRlbTogYW55KSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuZGVsZXRlKGl0ZW0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGVuYWJsZWQ6IChsaW5rOiBhbnksIGl0ZW06IGFueSkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gIWl0ZW0ucHJpbWFyeTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgdGVydGlhcnk6IFtdLFxuICAgICAgICBlbXB0eTogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0ZShcbiAgICAgICAgICAgICAgJ2FwcHMuY2FwaXRhbC5jYXJkLmNvbGxlY3Rpb24ubGlua3MuZW1wdHkubmV3LnRpdGxlJyxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBmbjogKGxpbms6IGFueSkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLmNyZWF0ZSgpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIC8vIHtcbiAgICAgICAgICAvLyAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0ZShcbiAgICAgICAgICAvLyAgICAgJ2FwcHMuY2FwaXRhbC5jYXJkLmNvbGxlY3Rpb24ubGlua3MuZW1wdHkubGVhcm4tbW9yZS50aXRsZScsXG4gICAgICAgICAgLy8gICApLFxuICAgICAgICAgIC8vICAgZm46IChsaW5rOiBhbnkpID0+IHtcbiAgICAgICAgICAvLyAgICAgbmF2aWdhdGVFeHRlcm5hbChcbiAgICAgICAgICAvLyAgICAgICBgJHtnZXRFbnYoJ0RPQ1NfQkFTRV9VUkwnKX0vY2FyZHNgLFxuICAgICAgICAgIC8vICAgICAgIHRydWUsXG4gICAgICAgICAgLy8gICAgICk7XG4gICAgICAgICAgLy8gICB9LFxuICAgICAgICAgIC8vIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAgaGFzVGV4dEZpbHRlcjogdHJ1ZSxcbiAgICAgIGhhc0RhdGVGaWx0ZXI6IGZhbHNlLFxuICAgICAgc2VsZWN0YWJsZTogZmFsc2UsXG4gICAgICBoYXNIZWFkZXJzOiB0cnVlLFxuICAgICAgcGFnZTogcmVzcG9uc2U/Lm1ldGE/LmN1cnJlbnRfcGFnZSxcbiAgICAgIHBlclBhZ2U6IHJlc3BvbnNlPy5tZXRhPy5wZXJfcGFnZSxcbiAgICAgIHRvdGFsOiByZXNwb25zZT8ubWV0YT8udG90YWwsXG4gICAgfTtcbiAgfTtcbn1cbiJdfQ==