@wizishop/img-manager-webelement 1.0.4 → 14.0.6

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 (40) hide show
  1. package/README.md +13 -113
  2. package/esm2020/lib/environments/environment.mjs +99 -0
  3. package/esm2020/lib/img-manager-web-element.component.mjs +176 -0
  4. package/esm2020/lib/img-manager-web-element.module.mjs +47 -0
  5. package/esm2020/lib/services/auth-credentials.service.mjs +43 -0
  6. package/esm2020/lib/services/event.service.mjs +37 -0
  7. package/esm2020/lib/services/fiche_products.service.mjs +237 -0
  8. package/esm2020/lib/services/storage.service.mjs +53 -0
  9. package/esm2020/public-api.mjs +6 -0
  10. package/esm2020/wizishop-img-manager-webelement.mjs +5 -0
  11. package/fesm2015/wizishop-img-manager-webelement.mjs +669 -0
  12. package/fesm2015/wizishop-img-manager-webelement.mjs.map +1 -0
  13. package/fesm2020/wizishop-img-manager-webelement.mjs +671 -0
  14. package/fesm2020/wizishop-img-manager-webelement.mjs.map +1 -0
  15. package/index.d.ts +5 -0
  16. package/lib/environments/environment.d.ts +19 -0
  17. package/lib/img-manager-web-element.component.d.ts +50 -0
  18. package/lib/img-manager-web-element.module.d.ts +11 -0
  19. package/lib/services/auth-credentials.service.d.ts +19 -0
  20. package/lib/services/event.service.d.ts +11 -0
  21. package/lib/services/fiche_products.service.d.ts +51 -0
  22. package/lib/services/storage.service.d.ts +14 -0
  23. package/package.json +25 -10
  24. package/public-api.d.ts +2 -0
  25. package/3rdpartylicenses.txt +0 -665
  26. package/4.js +0 -1
  27. package/assets/img-manager/canva/icon_canva.svg +0 -4
  28. package/assets/img-manager/i18n/en.json +0 -1
  29. package/assets/img-manager/i18n/es.json +0 -1
  30. package/assets/img-manager/i18n/fr.json +0 -1
  31. package/assets/img-manager/i18n/it.json +0 -1
  32. package/assets/img-manager/img/fake.png +0 -0
  33. package/assets/img-manager/img/icon_picture.svg +0 -11
  34. package/favicon.ico +0 -0
  35. package/img-manager-webelement.1.0.4.js +0 -1
  36. package/index.html +0 -25
  37. package/main.js +0 -1
  38. package/polyfills.js +0 -1
  39. package/runtime.js +0 -1
  40. package/styles.1.0.4.css +0 -2
package/README.md CHANGED
@@ -1,124 +1,24 @@
1
- # Image Manager WebElement for Wizishop-com
1
+ # ImgManagerWebElement
2
2
 
3
- [![npm](https://img.shields.io/npm/v/@wizishop/img-manager-webelement.svg)](https://www.npmjs.com/package/@wizishop/img-manager-webelement)
4
- [![npm](https://img.shields.io/npm/dm/@wizishop/img-manager-webelement.svg)](https://www.npmjs.com/package/@wizishop/img-manager-webelement)
3
+ This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 9.0.7.
5
4
 
6
- ## Install
5
+ ## Code scaffolding
7
6
 
8
- On the root of the wizishop-com package run :
7
+ Run `ng generate component component-name --project ImgManagerWebElement` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project ImgManagerWebElement`.
8
+ > Note: Don't forget to add `--project ImgManagerWebElement` or else it will be added to the default project in your `angular.json` file.
9
9
 
10
- ```
11
- npm i @wizishop/img-manager-webelement
12
- ```
10
+ ## Build
13
11
 
14
- (A postinstall script will copy and paste the project files in the appropriate directorie : `_/js/a/libs/img-manager-webelement`)
12
+ Run `ng build ImgManagerWebElement` to build the project. The build artifacts will be stored in the `dist/` directory.
15
13
 
16
- ### Update the shop token for local dev
17
- In the following file : `src/environments/environment.ts`, update the shop token for 131.
14
+ ## Publishing
18
15
 
19
- ## Update the project
16
+ After building your library with `ng build ImgManagerWebElement`, go to the dist folder `cd dist/img-manager-web-element` and run `npm publish`.
20
17
 
21
- Retrieve the last version of the wii-img-manager project.
22
- Run the following commande from package.json :
23
- ```
24
- npm run update:img-manager
25
- ```
26
- Or install the lastest version :
27
- ```
28
- npm i @wizishop/img-manager-webelement@latest
29
- ```
18
+ ## Running unit tests
30
19
 
31
- ## Upload a new version
32
- Increment the package version number, then run the publish command:
20
+ Run `ng test ImgManagerWebElement` to execute the unit tests via [Karma](https://karma-runner.github.io).
33
21
 
34
- ```
35
- npm run publish
36
- ```
22
+ ## Further help
37
23
 
38
- ## Integration
39
- In order to retrieve the template data call the query : `ImageManagerTemplateQuery->getData()`.
40
- Then display the data in the template.
41
-
42
- Exemples :
43
-
44
- In twig Controller :
45
- ```
46
- return new Response(
47
- TwigTool::render(
48
- '...',
49
- [
50
- ...
51
- 'imgManagerWebelement' => $this->imageManagerTemplateQuery->getData()
52
-
53
- ],
54
- '...'
55
- )
56
- );
57
- ```
58
-
59
- In twig Template :
60
- ```
61
- {# Img manager webelement #}
62
- {{ imgManagerWebelement |raw }}
63
- ```
64
-
65
- In old php files :
66
- ```
67
- <?= \_c\ContainerService\ContainerService::getImageManagerTemplateQuery()->getData()?>
68
- ```
69
-
70
- ## Open and retrieve img
71
- This project works with events.
72
-
73
- ### Open the img manager module
74
- Dispatch the `openImgManager` event
75
- ```
76
- var value = {
77
- detail: {
78
- "fileId": fileId, // Optional : Not used yet
79
- "from": "persoCss" // Optional : Use when the img manager is called from different place
80
- }
81
- };
82
- var event = new CustomEvent('openImgManager', value);
83
- var imgManagerModule= document.getElementById('imgManagerModule');
84
- imgManagerModule.dispatchEvent(event);
85
- ```
86
-
87
- ### Retrieve Img selected
88
- Listen to the event `imgSelected` from the element `imgManagerModule`.
89
- ```
90
- // Listen event imgSelected from the img manager, and display the img selected
91
- const imgManagerModule= document.getElementById('imgManagerModule');
92
- imgManagerModule.addEventListener("imgSelected", (e) => {
93
- // Optional : Add a check on from property to know which place expected an img : "e.detail.from === 'persoCss'"
94
- if (e && e.detail && e.detail.file && e.detail.file.id_file) {
95
- var fileId = e.detail.file.id_file;
96
- // Display the img
97
- }
98
- } );
99
- ```
100
-
101
- File object retrieved properties :
102
- ```
103
- export interface ImgPictureDTO {
104
- big_miniature: string;
105
- category: string;
106
- cropped: string;
107
- date: string;
108
- display_name: string;
109
- file_name: string;
110
- g_id: string;
111
- id_file: string;
112
- id_shop: string;
113
- nb_used: string;
114
- old_file_name: string;
115
- raw_height: string;
116
- raw_width: string;
117
- size: string;
118
- checked?: boolean;
119
- selected?: boolean;
120
- delSelected?: boolean;
121
- deleted?: boolean;
122
- imgNotLoaded?: boolean;
123
- }
124
- ```
24
+ To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md).
@@ -0,0 +1,99 @@
1
+ // Use locally for this project
2
+ export const environmentWiziDevLocal = {
3
+ isWizishopcom: false,
4
+ production: false,
5
+ wizi_admin_api: "https://admin.wizilocal.com/",
6
+ wizi_api: "https://api.wizilocal.com/v3",
7
+ CDN_URL: "http://debugshop.wizilocal.com/_i/",
8
+ assets_route: "assets/img-manager/",
9
+ translations_route: "./assets/img-manager/i18n/",
10
+ wiziApiCredentialsKey: 'wizi_api_credentials_key',
11
+ local: {
12
+ shopId: 131,
13
+ token: 'eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJ1c2VyX2lkIjo2LCJ1c2VyX2xvY2FsZSI6ImZyX0ZSIiwiaXNVc2VyQ29ubmVjdGVkRnJvbVZwbiI6dHJ1ZSwiZXhwIjoxNjY3NTY3NDYwLCJpYXQiOjE2NjQ5NzU0NjB9.lapOlCngJBPszMTtwgjhYHu9et-Tcg-xCUBcu_h_lNfaAzYrG2EdSGAwJiF7_jJSuueO0pXpfBdNGVopVlEb9aR9gXai3IlKeM4h3VdhZIunNJ3niuZjXcMlQgeTkreYYBrulbSQZSToz2cDeGbCZpN_HVP4E2kLpDabtmcfrGE380zjF6wLRIAbWvj2z7UP509AW1A_JM-CrM99CVuZB0EoowPRk5nCKZoY9x4MYMGdW1rSgRvwuWjBn-y8J7wJfRHezx-7FkVIpulq4mmxOi6KAgLZTOFFKAxMCnTEeyW7kJOEmu5Lm3R9bKmjzQra1ikIYLT2-WCSFPbiEmaIzQ'
14
+ },
15
+ product_sheet_endpoint: "/products/ajax",
16
+ isPhotosTab: true
17
+ };
18
+ export const environmentWiziDev = {
19
+ isWizishopcom: true,
20
+ production: false,
21
+ wizi_admin_api: "https://admin.wizilocal.com/",
22
+ wizi_api: "https://api.wizilocal.com/v3",
23
+ CDN_URL: "https://media.wizilocal.com/_i/",
24
+ assets_route: "https://js.wizilocal.com/a/libs/img-manager-webelement/assets/img-manager/",
25
+ translations_route: "https://js.wizilocal.com/a/libs/img-manager-webelement/assets/img-manager/i18n/",
26
+ wiziApiCredentialsKey: 'wizi_api_credentials_key',
27
+ local: {
28
+ shopId: null,
29
+ token: null
30
+ },
31
+ product_sheet_endpoint: "/products/ajax"
32
+ };
33
+ export const environmentProd = {
34
+ isWizishopcom: true,
35
+ production: true,
36
+ wizi_admin_api: "https://admin.wizishop.com/",
37
+ wizi_api: "https://api.wizishop.com/v3",
38
+ CDN_URL: "https://media.cdnws.com/_i/",
39
+ assets_route: "https://js.wizishop.com/a/libs/img-manager-webelement/assets/img-manager/",
40
+ translations_route: "https://js.wizishop.com/a/libs/img-manager-webelement/assets/img-manager/i18n/",
41
+ wiziApiCredentialsKey: 'wizi_api_credentials_key',
42
+ local: {
43
+ shopId: null,
44
+ token: null
45
+ },
46
+ product_sheet_endpoint: "/products/ajax"
47
+ };
48
+ export const environmentDropiziDev = {
49
+ isWizishopcom: true,
50
+ production: false,
51
+ wizi_admin_api: "https://admin.dropilocal.com/",
52
+ wizi_api: "https://api.dropilocal.com/v3",
53
+ CDN_URL: "https://media.dropilocal.com/_i/",
54
+ assets_route: "https://js.dropilocal.fr/a/libs/img-manager-webelement/assets/img-manager/",
55
+ translations_route: "https://js.dropilocal.com/a/libs/img-manager-webelement/assets/img-manager/i18n/",
56
+ wiziApiCredentialsKey: 'wizi_api_credentials_key',
57
+ local: {
58
+ shopId: null,
59
+ token: null
60
+ },
61
+ product_sheet_endpoint: "/products/ajax"
62
+ };
63
+ export const environmentDropiziProd = {
64
+ isWizishopcom: true,
65
+ production: true,
66
+ wizi_admin_api: "https://admin.dropizi.fr/",
67
+ wizi_api: "https://api.wizishop.com/v3",
68
+ CDN_URL: "https://media.cdnws.com/_i/",
69
+ assets_route: "https://js.dropizi.fr/a/libs/img-manager-webelement/assets/img-manager/",
70
+ translations_route: "https://js.dropizi.fr/a/libs/img-manager-webelement/assets/img-manager/i18n/",
71
+ wiziApiCredentialsKey: 'wizi_api_credentials_key',
72
+ local: {
73
+ shopId: null,
74
+ token: null
75
+ },
76
+ product_sheet_endpoint: "/products/ajax"
77
+ };
78
+ function getCurrentEnv() {
79
+ const isDev = !!window.location.hostname.match(/local/);
80
+ const isWizi = !!window.location.hostname.match(/wizi/);
81
+ const serverLocal = !!window.location.port;
82
+ if (serverLocal) {
83
+ return environmentWiziDevLocal;
84
+ }
85
+ if (isDev) {
86
+ if (isWizi) {
87
+ return environmentWiziDev;
88
+ }
89
+ return environmentDropiziDev;
90
+ }
91
+ else {
92
+ if (isWizi) {
93
+ return environmentProd;
94
+ }
95
+ return environmentDropiziProd;
96
+ }
97
+ }
98
+ export const environment = Object.assign({}, getCurrentEnv());
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbWctbWFuYWdlci13ZWItZWxlbWVudC9zcmMvbGliL2Vudmlyb25tZW50cy9lbnZpcm9ubWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFjQSwrQkFBK0I7QUFDL0IsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQWdCO0lBQ2xELGFBQWEsRUFBRSxLQUFLO0lBQ3BCLFVBQVUsRUFBRSxLQUFLO0lBQ2pCLGNBQWMsRUFBRSw4QkFBOEI7SUFDOUMsUUFBUSxFQUFFLDhCQUE4QjtJQUN4QyxPQUFPLEVBQUUsb0NBQW9DO0lBQzdDLFlBQVksRUFBRyxxQkFBcUI7SUFDcEMsa0JBQWtCLEVBQUcsNEJBQTRCO0lBQ2pELHFCQUFxQixFQUFFLDBCQUEwQjtJQUNqRCxLQUFLLEVBQUU7UUFDTCxNQUFNLEVBQUUsR0FBRztRQUNYLEtBQUssRUFBRyxrZ0JBQWtnQjtLQUMzZ0I7SUFDRCxzQkFBc0IsRUFBRSxnQkFBZ0I7SUFDeEMsV0FBVyxFQUFFLElBQUk7Q0FDbEIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFnQjtJQUM3QyxhQUFhLEVBQUUsSUFBSTtJQUNuQixVQUFVLEVBQUUsS0FBSztJQUNqQixjQUFjLEVBQUUsOEJBQThCO0lBQzlDLFFBQVEsRUFBRSw4QkFBOEI7SUFDeEMsT0FBTyxFQUFFLGlDQUFpQztJQUMxQyxZQUFZLEVBQUcsNEVBQTRFO0lBQzNGLGtCQUFrQixFQUFHLGlGQUFpRjtJQUN0RyxxQkFBcUIsRUFBRSwwQkFBMEI7SUFDakQsS0FBSyxFQUFFO1FBQ0wsTUFBTSxFQUFFLElBQUk7UUFDWixLQUFLLEVBQUcsSUFBSTtLQUNiO0lBQ0Qsc0JBQXNCLEVBQUUsZ0JBQWdCO0NBQ3pDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQWdCO0lBQzFDLGFBQWEsRUFBRSxJQUFJO0lBQ25CLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLGNBQWMsRUFBRSw2QkFBNkI7SUFDN0MsUUFBUSxFQUFFLDZCQUE2QjtJQUN2QyxPQUFPLEVBQUUsNkJBQTZCO0lBQ3RDLFlBQVksRUFBRywyRUFBMkU7SUFDMUYsa0JBQWtCLEVBQUcsZ0ZBQWdGO0lBQ3JHLHFCQUFxQixFQUFFLDBCQUEwQjtJQUNqRCxLQUFLLEVBQUU7UUFDTCxNQUFNLEVBQUUsSUFBSTtRQUNaLEtBQUssRUFBRyxJQUFJO0tBQ2I7SUFDRCxzQkFBc0IsRUFBRSxnQkFBZ0I7Q0FDekMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFnQjtJQUNoRCxhQUFhLEVBQUUsSUFBSTtJQUNuQixVQUFVLEVBQUUsS0FBSztJQUNqQixjQUFjLEVBQUUsK0JBQStCO0lBQy9DLFFBQVEsRUFBRSwrQkFBK0I7SUFDekMsT0FBTyxFQUFFLGtDQUFrQztJQUMzQyxZQUFZLEVBQUcsNEVBQTRFO0lBQzNGLGtCQUFrQixFQUFHLGtGQUFrRjtJQUN2RyxxQkFBcUIsRUFBRSwwQkFBMEI7SUFDakQsS0FBSyxFQUFFO1FBQ0wsTUFBTSxFQUFFLElBQUk7UUFDWixLQUFLLEVBQUcsSUFBSTtLQUNiO0lBQ0Qsc0JBQXNCLEVBQUUsZ0JBQWdCO0NBQ3pDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBZ0I7SUFDakQsYUFBYSxFQUFFLElBQUk7SUFDbkIsVUFBVSxFQUFFLElBQUk7SUFDaEIsY0FBYyxFQUFFLDJCQUEyQjtJQUMzQyxRQUFRLEVBQUUsNkJBQTZCO0lBQ3ZDLE9BQU8sRUFBRSw2QkFBNkI7SUFDdEMsWUFBWSxFQUFHLHlFQUF5RTtJQUN4RixrQkFBa0IsRUFBRyw4RUFBOEU7SUFDbkcscUJBQXFCLEVBQUUsMEJBQTBCO0lBQ2pELEtBQUssRUFBRTtRQUNMLE1BQU0sRUFBRSxJQUFJO1FBQ1osS0FBSyxFQUFHLElBQUk7S0FDYjtJQUNELHNCQUFzQixFQUFFLGdCQUFnQjtDQUN6QyxDQUFDO0FBRUYsU0FBUyxhQUFhO0lBQ3BCLE1BQU0sS0FBSyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEQsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4RCxNQUFNLFdBQVcsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7SUFFM0MsSUFBSSxXQUFXLEVBQUU7UUFDZixPQUFPLHVCQUF1QixDQUFDO0tBQ2hDO0lBQ0QsSUFBSSxLQUFLLEVBQUU7UUFDVCxJQUFJLE1BQU0sRUFBRTtZQUNWLE9BQU8sa0JBQWtCLENBQUM7U0FDM0I7UUFDRCxPQUFPLHFCQUFxQixDQUFDO0tBQzlCO1NBQU07UUFDTCxJQUFJLE1BQU0sRUFBRTtZQUNWLE9BQU8sZUFBZSxDQUFDO1NBQ3hCO1FBQ0QsT0FBTyxzQkFBc0IsQ0FBQztLQUMvQjtBQUNILENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQWdCLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEVudmlyb25tZW50IHtcbiAgaXNXaXppc2hvcGNvbTogYm9vbGVhbjtcbiAgcHJvZHVjdGlvbjogYm9vbGVhbjtcbiAgd2l6aV9hZG1pbl9hcGk6IHN0cmluZztcbiAgd2l6aV9hcGk6IHN0cmluZztcbiAgQ0ROX1VSTDogc3RyaW5nO1xuICBhc3NldHNfcm91dGU6IHN0cmluZztcbiAgdHJhbnNsYXRpb25zX3JvdXRlOiBzdHJpbmc7XG4gIHdpemlBcGlDcmVkZW50aWFsc0tleTogc3RyaW5nO1xuICBsb2NhbDogYW55O1xuICBwcm9kdWN0X3NoZWV0X2VuZHBvaW50OiBzdHJpbmc7XG4gIGlzUGhvdG9zVGFiPzogYm9vbGVhbjtcbn1cblxuLy8gVXNlIGxvY2FsbHkgZm9yIHRoaXMgcHJvamVjdFxuZXhwb3J0IGNvbnN0IGVudmlyb25tZW50V2l6aURldkxvY2FsOiBFbnZpcm9ubWVudCA9IHtcbiAgaXNXaXppc2hvcGNvbTogZmFsc2UsXG4gIHByb2R1Y3Rpb246IGZhbHNlLFxuICB3aXppX2FkbWluX2FwaTogXCJodHRwczovL2FkbWluLndpemlsb2NhbC5jb20vXCIsXG4gIHdpemlfYXBpOiBcImh0dHBzOi8vYXBpLndpemlsb2NhbC5jb20vdjNcIixcbiAgQ0ROX1VSTDogXCJodHRwOi8vZGVidWdzaG9wLndpemlsb2NhbC5jb20vX2kvXCIsXG4gIGFzc2V0c19yb3V0ZSA6IFwiYXNzZXRzL2ltZy1tYW5hZ2VyL1wiLFxuICB0cmFuc2xhdGlvbnNfcm91dGUgOiBcIi4vYXNzZXRzL2ltZy1tYW5hZ2VyL2kxOG4vXCIsXG4gIHdpemlBcGlDcmVkZW50aWFsc0tleTogJ3dpemlfYXBpX2NyZWRlbnRpYWxzX2tleScsXG4gIGxvY2FsOiB7XG4gICAgc2hvcElkOiAxMzEsXG4gICAgdG9rZW4gOiAnZXlKMGVYQWlPaUpLVjFRaUxDSmhiR2NpT2lKU1V6STFOaUo5LmV5SjFjMlZ5WDJsa0lqbzJMQ0oxYzJWeVgyeHZZMkZzWlNJNkltWnlYMFpTSWl3aWFYTlZjMlZ5UTI5dWJtVmpkR1ZrUm5KdmJWWndiaUk2ZEhKMVpTd2laWGh3SWpveE5qWTNOVFkzTkRZd0xDSnBZWFFpT2pFMk5qUTVOelUwTmpCOS5sYXBPbENuZ0pCUHN6TVR0d2dqaFlIdTlldC1UY2cteENVQmN1X2hfbE5mYUF6WXJHMkVkU0dBd0ppRjdfakpTdXVlTzBwWHBmQmROR1ZvcFZsRWI5YVI5Z1hhaTNJbEtlTTRoM1ZkaFpJdW5OSjNuaXVaalhjTWxRZ2VUa3JlWVlCcnVsYlNRWlNUb3oyY0RlR2JDWnBOX0hWUDRFMmtMcERhYnRtY2ZyR0UzODB6akY2d0xSSUFiV3ZqMno3VVA1MDlBVzFBX0pNLUNyTTk5Q1Z1WkIwRW9vd1BSazVuQ0tab1k5eDRNWU1HZFcxclNnUnZ3dVdqQm4teThKN3dKZlJIZXp4LTdGa1ZJcHVscTRtbXhPaTZLQWdMWlRPRkZLQXhNQ25URWV5VzdrSk9FbXU1TG0zUjliS21qelFyYTFpa0lZTFQyLVdDU0ZQYmlFbWFJelEnXG4gIH0sXG4gIHByb2R1Y3Rfc2hlZXRfZW5kcG9pbnQ6IFwiL3Byb2R1Y3RzL2FqYXhcIixcbiAgaXNQaG90b3NUYWI6IHRydWVcbn07XG5cbmV4cG9ydCBjb25zdCBlbnZpcm9ubWVudFdpemlEZXY6IEVudmlyb25tZW50ID0ge1xuICBpc1dpemlzaG9wY29tOiB0cnVlLFxuICBwcm9kdWN0aW9uOiBmYWxzZSxcbiAgd2l6aV9hZG1pbl9hcGk6IFwiaHR0cHM6Ly9hZG1pbi53aXppbG9jYWwuY29tL1wiLFxuICB3aXppX2FwaTogXCJodHRwczovL2FwaS53aXppbG9jYWwuY29tL3YzXCIsXG4gIENETl9VUkw6IFwiaHR0cHM6Ly9tZWRpYS53aXppbG9jYWwuY29tL19pL1wiLFxuICBhc3NldHNfcm91dGUgOiBcImh0dHBzOi8vanMud2l6aWxvY2FsLmNvbS9hL2xpYnMvaW1nLW1hbmFnZXItd2ViZWxlbWVudC9hc3NldHMvaW1nLW1hbmFnZXIvXCIsXG4gIHRyYW5zbGF0aW9uc19yb3V0ZSA6IFwiaHR0cHM6Ly9qcy53aXppbG9jYWwuY29tL2EvbGlicy9pbWctbWFuYWdlci13ZWJlbGVtZW50L2Fzc2V0cy9pbWctbWFuYWdlci9pMThuL1wiLFxuICB3aXppQXBpQ3JlZGVudGlhbHNLZXk6ICd3aXppX2FwaV9jcmVkZW50aWFsc19rZXknLFxuICBsb2NhbDoge1xuICAgIHNob3BJZDogbnVsbCxcbiAgICB0b2tlbiA6IG51bGxcbiAgfSxcbiAgcHJvZHVjdF9zaGVldF9lbmRwb2ludDogXCIvcHJvZHVjdHMvYWpheFwiXG59O1xuXG5leHBvcnQgY29uc3QgZW52aXJvbm1lbnRQcm9kOiBFbnZpcm9ubWVudCA9IHtcbiAgaXNXaXppc2hvcGNvbTogdHJ1ZSxcbiAgcHJvZHVjdGlvbjogdHJ1ZSxcbiAgd2l6aV9hZG1pbl9hcGk6IFwiaHR0cHM6Ly9hZG1pbi53aXppc2hvcC5jb20vXCIsXG4gIHdpemlfYXBpOiBcImh0dHBzOi8vYXBpLndpemlzaG9wLmNvbS92M1wiLFxuICBDRE5fVVJMOiBcImh0dHBzOi8vbWVkaWEuY2Rud3MuY29tL19pL1wiLFxuICBhc3NldHNfcm91dGUgOiBcImh0dHBzOi8vanMud2l6aXNob3AuY29tL2EvbGlicy9pbWctbWFuYWdlci13ZWJlbGVtZW50L2Fzc2V0cy9pbWctbWFuYWdlci9cIixcbiAgdHJhbnNsYXRpb25zX3JvdXRlIDogXCJodHRwczovL2pzLndpemlzaG9wLmNvbS9hL2xpYnMvaW1nLW1hbmFnZXItd2ViZWxlbWVudC9hc3NldHMvaW1nLW1hbmFnZXIvaTE4bi9cIixcbiAgd2l6aUFwaUNyZWRlbnRpYWxzS2V5OiAnd2l6aV9hcGlfY3JlZGVudGlhbHNfa2V5JyxcbiAgbG9jYWw6IHtcbiAgICBzaG9wSWQ6IG51bGwsXG4gICAgdG9rZW4gOiBudWxsXG4gIH0sXG4gIHByb2R1Y3Rfc2hlZXRfZW5kcG9pbnQ6IFwiL3Byb2R1Y3RzL2FqYXhcIlxufTtcblxuZXhwb3J0IGNvbnN0IGVudmlyb25tZW50RHJvcGl6aURldjogRW52aXJvbm1lbnQgPSB7XG4gIGlzV2l6aXNob3Bjb206IHRydWUsXG4gIHByb2R1Y3Rpb246IGZhbHNlLFxuICB3aXppX2FkbWluX2FwaTogXCJodHRwczovL2FkbWluLmRyb3BpbG9jYWwuY29tL1wiLFxuICB3aXppX2FwaTogXCJodHRwczovL2FwaS5kcm9waWxvY2FsLmNvbS92M1wiLFxuICBDRE5fVVJMOiBcImh0dHBzOi8vbWVkaWEuZHJvcGlsb2NhbC5jb20vX2kvXCIsXG4gIGFzc2V0c19yb3V0ZSA6IFwiaHR0cHM6Ly9qcy5kcm9waWxvY2FsLmZyL2EvbGlicy9pbWctbWFuYWdlci13ZWJlbGVtZW50L2Fzc2V0cy9pbWctbWFuYWdlci9cIixcbiAgdHJhbnNsYXRpb25zX3JvdXRlIDogXCJodHRwczovL2pzLmRyb3BpbG9jYWwuY29tL2EvbGlicy9pbWctbWFuYWdlci13ZWJlbGVtZW50L2Fzc2V0cy9pbWctbWFuYWdlci9pMThuL1wiLFxuICB3aXppQXBpQ3JlZGVudGlhbHNLZXk6ICd3aXppX2FwaV9jcmVkZW50aWFsc19rZXknLFxuICBsb2NhbDoge1xuICAgIHNob3BJZDogbnVsbCxcbiAgICB0b2tlbiA6IG51bGxcbiAgfSxcbiAgcHJvZHVjdF9zaGVldF9lbmRwb2ludDogXCIvcHJvZHVjdHMvYWpheFwiXG59O1xuXG5leHBvcnQgY29uc3QgZW52aXJvbm1lbnREcm9waXppUHJvZDogRW52aXJvbm1lbnQgPSB7XG4gIGlzV2l6aXNob3Bjb206IHRydWUsXG4gIHByb2R1Y3Rpb246IHRydWUsXG4gIHdpemlfYWRtaW5fYXBpOiBcImh0dHBzOi8vYWRtaW4uZHJvcGl6aS5mci9cIixcbiAgd2l6aV9hcGk6IFwiaHR0cHM6Ly9hcGkud2l6aXNob3AuY29tL3YzXCIsXG4gIENETl9VUkw6IFwiaHR0cHM6Ly9tZWRpYS5jZG53cy5jb20vX2kvXCIsXG4gIGFzc2V0c19yb3V0ZSA6IFwiaHR0cHM6Ly9qcy5kcm9waXppLmZyL2EvbGlicy9pbWctbWFuYWdlci13ZWJlbGVtZW50L2Fzc2V0cy9pbWctbWFuYWdlci9cIixcbiAgdHJhbnNsYXRpb25zX3JvdXRlIDogXCJodHRwczovL2pzLmRyb3BpemkuZnIvYS9saWJzL2ltZy1tYW5hZ2VyLXdlYmVsZW1lbnQvYXNzZXRzL2ltZy1tYW5hZ2VyL2kxOG4vXCIsXG4gIHdpemlBcGlDcmVkZW50aWFsc0tleTogJ3dpemlfYXBpX2NyZWRlbnRpYWxzX2tleScsXG4gIGxvY2FsOiB7XG4gICAgc2hvcElkOiBudWxsLFxuICAgIHRva2VuIDogbnVsbFxuICB9LFxuICBwcm9kdWN0X3NoZWV0X2VuZHBvaW50OiBcIi9wcm9kdWN0cy9hamF4XCJcbn07XG5cbmZ1bmN0aW9uIGdldEN1cnJlbnRFbnYoKSB7XG4gIGNvbnN0IGlzRGV2ID0gISF3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUubWF0Y2goL2xvY2FsLyk7XG4gIGNvbnN0IGlzV2l6aSA9ICEhd2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLm1hdGNoKC93aXppLyk7XG4gIGNvbnN0IHNlcnZlckxvY2FsID0gISF3aW5kb3cubG9jYXRpb24ucG9ydDtcblxuICBpZiAoc2VydmVyTG9jYWwpIHtcbiAgICByZXR1cm4gZW52aXJvbm1lbnRXaXppRGV2TG9jYWw7XG4gIH1cbiAgaWYgKGlzRGV2KSB7XG4gICAgaWYgKGlzV2l6aSkge1xuICAgICAgcmV0dXJuIGVudmlyb25tZW50V2l6aURldjtcbiAgICB9XG4gICAgcmV0dXJuIGVudmlyb25tZW50RHJvcGl6aURldjtcbiAgfSBlbHNlIHtcbiAgICBpZiAoaXNXaXppKSB7XG4gICAgICByZXR1cm4gZW52aXJvbm1lbnRQcm9kO1xuICAgIH1cbiAgICByZXR1cm4gZW52aXJvbm1lbnREcm9waXppUHJvZDtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgZW52aXJvbm1lbnQ6IEVudmlyb25tZW50ID0gT2JqZWN0LmFzc2lnbih7fSwgZ2V0Q3VycmVudEVudigpKTsiXX0=
@@ -0,0 +1,176 @@
1
+ import { Component } from '@angular/core';
2
+ import { ImgManagerConfigDto, ImgApiDto, ImgCDNConfigDTO } from '@wizishop/img-manager';
3
+ import { from as fromPromise } from 'rxjs';
4
+ import { HttpHeaders } from '@angular/common/http';
5
+ import { environment } from './environments/environment';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@ngx-translate/core";
8
+ import * as i2 from "@wizishop/img-manager";
9
+ import * as i3 from "./services/fiche_products.service";
10
+ import * as i4 from "./services/auth-credentials.service";
11
+ import * as i5 from "@angular/common/http";
12
+ import * as i6 from "./services/event.service";
13
+ import * as i7 from "@angular/common";
14
+ export class ImgManagerWebElementComponent {
15
+ constructor(translateService, imgSelectionService, canvaService, ficheProductService, authCredentialsService, http, eventService, imgManagerService) {
16
+ this.translateService = translateService;
17
+ this.imgSelectionService = imgSelectionService;
18
+ this.canvaService = canvaService;
19
+ this.ficheProductService = ficheProductService;
20
+ this.authCredentialsService = authCredentialsService;
21
+ this.http = http;
22
+ this.eventService = eventService;
23
+ this.imgManagerService = imgManagerService;
24
+ // img manger config
25
+ this.openImgManager = false;
26
+ this.loading = true;
27
+ // fiche roduct config
28
+ this.isPhotosTab = !!environment.isPhotosTab;
29
+ this.subscriptions = [];
30
+ }
31
+ ngOnInit() {
32
+ this.loading = true;
33
+ this.pageficheProductConfig = this.imgManagerService.getImgManagerDisplayConfig("fiche-product");
34
+ this.pageEventConfig = this.imgManagerService.getImgManagerDisplayConfig("wizi-block");
35
+ this.setCurrentLanguage();
36
+ // Search on which page is display the img manger
37
+ this.setDisplayedPageConfig();
38
+ const subCredentials = this.getCredentials().subscribe(authCredentials => {
39
+ this.loading = false;
40
+ this.initVariables(authCredentials);
41
+ // Fiche product page
42
+ if (this.imgManagerDisplayConfig.pageficheProduct) {
43
+ this.setFicheProductPage();
44
+ }
45
+ else {
46
+ this.setPageWithEvents();
47
+ }
48
+ });
49
+ this.subscriptions.push(subCredentials);
50
+ }
51
+ initVariables(authCredentials) {
52
+ if (!authCredentials) {
53
+ if (environment.isWizishopcom) {
54
+ return;
55
+ }
56
+ // Run on local Server
57
+ this.setAppVars(null, environment.local.shopId, null, environment.local.token);
58
+ this.setImgManagerExtraConfig();
59
+ this.imgManagerDisplayConfig = this.pageficheProductConfig;
60
+ return;
61
+ }
62
+ this.setAppVars(authCredentials.user_id, authCredentials.shop_id, authCredentials.account_id, authCredentials.token);
63
+ this.setImgManagerExtraConfig();
64
+ }
65
+ setFicheProductPage() {
66
+ this.ficheProductService.setApiConfig(this.id_shop, this.token_shop);
67
+ this.handleFicheProductTab(); // Display different img manager config according to the tab
68
+ this.closeImgManagerOnSwitchingTab();
69
+ this.subscribePageAskForImg(); // Use for images in variations tab
70
+ this.ficheProductService.updateImgSelectionOnChange();
71
+ }
72
+ setPageWithEvents() {
73
+ this.subscribePageAskForImg();
74
+ // Send img selected
75
+ const subImgSelection = this.imgSelectionService.getImgSelectionChange().subscribe(imgSelectionList => {
76
+ if (imgSelectionList && imgSelectionList.length) {
77
+ this.eventService.sendImgSelectedToPage(imgSelectionList[0]);
78
+ }
79
+ });
80
+ this.subscriptions.push(subImgSelection);
81
+ }
82
+ subscribePageAskForImg() {
83
+ // Listen to page editor ask for img event
84
+ const subAskForImg = this.eventService.pageAskForImg().subscribe(data => {
85
+ // Retrieve which img manager send the event
86
+ const emitter = data && data["detail"] ? data["detail"]["from"] : null;
87
+ this.eventService.setEmitter(emitter);
88
+ this.imgSelectionService.setImgSelection([]);
89
+ this.open();
90
+ });
91
+ this.subscriptions.push(subAskForImg);
92
+ }
93
+ open() {
94
+ this.openImgManager = true;
95
+ }
96
+ onImgManagerClosed() {
97
+ // Close img manager
98
+ this.openImgManager = false;
99
+ }
100
+ setCurrentLanguage() {
101
+ const matches = window.location.pathname.match(/^\/(\w+)\//);
102
+ this.translateService.use(matches && matches[1] ? matches[1] : 'fr');
103
+ }
104
+ setDisplayedPageConfig() {
105
+ const isFicheProductPage = /\/products\/(\d+\/edit|create)/.test(window.location.pathname);
106
+ this.imgManagerDisplayConfig = isFicheProductPage ? this.pageficheProductConfig : this.pageEventConfig;
107
+ }
108
+ handleFicheProductTab() {
109
+ const tabsSub = this.ficheProductService.handleTabs().subscribe(isPhotosTab => {
110
+ this.imgManagerDisplayConfig = isPhotosTab ? this.pageficheProductConfig : this.pageEventConfig;
111
+ this.isPhotosTab = isPhotosTab;
112
+ });
113
+ this.subscriptions.push(tabsSub);
114
+ }
115
+ closeImgManagerOnSwitchingTab() {
116
+ const tabsCloseSub = this.ficheProductService.switchTabs().subscribe(data => {
117
+ this.openImgManager = false;
118
+ });
119
+ this.subscriptions.push(tabsCloseSub);
120
+ }
121
+ getCredentials() {
122
+ return fromPromise(this.authCredentialsService.get());
123
+ }
124
+ setAppVars(userId, shopId, accountId, token) {
125
+ this.userId = userId;
126
+ this.id_shop = shopId;
127
+ this.accountId = accountId;
128
+ this.token_shop = token;
129
+ }
130
+ setImgManagerExtraConfig() {
131
+ const apiDto = new ImgApiDto();
132
+ apiDto.shop_token = this.token_shop;
133
+ apiDto.image_manager_route = environment.wizi_api + "/image-manager/shops/" + this.id_shop;
134
+ apiDto.canva_token = 'wdByHayF5v57nj2ZSLvu055O';
135
+ apiDto.canva_url = 'https://sdk.canva.com/designbutton/v2/api.js';
136
+ apiDto.pexels_token = '563492ad6f91700001000001e39215727d8b42c1b08498a9ce1e6b94';
137
+ apiDto.pexels_route = 'https://api.pexels.com/v1';
138
+ apiDto.shop_category = 'other'; // The shop categorie is retrieve later with the getShopCategory methode
139
+ apiDto.assets_route = environment.assets_route;
140
+ const imgCDNConfigDTO = new ImgCDNConfigDTO();
141
+ imgCDNConfigDTO.url_raw_image = `${environment.CDN_URL}${this.id_shop}/RAW-`;
142
+ imgCDNConfigDTO.url_100_image = `${environment.CDN_URL}${this.id_shop}/m100-`;
143
+ imgCDNConfigDTO.url_200_image = `${environment.CDN_URL}${this.id_shop}/cs200-`;
144
+ imgCDNConfigDTO.url_400_image = `${environment.CDN_URL}${this.id_shop}/cs400-`;
145
+ imgCDNConfigDTO.url_800_image = `${environment.CDN_URL}${this.id_shop}/cs800-`;
146
+ this.imgExternalConfig = new ImgManagerConfigDto();
147
+ this.imgExternalConfig.api = apiDto;
148
+ this.imgExternalConfig.imgCDNConfig = imgCDNConfigDTO;
149
+ const subShopCategory = this.getShopCategory().subscribe(shop => {
150
+ if (shop && shop['category']) {
151
+ this.imgExternalConfig.api.shop_category = shop['category'];
152
+ }
153
+ });
154
+ this.subscriptions.push(subShopCategory);
155
+ }
156
+ getShopCategory() {
157
+ return this.http.get(`${environment.wizi_api}/shops/${this.id_shop}`, this.getOptionsHeadersWithBearer());
158
+ }
159
+ getOptionsHeadersWithBearer() {
160
+ const header = { headers: new HttpHeaders({
161
+ Authorization: 'Bearer ' + this.token_shop
162
+ })
163
+ };
164
+ return header;
165
+ }
166
+ ngOnDestroy() {
167
+ this.subscriptions.forEach(sub => sub.unsubscribe());
168
+ }
169
+ }
170
+ ImgManagerWebElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ImgManagerWebElementComponent, deps: [{ token: i1.TranslateService }, { token: i2.ImgSelectionService }, { token: i2.CanvaService }, { token: i3.FicheProductService }, { token: i4.AuthCredentialsService }, { token: i5.HttpClient }, { token: i6.EventService }, { token: i2.ImgManagerService }], target: i0.ɵɵFactoryTarget.Component });
171
+ ImgManagerWebElementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: ImgManagerWebElementComponent, selector: "img-manager-webelement", ngImport: i0, template: "<div class=\"info-bulle\">\n <p class=\"info-bulle-content\" [innerHTML]=\"'ImgManager.webElement.infoBulle' | translate\"></p>\n\n <ng-container *ngIf=\"imgManagerDisplayConfig.pageficheProduct && isPhotosTab\">\n <h3 class=\"wizicss-sous-titre\">{{'ImgManager.webElement.photosTitle' | translate }}</h3>\n </ng-container>\n\n <ng-container *ngIf=\"!loading && id_shop && imgManagerDisplayConfig\">\n\n <p class=\"img-manager-open\" *ngIf=\"imgManagerDisplayConfig.displayBtn && isPhotosTab\">\n <a (click)=\"open()\">{{'ImgManager.webElement.OpenBtn' | translate }}</a>\n </p>\n\n <div class=\"imgManagerBox\">\n <wz-img-manager\n #wzImgManager\n [stateDisplayed]=\"imgManagerDisplayConfig.stateDisplayed\"\n [multipleImgMode]=\"imgManagerDisplayConfig.multipleImgMode\"\n [showImgManagerModule]=\"imgManagerDisplayConfig.showImgManagerModule && openImgManager\"\n [showSelection]=\"imgManagerDisplayConfig.showSelection\"\n [externalConfig]=\"imgExternalConfig\"\n (imgManagerClosed)=\"onImgManagerClosed()\">\n </wz-img-manager>\n </div>\n </ng-container>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.WzImgManagerComponent, selector: "wz-img-manager", inputs: ["showSelection", "forceToOpenCanva", "multipleImgMode", "showImgManagerModule", "stateDisplayed", "externalConfig"], outputs: ["imgManagerClosed"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
172
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ImgManagerWebElementComponent, decorators: [{
173
+ type: Component,
174
+ args: [{ selector: 'img-manager-webelement', template: "<div class=\"info-bulle\">\n <p class=\"info-bulle-content\" [innerHTML]=\"'ImgManager.webElement.infoBulle' | translate\"></p>\n\n <ng-container *ngIf=\"imgManagerDisplayConfig.pageficheProduct && isPhotosTab\">\n <h3 class=\"wizicss-sous-titre\">{{'ImgManager.webElement.photosTitle' | translate }}</h3>\n </ng-container>\n\n <ng-container *ngIf=\"!loading && id_shop && imgManagerDisplayConfig\">\n\n <p class=\"img-manager-open\" *ngIf=\"imgManagerDisplayConfig.displayBtn && isPhotosTab\">\n <a (click)=\"open()\">{{'ImgManager.webElement.OpenBtn' | translate }}</a>\n </p>\n\n <div class=\"imgManagerBox\">\n <wz-img-manager\n #wzImgManager\n [stateDisplayed]=\"imgManagerDisplayConfig.stateDisplayed\"\n [multipleImgMode]=\"imgManagerDisplayConfig.multipleImgMode\"\n [showImgManagerModule]=\"imgManagerDisplayConfig.showImgManagerModule && openImgManager\"\n [showSelection]=\"imgManagerDisplayConfig.showSelection\"\n [externalConfig]=\"imgExternalConfig\"\n (imgManagerClosed)=\"onImgManagerClosed()\">\n </wz-img-manager>\n </div>\n </ng-container>\n</div>" }]
175
+ }], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i2.ImgSelectionService }, { type: i2.CanvaService }, { type: i3.FicheProductService }, { type: i4.AuthCredentialsService }, { type: i5.HttpClient }, { type: i6.EventService }, { type: i2.ImgManagerService }]; } });
176
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLW1hbmFnZXItd2ViLWVsZW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW1nLW1hbmFnZXItd2ViLWVsZW1lbnQvc3JjL2xpYi9pbWctbWFuYWdlci13ZWItZWxlbWVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbWctbWFuYWdlci13ZWItZWxlbWVudC9zcmMvbGliL2ltZy1tYW5hZ2VyLXdlYi1lbGVtZW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQWlGLE1BQU0sdUJBQXVCLENBQUM7QUFFdkssT0FBTyxFQUFnQixJQUFJLElBQUksV0FBVyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBR3JFLE9BQU8sRUFBYyxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7OztBQU96RCxNQUFNLE9BQU8sNkJBQTZCO0lBb0J4QyxZQUNVLGdCQUFrQyxFQUNsQyxtQkFBd0MsRUFDeEMsWUFBMEIsRUFDMUIsbUJBQXdDLEVBQ3hDLHNCQUE4QyxFQUM5QyxJQUFnQixFQUNoQixZQUEwQixFQUMxQixpQkFBb0M7UUFQcEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUM5QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFyQjlDLG9CQUFvQjtRQUNwQixtQkFBYyxHQUFXLEtBQUssQ0FBQztRQUMvQixZQUFPLEdBQVksSUFBSSxDQUFDO1FBTXhCLHNCQUFzQjtRQUN0QixnQkFBVyxHQUFZLENBQUMsQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDO1FBRWpELGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztJQVdqQyxDQUFDO0lBRUgsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsMEJBQTBCLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDakcsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsMEJBQTBCLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDdkYsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDMUIsaURBQWlEO1FBQ2pELElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBRTlCLE1BQU0sY0FBYyxHQUNsQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxFQUFFO1lBQ2hELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDcEMscUJBQXFCO1lBQ3JCLElBQUksSUFBSSxDQUFDLHVCQUF1QixDQUFDLGdCQUFnQixFQUFFO2dCQUNqRCxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQzthQUM1QjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQzthQUMxQjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELGFBQWEsQ0FBQyxlQUF1QztRQUNuRCxJQUFJLENBQUMsZUFBZSxFQUFFO1lBRXBCLElBQUksV0FBVyxDQUFDLGFBQWEsRUFBRTtnQkFDN0IsT0FBTzthQUNSO1lBQ0Qsc0JBQXNCO1lBQ3RCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRyxXQUFXLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2hGLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUM7WUFDM0QsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLGVBQWUsQ0FBQyxPQUFPLEVBQUUsZUFBZSxDQUFDLFVBQVUsRUFBRSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckgsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELG1CQUFtQjtRQUNqQixJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUMsNERBQTREO1FBQzFGLElBQUksQ0FBQyw2QkFBNkIsRUFBRSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLENBQUMsbUNBQW1DO1FBQ2xFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQywwQkFBMEIsRUFBRSxDQUFDO0lBQ3hELENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUU5QixvQkFBb0I7UUFDcEIsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLHFCQUFxQixFQUFFLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLEVBQUU7WUFDcEcsSUFBSSxnQkFBZ0IsSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUU7Z0JBQy9DLElBQUksQ0FBQyxZQUFZLENBQUMscUJBQXFCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUM5RDtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELHNCQUFzQjtRQUNwQiwwQ0FBMEM7UUFDMUMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxTQUFTLENBQUUsSUFBSSxDQUFDLEVBQUU7WUFDdkUsNENBQTRDO1lBQzVDLE1BQU0sT0FBTyxHQUFHLElBQUksSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ3ZFLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBRXRDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUM7WUFFN0MsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO0lBQzdCLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsb0JBQW9CO1FBQ3BCLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO0lBQzlCLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFFLFlBQVksQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsc0JBQXNCO1FBQ3BCLE1BQU0sa0JBQWtCLEdBQUcsZ0NBQWdDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDM0YsSUFBSSxDQUFDLHVCQUF1QixHQUFHLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDekcsQ0FBQztJQUVELHFCQUFxQjtRQUNuQixNQUFNLE9BQU8sR0FDWCxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxFQUFFLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQzVELElBQUksQ0FBQyx1QkFBdUIsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQztZQUNoRyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztRQUNMLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCw2QkFBNkI7UUFDM0IsTUFBTSxZQUFZLEdBQ2hCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDckQsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUM7UUFFTCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRU8sY0FBYztRQUNwQixPQUFPLFdBQVcsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRU8sVUFBVSxDQUFDLE1BQXFCLEVBQUUsTUFBYyxFQUFFLFNBQXVCLEVBQUUsS0FBYTtRQUM5RixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBRU8sd0JBQXdCO1FBQzlCLE1BQU0sTUFBTSxHQUFHLElBQUksU0FBUyxFQUFFLENBQUM7UUFDL0IsTUFBTSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ3BDLE1BQU0sQ0FBQyxtQkFBbUIsR0FBRyxXQUFXLENBQUMsUUFBUSxHQUFFLHVCQUF1QixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDMUYsTUFBTSxDQUFDLFdBQVcsR0FBRywwQkFBMEIsQ0FBQztRQUNoRCxNQUFNLENBQUMsU0FBUyxHQUFHLDhDQUE4QyxDQUFDO1FBQ2xFLE1BQU0sQ0FBQyxZQUFZLEdBQUcsMERBQTBELENBQUM7UUFDakYsTUFBTSxDQUFDLFlBQVksR0FBRywyQkFBMkIsQ0FBQztRQUNsRCxNQUFNLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQyxDQUFDLHdFQUF3RTtRQUN4RyxNQUFNLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQyxZQUFZLENBQUM7UUFFL0MsTUFBTSxlQUFlLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQztRQUM5QyxlQUFlLENBQUMsYUFBYSxHQUFHLEdBQUcsV0FBVyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxPQUFPLENBQUM7UUFDN0UsZUFBZSxDQUFDLGFBQWEsR0FBRyxHQUFHLFdBQVcsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sUUFBUSxDQUFDO1FBQzlFLGVBQWUsQ0FBQyxhQUFhLEdBQUcsR0FBRyxXQUFXLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLFNBQVMsQ0FBQztRQUMvRSxlQUFlLENBQUMsYUFBYSxHQUFHLEdBQUcsV0FBVyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxTQUFTLENBQUM7UUFDL0UsZUFBZSxDQUFDLGFBQWEsR0FBRyxHQUFHLFdBQVcsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sU0FBUyxDQUFDO1FBRS9FLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLG1CQUFtQixFQUFFLENBQUM7UUFDbkQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUM7UUFDcEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksR0FBRyxlQUFlLENBQUM7UUFFdEQsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUM5RCxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQzVCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUM3RDtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVPLGVBQWU7UUFDckIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxRQUFRLFVBQVUsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDLENBQUM7SUFDNUcsQ0FBQztJQUVPLDJCQUEyQjtRQUNqQyxNQUFNLE1BQU0sR0FBRyxFQUFFLE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBQztnQkFDeEMsYUFBYSxFQUFFLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVTthQUN6QyxDQUFDO1NBQ0gsQ0FBQztRQUNGLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUN2RCxDQUFDOzswSEFwTVUsNkJBQTZCOzhHQUE3Qiw2QkFBNkIsOERDZjFDLGlvQ0F5Qk07MkZEVk8sNkJBQTZCO2tCQUx6QyxTQUFTOytCQUNFLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW1nTWFuYWdlckNvbmZpZ0R0bywgSW1nQXBpRHRvLCBJbWdDRE5Db25maWdEVE8sIEltZ1NlbGVjdGlvblNlcnZpY2UsIENhbnZhU2VydmljZSwgSW1nTWFuYWdlckRpc3BsYXlDb25maWcsIEltZ01hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnQHdpemlzaG9wL2ltZy1tYW5hZ2VyJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiwgZnJvbSBhcyBmcm9tUHJvbWlzZSwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRmljaGVQcm9kdWN0U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZmljaGVfcHJvZHVjdHMuc2VydmljZSc7XG5pbXBvcnQgeyBBdXRoQ3JlZGVudGlhbHMsIEF1dGhDcmVkZW50aWFsc1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2F1dGgtY3JlZGVudGlhbHMuc2VydmljZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEV2ZW50U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBlbnZpcm9ubWVudCB9IGZyb20gJy4vZW52aXJvbm1lbnRzL2Vudmlyb25tZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaW1nLW1hbmFnZXItd2ViZWxlbWVudCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbWctbWFuYWdlci13ZWItZWxlbWVudC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ltZy1tYW5hZ2VyLXdlYi1lbGVtZW50LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgSW1nTWFuYWdlcldlYkVsZW1lbnRDb21wb25lbnQge1xuICAvLyBzaG9wIGNvbmZpZ1xuICBpZF9zaG9wOiBudW1iZXI7XG4gIHRva2VuX3Nob3A6IHN0cmluZztcbiAgdXNlcklkOiBudW1iZXIgfCBudWxsO1xuICBhY2NvdW50SWQ6IG51bWJlciB8IG51bGw7XG5cbiAgLy8gaW1nIG1hbmdlciBjb25maWdcbiAgb3BlbkltZ01hbmFnZXI6Ym9vbGVhbiA9IGZhbHNlO1xuICBsb2FkaW5nOiBib29sZWFuID0gdHJ1ZTtcbiAgaW1nRXh0ZXJuYWxDb25maWc6IEltZ01hbmFnZXJDb25maWdEdG87XG4gIGltZ01hbmFnZXJEaXNwbGF5Q29uZmlnOiBJbWdNYW5hZ2VyRGlzcGxheUNvbmZpZztcbiAgcGFnZWZpY2hlUHJvZHVjdENvbmZpZzogSW1nTWFuYWdlckRpc3BsYXlDb25maWc7XG4gIHBhZ2VFdmVudENvbmZpZzogSW1nTWFuYWdlckRpc3BsYXlDb25maWc7XG5cbiAgLy8gZmljaGUgcm9kdWN0IGNvbmZpZ1xuICBpc1Bob3Rvc1RhYjogYm9vbGVhbiA9ICEhZW52aXJvbm1lbnQuaXNQaG90b3NUYWI7XG5cbiAgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBpbWdTZWxlY3Rpb25TZXJ2aWNlOiBJbWdTZWxlY3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgY2FudmFTZXJ2aWNlOiBDYW52YVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmaWNoZVByb2R1Y3RTZXJ2aWNlOiBGaWNoZVByb2R1Y3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgYXV0aENyZWRlbnRpYWxzU2VydmljZTogQXV0aENyZWRlbnRpYWxzU2VydmljZSxcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBldmVudFNlcnZpY2U6IEV2ZW50U2VydmljZSxcbiAgICBwcml2YXRlIGltZ01hbmFnZXJTZXJ2aWNlOiBJbWdNYW5hZ2VyU2VydmljZVxuICApe31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMucGFnZWZpY2hlUHJvZHVjdENvbmZpZyA9IHRoaXMuaW1nTWFuYWdlclNlcnZpY2UuZ2V0SW1nTWFuYWdlckRpc3BsYXlDb25maWcoXCJmaWNoZS1wcm9kdWN0XCIpO1xuICAgIHRoaXMucGFnZUV2ZW50Q29uZmlnID0gdGhpcy5pbWdNYW5hZ2VyU2VydmljZS5nZXRJbWdNYW5hZ2VyRGlzcGxheUNvbmZpZyhcIndpemktYmxvY2tcIik7XG4gICAgdGhpcy5zZXRDdXJyZW50TGFuZ3VhZ2UoKTtcbiAgICAvLyBTZWFyY2ggb24gd2hpY2ggcGFnZSBpcyBkaXNwbGF5IHRoZSBpbWcgbWFuZ2VyXG4gICAgdGhpcy5zZXREaXNwbGF5ZWRQYWdlQ29uZmlnKCk7XG5cbiAgICBjb25zdCBzdWJDcmVkZW50aWFscyA9XG4gICAgICB0aGlzLmdldENyZWRlbnRpYWxzKCkuc3Vic2NyaWJlKGF1dGhDcmVkZW50aWFscyA9PiB7XG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmluaXRWYXJpYWJsZXMoYXV0aENyZWRlbnRpYWxzKTtcbiAgICAgICAgLy8gRmljaGUgcHJvZHVjdCBwYWdlXG4gICAgICAgIGlmICh0aGlzLmltZ01hbmFnZXJEaXNwbGF5Q29uZmlnLnBhZ2VmaWNoZVByb2R1Y3QpIHtcbiAgICAgICAgICB0aGlzLnNldEZpY2hlUHJvZHVjdFBhZ2UoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnNldFBhZ2VXaXRoRXZlbnRzKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHN1YkNyZWRlbnRpYWxzKTtcbiAgfVxuXG4gIGluaXRWYXJpYWJsZXMoYXV0aENyZWRlbnRpYWxzOiBBdXRoQ3JlZGVudGlhbHMgfCBudWxsKSB7XG4gICAgaWYgKCFhdXRoQ3JlZGVudGlhbHMpIHtcblxuICAgICAgaWYgKGVudmlyb25tZW50LmlzV2l6aXNob3Bjb20pIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgLy8gUnVuIG9uIGxvY2FsIFNlcnZlclxuICAgICAgdGhpcy5zZXRBcHBWYXJzKG51bGwsIGVudmlyb25tZW50LmxvY2FsLnNob3BJZCwgbnVsbCwgIGVudmlyb25tZW50LmxvY2FsLnRva2VuKTtcbiAgICAgIHRoaXMuc2V0SW1nTWFuYWdlckV4dHJhQ29uZmlnKCk7XG4gICAgICB0aGlzLmltZ01hbmFnZXJEaXNwbGF5Q29uZmlnID0gdGhpcy5wYWdlZmljaGVQcm9kdWN0Q29uZmlnO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2V0QXBwVmFycyhhdXRoQ3JlZGVudGlhbHMudXNlcl9pZCwgYXV0aENyZWRlbnRpYWxzLnNob3BfaWQsIGF1dGhDcmVkZW50aWFscy5hY2NvdW50X2lkLCBhdXRoQ3JlZGVudGlhbHMudG9rZW4pO1xuICAgIHRoaXMuc2V0SW1nTWFuYWdlckV4dHJhQ29uZmlnKCk7XG4gIH1cblxuICBzZXRGaWNoZVByb2R1Y3RQYWdlKCkge1xuICAgIHRoaXMuZmljaGVQcm9kdWN0U2VydmljZS5zZXRBcGlDb25maWcodGhpcy5pZF9zaG9wLCB0aGlzLnRva2VuX3Nob3ApO1xuICAgIHRoaXMuaGFuZGxlRmljaGVQcm9kdWN0VGFiKCk7IC8vIERpc3BsYXkgZGlmZmVyZW50IGltZyBtYW5hZ2VyIGNvbmZpZyBhY2NvcmRpbmcgdG8gdGhlIHRhYlxuICAgIHRoaXMuY2xvc2VJbWdNYW5hZ2VyT25Td2l0Y2hpbmdUYWIoKTtcbiAgICB0aGlzLnN1YnNjcmliZVBhZ2VBc2tGb3JJbWcoKTsgLy8gVXNlIGZvciBpbWFnZXMgaW4gdmFyaWF0aW9ucyB0YWJcbiAgICB0aGlzLmZpY2hlUHJvZHVjdFNlcnZpY2UudXBkYXRlSW1nU2VsZWN0aW9uT25DaGFuZ2UoKTtcbiAgfVxuXG4gIHNldFBhZ2VXaXRoRXZlbnRzKCkge1xuICAgIHRoaXMuc3Vic2NyaWJlUGFnZUFza0ZvckltZygpO1xuXG4gICAgLy8gU2VuZCBpbWcgc2VsZWN0ZWRcbiAgICBjb25zdCBzdWJJbWdTZWxlY3Rpb24gPSB0aGlzLmltZ1NlbGVjdGlvblNlcnZpY2UuZ2V0SW1nU2VsZWN0aW9uQ2hhbmdlKCkuc3Vic2NyaWJlKGltZ1NlbGVjdGlvbkxpc3QgPT4ge1xuICAgICAgaWYgKGltZ1NlbGVjdGlvbkxpc3QgJiYgaW1nU2VsZWN0aW9uTGlzdC5sZW5ndGgpIHtcbiAgICAgICAgdGhpcy5ldmVudFNlcnZpY2Uuc2VuZEltZ1NlbGVjdGVkVG9QYWdlKGltZ1NlbGVjdGlvbkxpc3RbMF0pO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHN1YkltZ1NlbGVjdGlvbik7XG4gIH1cblxuICBzdWJzY3JpYmVQYWdlQXNrRm9ySW1nKCkge1xuICAgIC8vIExpc3RlbiB0byBwYWdlIGVkaXRvciBhc2sgZm9yIGltZyBldmVudFxuICAgIGNvbnN0IHN1YkFza0ZvckltZyA9IHRoaXMuZXZlbnRTZXJ2aWNlLnBhZ2VBc2tGb3JJbWcoKS5zdWJzY3JpYmUoIGRhdGEgPT4ge1xuICAgICAgLy8gUmV0cmlldmUgd2hpY2ggaW1nIG1hbmFnZXIgc2VuZCB0aGUgZXZlbnRcbiAgICAgIGNvbnN0IGVtaXR0ZXIgPSBkYXRhICYmIGRhdGFbXCJkZXRhaWxcIl0gPyBkYXRhW1wiZGV0YWlsXCJdW1wiZnJvbVwiXSA6IG51bGw7XG4gICAgICB0aGlzLmV2ZW50U2VydmljZS5zZXRFbWl0dGVyKGVtaXR0ZXIpO1xuXG4gICAgICB0aGlzLmltZ1NlbGVjdGlvblNlcnZpY2Uuc2V0SW1nU2VsZWN0aW9uKFtdKTtcblxuICAgICAgdGhpcy5vcGVuKCk7XG4gICAgfSk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goc3ViQXNrRm9ySW1nKTtcbiAgfVxuXG4gIG9wZW4oKSB7XG4gICAgdGhpcy5vcGVuSW1nTWFuYWdlciA9IHRydWU7XG4gIH1cblxuICBvbkltZ01hbmFnZXJDbG9zZWQoKSB7XG4gICAgLy8gQ2xvc2UgaW1nIG1hbmFnZXJcbiAgICB0aGlzLm9wZW5JbWdNYW5hZ2VyID0gZmFsc2U7XG4gIH1cblxuICBzZXRDdXJyZW50TGFuZ3VhZ2UoKSB7XG4gICAgY29uc3QgbWF0Y2hlcyA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5tYXRjaCggL15cXC8oXFx3KylcXC8vKTtcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudXNlKG1hdGNoZXMgJiYgbWF0Y2hlc1sxXSA/IG1hdGNoZXNbMV0gOiAnZnInKTtcbiAgfVxuXG4gIHNldERpc3BsYXllZFBhZ2VDb25maWcoKSB7XG4gICAgY29uc3QgaXNGaWNoZVByb2R1Y3RQYWdlID0gL1xcL3Byb2R1Y3RzXFwvKFxcZCtcXC9lZGl0fGNyZWF0ZSkvLnRlc3Qod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKTtcbiAgICB0aGlzLmltZ01hbmFnZXJEaXNwbGF5Q29uZmlnID0gaXNGaWNoZVByb2R1Y3RQYWdlID8gdGhpcy5wYWdlZmljaGVQcm9kdWN0Q29uZmlnIDogdGhpcy5wYWdlRXZlbnRDb25maWc7XG4gIH1cblxuICBoYW5kbGVGaWNoZVByb2R1Y3RUYWIoKSB7XG4gICAgY29uc3QgdGFic1N1YiA9XG4gICAgICB0aGlzLmZpY2hlUHJvZHVjdFNlcnZpY2UuaGFuZGxlVGFicygpLnN1YnNjcmliZShpc1Bob3Rvc1RhYiA9PiB7XG4gICAgICAgIHRoaXMuaW1nTWFuYWdlckRpc3BsYXlDb25maWcgPSBpc1Bob3Rvc1RhYiA/IHRoaXMucGFnZWZpY2hlUHJvZHVjdENvbmZpZyA6IHRoaXMucGFnZUV2ZW50Q29uZmlnO1xuICAgICAgICB0aGlzLmlzUGhvdG9zVGFiID0gaXNQaG90b3NUYWI7XG4gICAgICB9KTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaCh0YWJzU3ViKTtcbiAgfVxuXG4gIGNsb3NlSW1nTWFuYWdlck9uU3dpdGNoaW5nVGFiKCkge1xuICAgIGNvbnN0IHRhYnNDbG9zZVN1YiA9XG4gICAgICB0aGlzLmZpY2hlUHJvZHVjdFNlcnZpY2Uuc3dpdGNoVGFicygpLnN1YnNjcmliZShkYXRhID0+IHtcbiAgICAgICAgdGhpcy5vcGVuSW1nTWFuYWdlciA9IGZhbHNlO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaCh0YWJzQ2xvc2VTdWIpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDcmVkZW50aWFsczxBdXRoQ3JlZGVudGlhbHM+KCkge1xuICAgIHJldHVybiBmcm9tUHJvbWlzZSh0aGlzLmF1dGhDcmVkZW50aWFsc1NlcnZpY2UuZ2V0KCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRBcHBWYXJzKHVzZXJJZDogbnVtYmVyIHwgbnVsbCwgc2hvcElkOiBudW1iZXIsIGFjY291bnRJZDogbnVtYmVyfCBudWxsLCB0b2tlbjogc3RyaW5nKSB7XG4gICAgdGhpcy51c2VySWQgPSB1c2VySWQ7XG4gICAgdGhpcy5pZF9zaG9wID0gc2hvcElkO1xuICAgIHRoaXMuYWNjb3VudElkID0gYWNjb3VudElkO1xuICAgIHRoaXMudG9rZW5fc2hvcCA9IHRva2VuO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRJbWdNYW5hZ2VyRXh0cmFDb25maWcoKSB7XG4gICAgY29uc3QgYXBpRHRvID0gbmV3IEltZ0FwaUR0bygpO1xuICAgIGFwaUR0by5zaG9wX3Rva2VuID0gdGhpcy50b2tlbl9zaG9wO1xuICAgIGFwaUR0by5pbWFnZV9tYW5hZ2VyX3JvdXRlID0gZW52aXJvbm1lbnQud2l6aV9hcGkrIFwiL2ltYWdlLW1hbmFnZXIvc2hvcHMvXCIgKyB0aGlzLmlkX3Nob3A7XG4gICAgYXBpRHRvLmNhbnZhX3Rva2VuID0gJ3dkQnlIYXlGNXY1N25qMlpTTHZ1MDU1Tyc7XG4gICAgYXBpRHRvLmNhbnZhX3VybCA9ICdodHRwczovL3Nkay5jYW52YS5jb20vZGVzaWduYnV0dG9uL3YyL2FwaS5qcyc7XG4gICAgYXBpRHRvLnBleGVsc190b2tlbiA9ICc1NjM0OTJhZDZmOTE3MDAwMDEwMDAwMDFlMzkyMTU3MjdkOGI0MmMxYjA4NDk4YTljZTFlNmI5NCc7XG4gICAgYXBpRHRvLnBleGVsc19yb3V0ZSA9ICdodHRwczovL2FwaS5wZXhlbHMuY29tL3YxJztcbiAgICBhcGlEdG8uc2hvcF9jYXRlZ29yeSA9ICdvdGhlcic7IC8vIFRoZSBzaG9wIGNhdGVnb3JpZSBpcyByZXRyaWV2ZSBsYXRlciB3aXRoIHRoZSBnZXRTaG9wQ2F0ZWdvcnkgbWV0aG9kZVxuICAgIGFwaUR0by5hc3NldHNfcm91dGUgPSBlbnZpcm9ubWVudC5hc3NldHNfcm91dGU7XG5cbiAgICBjb25zdCBpbWdDRE5Db25maWdEVE8gPSBuZXcgSW1nQ0ROQ29uZmlnRFRPKCk7XG4gICAgaW1nQ0ROQ29uZmlnRFRPLnVybF9yYXdfaW1hZ2UgPSBgJHtlbnZpcm9ubWVudC5DRE5fVVJMfSR7dGhpcy5pZF9zaG9wfS9SQVctYDtcbiAgICBpbWdDRE5Db25maWdEVE8udXJsXzEwMF9pbWFnZSA9IGAke2Vudmlyb25tZW50LkNETl9VUkx9JHt0aGlzLmlkX3Nob3B9L20xMDAtYDtcbiAgICBpbWdDRE5Db25maWdEVE8udXJsXzIwMF9pbWFnZSA9IGAke2Vudmlyb25tZW50LkNETl9VUkx9JHt0aGlzLmlkX3Nob3B9L2NzMjAwLWA7XG4gICAgaW1nQ0ROQ29uZmlnRFRPLnVybF80MDBfaW1hZ2UgPSBgJHtlbnZpcm9ubWVudC5DRE5fVVJMfSR7dGhpcy5pZF9zaG9wfS9jczQwMC1gO1xuICAgIGltZ0NETkNvbmZpZ0RUTy51cmxfODAwX2ltYWdlID0gYCR7ZW52aXJvbm1lbnQuQ0ROX1VSTH0ke3RoaXMuaWRfc2hvcH0vY3M4MDAtYDtcblxuICAgIHRoaXMuaW1nRXh0ZXJuYWxDb25maWcgPSBuZXcgSW1nTWFuYWdlckNvbmZpZ0R0bygpO1xuICAgIHRoaXMuaW1nRXh0ZXJuYWxDb25maWcuYXBpID0gYXBpRHRvO1xuICAgIHRoaXMuaW1nRXh0ZXJuYWxDb25maWcuaW1nQ0ROQ29uZmlnID0gaW1nQ0ROQ29uZmlnRFRPO1xuXG4gICAgY29uc3Qgc3ViU2hvcENhdGVnb3J5ID0gdGhpcy5nZXRTaG9wQ2F0ZWdvcnkoKS5zdWJzY3JpYmUoc2hvcCA9PiB7XG4gICAgICBpZiAoc2hvcCAmJiBzaG9wWydjYXRlZ29yeSddKSB7XG4gICAgICAgIHRoaXMuaW1nRXh0ZXJuYWxDb25maWcuYXBpLnNob3BfY2F0ZWdvcnkgPSBzaG9wWydjYXRlZ29yeSddO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHN1YlNob3BDYXRlZ29yeSk7XG4gIH1cblxuICBwcml2YXRlIGdldFNob3BDYXRlZ29yeSgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke2Vudmlyb25tZW50LndpemlfYXBpfS9zaG9wcy8ke3RoaXMuaWRfc2hvcH1gLCB0aGlzLmdldE9wdGlvbnNIZWFkZXJzV2l0aEJlYXJlcigpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0T3B0aW9uc0hlYWRlcnNXaXRoQmVhcmVyKCkge1xuICAgIGNvbnN0IGhlYWRlciA9IHsgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgIEF1dGhvcml6YXRpb246ICdCZWFyZXIgJyArIHRoaXMudG9rZW5fc2hvcFxuICAgICAgfSlcbiAgICB9O1xuICAgIHJldHVybiBoZWFkZXI7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaChzdWIgPT4gc3ViLnVuc3Vic2NyaWJlKCkpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiaW5mby1idWxsZVwiPlxuICA8cCBjbGFzcz1cImluZm8tYnVsbGUtY29udGVudFwiIFtpbm5lckhUTUxdPVwiJ0ltZ01hbmFnZXIud2ViRWxlbWVudC5pbmZvQnVsbGUnIHwgdHJhbnNsYXRlXCI+PC9wPlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpbWdNYW5hZ2VyRGlzcGxheUNvbmZpZy5wYWdlZmljaGVQcm9kdWN0ICYmIGlzUGhvdG9zVGFiXCI+XG4gICAgPGgzIGNsYXNzPVwid2l6aWNzcy1zb3VzLXRpdHJlXCI+e3snSW1nTWFuYWdlci53ZWJFbGVtZW50LnBob3Rvc1RpdGxlJyB8IHRyYW5zbGF0ZSB9fTwvaDM+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbG9hZGluZyAmJiBpZF9zaG9wICYmIGltZ01hbmFnZXJEaXNwbGF5Q29uZmlnXCI+XG5cbiAgICA8cCBjbGFzcz1cImltZy1tYW5hZ2VyLW9wZW5cIiAqbmdJZj1cImltZ01hbmFnZXJEaXNwbGF5Q29uZmlnLmRpc3BsYXlCdG4gJiYgaXNQaG90b3NUYWJcIj5cbiAgICAgIDxhIChjbGljayk9XCJvcGVuKClcIj57eydJbWdNYW5hZ2VyLndlYkVsZW1lbnQuT3BlbkJ0bicgfCB0cmFuc2xhdGUgfX08L2E+XG4gICAgPC9wPlxuXG4gICAgPGRpdiBjbGFzcz1cImltZ01hbmFnZXJCb3hcIj5cbiAgICAgIDx3ei1pbWctbWFuYWdlclxuICAgICAgICAjd3pJbWdNYW5hZ2VyXG4gICAgICAgIFtzdGF0ZURpc3BsYXllZF09XCJpbWdNYW5hZ2VyRGlzcGxheUNvbmZpZy5zdGF0ZURpc3BsYXllZFwiXG4gICAgICAgIFttdWx0aXBsZUltZ01vZGVdPVwiaW1nTWFuYWdlckRpc3BsYXlDb25maWcubXVsdGlwbGVJbWdNb2RlXCJcbiAgICAgICAgW3Nob3dJbWdNYW5hZ2VyTW9kdWxlXT1cImltZ01hbmFnZXJEaXNwbGF5Q29uZmlnLnNob3dJbWdNYW5hZ2VyTW9kdWxlICYmIG9wZW5JbWdNYW5hZ2VyXCJcbiAgICAgICAgW3Nob3dTZWxlY3Rpb25dPVwiaW1nTWFuYWdlckRpc3BsYXlDb25maWcuc2hvd1NlbGVjdGlvblwiXG4gICAgICAgIFtleHRlcm5hbENvbmZpZ109XCJpbWdFeHRlcm5hbENvbmZpZ1wiXG4gICAgICAgIChpbWdNYW5hZ2VyQ2xvc2VkKT1cIm9uSW1nTWFuYWdlckNsb3NlZCgpXCI+XG4gICAgICA8L3d6LWltZy1tYW5hZ2VyPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PiJdfQ==
@@ -0,0 +1,47 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { HttpClientModule } from '@angular/common/http';
3
+ import { NgModule } from '@angular/core';
4
+ import { TranslateModule } from '@ngx-translate/core';
5
+ import { WzImgManagerModule } from '@wizishop/img-manager';
6
+ import { ImgManagerWebElementComponent } from './img-manager-web-element.component';
7
+ import { AuthCredentialsService } from './services/auth-credentials.service';
8
+ import { EventService } from './services/event.service';
9
+ import { FicheProductService } from './services/fiche_products.service';
10
+ import { StorageService } from './services/storage.service';
11
+ import * as i0 from "@angular/core";
12
+ export class ImgManagerWebElementModule {
13
+ }
14
+ ImgManagerWebElementModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ImgManagerWebElementModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
15
+ ImgManagerWebElementModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.3", ngImport: i0, type: ImgManagerWebElementModule, declarations: [ImgManagerWebElementComponent], imports: [CommonModule,
16
+ HttpClientModule,
17
+ WzImgManagerModule,
18
+ TranslateModule], exports: [ImgManagerWebElementComponent] });
19
+ ImgManagerWebElementModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ImgManagerWebElementModule, providers: [
20
+ StorageService,
21
+ FicheProductService,
22
+ EventService,
23
+ AuthCredentialsService
24
+ ], imports: [CommonModule,
25
+ HttpClientModule,
26
+ WzImgManagerModule,
27
+ TranslateModule] });
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ImgManagerWebElementModule, decorators: [{
29
+ type: NgModule,
30
+ args: [{
31
+ declarations: [ImgManagerWebElementComponent],
32
+ imports: [
33
+ CommonModule,
34
+ HttpClientModule,
35
+ WzImgManagerModule,
36
+ TranslateModule,
37
+ ],
38
+ exports: [ImgManagerWebElementComponent],
39
+ providers: [
40
+ StorageService,
41
+ FicheProductService,
42
+ EventService,
43
+ AuthCredentialsService
44
+ ]
45
+ }]
46
+ }] });
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLW1hbmFnZXItd2ViLWVsZW1lbnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW1nLW1hbmFnZXItd2ViLWVsZW1lbnQvc3JjL2xpYi9pbWctbWFuYWdlci13ZWItZWxlbWVudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBb0I1RCxNQUFNLE9BQU8sMEJBQTBCOzt1SEFBMUIsMEJBQTBCO3dIQUExQiwwQkFBMEIsaUJBZnRCLDZCQUE2QixhQUUxQyxZQUFZO1FBQ1osZ0JBQWdCO1FBQ2hCLGtCQUFrQjtRQUNsQixlQUFlLGFBRVAsNkJBQTZCO3dIQVE1QiwwQkFBMEIsYUFQMUI7UUFDVCxjQUFjO1FBQ2QsbUJBQW1CO1FBQ25CLFlBQVk7UUFDWixzQkFBc0I7S0FDdkIsWUFYQyxZQUFZO1FBQ1osZ0JBQWdCO1FBQ2hCLGtCQUFrQjtRQUNsQixlQUFlOzJGQVVOLDBCQUEwQjtrQkFoQnRDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsNkJBQTZCLENBQUM7b0JBQzdDLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQixlQUFlO3FCQUNoQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQztvQkFDeEMsU0FBUyxFQUFFO3dCQUNULGNBQWM7d0JBQ2QsbUJBQW1CO3dCQUNuQixZQUFZO3dCQUNaLHNCQUFzQjtxQkFDdkI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFd6SW1nTWFuYWdlck1vZHVsZSB9IGZyb20gJ0B3aXppc2hvcC9pbWctbWFuYWdlcic7XG5pbXBvcnQgeyBJbWdNYW5hZ2VyV2ViRWxlbWVudENvbXBvbmVudCB9IGZyb20gJy4vaW1nLW1hbmFnZXItd2ViLWVsZW1lbnQuY29tcG9uZW50JztcbmltcG9ydCB7IEF1dGhDcmVkZW50aWFsc1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2F1dGgtY3JlZGVudGlhbHMuc2VydmljZSc7XG5pbXBvcnQgeyBFdmVudFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2V2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgRmljaGVQcm9kdWN0U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZmljaGVfcHJvZHVjdHMuc2VydmljZSc7XG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvc3RvcmFnZS5zZXJ2aWNlJztcblxuXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0ltZ01hbmFnZXJXZWJFbGVtZW50Q29tcG9uZW50XSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBIdHRwQ2xpZW50TW9kdWxlLFxuICAgIFd6SW1nTWFuYWdlck1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtJbWdNYW5hZ2VyV2ViRWxlbWVudENvbXBvbmVudF0sXG4gIHByb3ZpZGVyczogW1xuICAgIFN0b3JhZ2VTZXJ2aWNlLFxuICAgIEZpY2hlUHJvZHVjdFNlcnZpY2UsXG4gICAgRXZlbnRTZXJ2aWNlLFxuICAgIEF1dGhDcmVkZW50aWFsc1NlcnZpY2VcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBJbWdNYW5hZ2VyV2ViRWxlbWVudE1vZHVsZSB7IH1cbiJdfQ==
@@ -0,0 +1,43 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { environment } from '../environments/environment';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "./storage.service";
5
+ export class AuthCredentialsService {
6
+ constructor(storage) {
7
+ this.storage = storage;
8
+ this.credentials = null;
9
+ this.credentials$ = this.storage.subscribe(environment.wiziApiCredentialsKey);
10
+ }
11
+ get() {
12
+ if (this.credentials) {
13
+ return Promise.resolve(this.credentials);
14
+ }
15
+ return this.storage.get(environment.wiziApiCredentialsKey).then(token => {
16
+ this.credentials = token;
17
+ return this.credentials;
18
+ });
19
+ }
20
+ set(credentials) {
21
+ return this.storage.set(environment.wiziApiCredentialsKey, credentials).then(set => {
22
+ if (set) {
23
+ this.credentials = credentials;
24
+ }
25
+ return set;
26
+ });
27
+ }
28
+ remove() {
29
+ return this.storage.remove(environment.wiziApiCredentialsKey).then(removed => {
30
+ if (removed) {
31
+ this.credentials = null;
32
+ }
33
+ return removed;
34
+ });
35
+ }
36
+ }
37
+ AuthCredentialsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: AuthCredentialsService, deps: [{ token: i1.StorageService }], target: i0.ɵɵFactoryTarget.Injectable });
38
+ AuthCredentialsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: AuthCredentialsService });
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: AuthCredentialsService, decorators: [{
40
+ type: Injectable
41
+ }], ctorParameters: function () { return [{ type: i1.StorageService }]; } });
42
+ ;
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1jcmVkZW50aWFscy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW1nLW1hbmFnZXItd2ViLWVsZW1lbnQvc3JjL2xpYi9zZXJ2aWNlcy9hdXRoLWNyZWRlbnRpYWxzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7OztBQUkxRCxNQUFNLE9BQU8sc0JBQXNCO0lBS2pDLFlBQW9CLE9BQXVCO1FBQXZCLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBSm5DLGdCQUFXLEdBQTJCLElBQUksQ0FBQztRQUtqRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFrQixXQUFXLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUNqRyxDQUFDO0lBRUQsR0FBRztRQUNELElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNwQixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQzFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBUyxXQUFXLENBQUMscUJBQXFCLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDOUUsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7WUFFekIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELEdBQUcsQ0FBQyxXQUE0QjtRQUM5QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxxQkFBcUIsRUFBRSxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDakYsSUFBSSxHQUFHLEVBQUU7Z0JBQ1AsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7YUFDaEM7WUFDRCxPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU07UUFDSixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUMzRSxJQUFJLE9BQU8sRUFBRTtnQkFDWCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQzthQUN6QjtZQUNELE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7bUhBcENVLHNCQUFzQjt1SEFBdEIsc0JBQXNCOzJGQUF0QixzQkFBc0I7a0JBRGxDLFVBQVU7O0FBNkNWLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IGVudmlyb25tZW50IH0gZnJvbSAnLi4vZW52aXJvbm1lbnRzL2Vudmlyb25tZW50JztcbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9zdG9yYWdlLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpIC8vIHRvZG9cbmV4cG9ydCBjbGFzcyBBdXRoQ3JlZGVudGlhbHNTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBjcmVkZW50aWFsczogQXV0aENyZWRlbnRpYWxzIHwgbnVsbCA9IG51bGw7XG5cbiAgY3JlZGVudGlhbHMkO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmFnZTogU3RvcmFnZVNlcnZpY2UpIHtcbiAgICB0aGlzLmNyZWRlbnRpYWxzJCA9IHRoaXMuc3RvcmFnZS5zdWJzY3JpYmU8QXV0aENyZWRlbnRpYWxzPihlbnZpcm9ubWVudC53aXppQXBpQ3JlZGVudGlhbHNLZXkpO1xuICB9XG5cbiAgZ2V0KCk6IFByb21pc2U8QXV0aENyZWRlbnRpYWxzIHwgbnVsbD4ge1xuICAgIGlmICh0aGlzLmNyZWRlbnRpYWxzKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuY3JlZGVudGlhbHMpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5zdG9yYWdlLmdldDxzdHJpbmc+KGVudmlyb25tZW50LndpemlBcGlDcmVkZW50aWFsc0tleSkudGhlbih0b2tlbiA9PiB7XG4gICAgICB0aGlzLmNyZWRlbnRpYWxzID0gdG9rZW47XG5cbiAgICAgIHJldHVybiB0aGlzLmNyZWRlbnRpYWxzO1xuICAgIH0pO1xuICB9XG5cbiAgc2V0KGNyZWRlbnRpYWxzOiBBdXRoQ3JlZGVudGlhbHMpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yYWdlLnNldChlbnZpcm9ubWVudC53aXppQXBpQ3JlZGVudGlhbHNLZXksIGNyZWRlbnRpYWxzKS50aGVuKHNldCA9PiB7XG4gICAgICBpZiAoc2V0KSB7XG4gICAgICAgIHRoaXMuY3JlZGVudGlhbHMgPSBjcmVkZW50aWFscztcbiAgICAgIH1cbiAgICAgIHJldHVybiBzZXQ7XG4gICAgfSk7XG4gIH1cblxuICByZW1vdmUoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmFnZS5yZW1vdmUoZW52aXJvbm1lbnQud2l6aUFwaUNyZWRlbnRpYWxzS2V5KS50aGVuKHJlbW92ZWQgPT4ge1xuICAgICAgaWYgKHJlbW92ZWQpIHtcbiAgICAgICAgdGhpcy5jcmVkZW50aWFscyA9IG51bGw7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVtb3ZlZDtcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhDcmVkZW50aWFscyB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIHVzZXJfaWQ6IG51bWJlcjtcbiAgYWNjb3VudF9pZDogbnVtYmVyO1xuICBzaG9wX2lkOiBudW1iZXI7XG59O1xuIl19
@@ -0,0 +1,37 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { fromEvent } from 'rxjs';
3
+ import { environment } from '../environments/environment';
4
+ import * as i0 from "@angular/core";
5
+ export class EventService {
6
+ constructor() { }
7
+ sendImgSelectedToPage(file) {
8
+ const sendedFile = {
9
+ ...file,
10
+ cdn_img_src: ''
11
+ };
12
+ if (sendedFile) {
13
+ sendedFile.cdn_img_src = `${environment.CDN_URL}${file.id_shop}/`;
14
+ }
15
+ const value = {
16
+ detail: {
17
+ sendedFile,
18
+ "from": this.emitter
19
+ }
20
+ };
21
+ const event = new CustomEvent('imgSelected', value);
22
+ const imgManagerModule = document.getElementById('imgManagerModule');
23
+ imgManagerModule?.dispatchEvent(event);
24
+ }
25
+ pageAskForImg() {
26
+ return fromEvent(document.getElementById('imgManagerModule'), "openImgManager");
27
+ }
28
+ setEmitter(emitter) {
29
+ this.emitter = emitter;
30
+ }
31
+ }
32
+ EventService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: EventService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
33
+ EventService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: EventService });
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: EventService, decorators: [{
35
+ type: Injectable
36
+ }], ctorParameters: function () { return []; } });
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ltZy1tYW5hZ2VyLXdlYi1lbGVtZW50L3NyYy9saWIvc2VydmljZXMvZXZlbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQUcxRCxNQUFNLE9BQU8sWUFBWTtJQU12QixnQkFBZ0IsQ0FBQztJQUVqQixxQkFBcUIsQ0FBQyxJQUFvQjtRQUN4QyxNQUFNLFVBQVUsR0FBRztZQUNqQixHQUFHLElBQUk7WUFDUCxXQUFXLEVBQUUsRUFBRTtTQUNoQixDQUFDO1FBQ0YsSUFBSSxVQUFVLEVBQUU7WUFDZCxVQUFVLENBQUMsV0FBVyxHQUFHLEdBQUcsV0FBVyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUM7U0FDbkU7UUFFRCxNQUFNLEtBQUssR0FBRztZQUNFLE1BQU0sRUFBRTtnQkFDTixVQUFVO2dCQUNWLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTzthQUNyQjtTQUNGLENBQUM7UUFDaEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxXQUFXLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3BELE1BQU0sZ0JBQWdCLEdBQUUsUUFBUSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3BFLGdCQUFnQixFQUFFLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsYUFBYTtRQUNYLE9BQU8sU0FBUyxDQUFNLFFBQVEsQ0FBQyxjQUFjLENBQUMsa0JBQWtCLENBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzlGLENBQUM7SUFFRCxVQUFVLENBQUMsT0FBZTtRQUN4QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN6QixDQUFDOzt5R0FsQ1UsWUFBWTs2R0FBWixZQUFZOzJGQUFaLFlBQVk7a0JBRHhCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbWdQaWN0dXJlRFRPIH0gZnJvbSAnQHdpemlzaG9wL2ltZy1tYW5hZ2VyJztcbmltcG9ydCB7IGZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZW52aXJvbm1lbnQgfSBmcm9tICcuLi9lbnZpcm9ubWVudHMvZW52aXJvbm1lbnQnO1xuXG5ASW5qZWN0YWJsZSgpIC8vIHRvZG9cbmV4cG9ydCBjbGFzcyBFdmVudFNlcnZpY2Uge1xuXG4gIC8vIFNvbWV0aW1lcywgdGhlcmUgYXJlIG11bHRpcGxlIGltZyBtYW5hZ2VyIHRoYXQgbGlzdGVuIGF0IHRoZSBzYW1lIHRpbWUgYXQgaW1nU2VsZWN0ZWQgZXZlbnRcbiAgLy8gSXQgdXNlIGJ5IHRoZSBsaXN0ZW5lciwgdG8ga25vdyBpZiB0aGUgZXZlbnQgaXMgZm9yIGhpbVxuICBlbWl0dGVyOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBzZW5kSW1nU2VsZWN0ZWRUb1BhZ2UoZmlsZSA6IEltZ1BpY3R1cmVEVE8pIHtcbiAgICBjb25zdCBzZW5kZWRGaWxlID0ge1xuICAgICAgLi4uZmlsZSxcbiAgICAgIGNkbl9pbWdfc3JjOiAnJ1xuICAgIH07XG4gICAgaWYgKHNlbmRlZEZpbGUpIHtcbiAgICAgIHNlbmRlZEZpbGUuY2RuX2ltZ19zcmMgPSBgJHtlbnZpcm9ubWVudC5DRE5fVVJMfSR7ZmlsZS5pZF9zaG9wfS9gO1xuICAgIH1cblxuICAgIGNvbnN0IHZhbHVlID0ge1xuICAgICAgICAgICAgICAgICAgICBkZXRhaWw6IHtcbiAgICAgICAgICAgICAgICAgICAgICBzZW5kZWRGaWxlLFxuICAgICAgICAgICAgICAgICAgICAgIFwiZnJvbVwiOiB0aGlzLmVtaXR0ZXJcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfTtcbiAgICBjb25zdCBldmVudCA9IG5ldyBDdXN0b21FdmVudCgnaW1nU2VsZWN0ZWQnLCB2YWx1ZSk7XG4gICAgY29uc3QgaW1nTWFuYWdlck1vZHVsZT0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ltZ01hbmFnZXJNb2R1bGUnKTtcbiAgICBpbWdNYW5hZ2VyTW9kdWxlPy5kaXNwYXRjaEV2ZW50KGV2ZW50KTtcbiAgfVxuXG4gIHBhZ2VBc2tGb3JJbWcoKSB7XG4gICAgcmV0dXJuIGZyb21FdmVudDxhbnk+KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbWdNYW5hZ2VyTW9kdWxlJykgYXMgYW55LCBcIm9wZW5JbWdNYW5hZ2VyXCIpO1xuICB9XG5cbiAgc2V0RW1pdHRlcihlbWl0dGVyOiBzdHJpbmcpIHtcbiAgICB0aGlzLmVtaXR0ZXIgPSBlbWl0dGVyO1xuICB9XG59Il19