@revxui/intellibid-client-ts 1.0.46 → 1.0.51

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 (129) hide show
  1. package/README.md +2 -2
  2. package/api/advertiserController.service.d.ts +14 -26
  3. package/api/api.d.ts +5 -31
  4. package/api/campaignController.service.d.ts +110 -0
  5. package/api/{campaignInsightsController.service.d.ts → insightsController.service.d.ts} +7 -6
  6. package/esm2020/api/advertiserController.service.mjs +11 -43
  7. package/esm2020/api/api.mjs +6 -32
  8. package/esm2020/api/campaignController.service.mjs +297 -0
  9. package/esm2020/api/insightsController.service.mjs +105 -0
  10. package/esm2020/api.module.mjs +7 -46
  11. package/esm2020/model/advertiserResponse.mjs +13 -0
  12. package/esm2020/model/advertiserSearchResponse.mjs +13 -0
  13. package/esm2020/model/campaignChangeLogResponse.mjs +25 -0
  14. package/esm2020/model/campaignInsightRecord.mjs +19 -0
  15. package/esm2020/model/campaignInsightsResponse.mjs +1 -12
  16. package/esm2020/model/campaignRequest.mjs +29 -0
  17. package/esm2020/model/campaignResponse.mjs +12 -26
  18. package/esm2020/model/campaignSearchResponse.mjs +1 -1
  19. package/esm2020/model/campaignUpdateRequest.mjs +20 -0
  20. package/esm2020/model/models.mjs +9 -32
  21. package/esm2020/model/pageAdvertiserResponse.mjs +2 -0
  22. package/esm2020/model/pageCampaignChangeLogResponse.mjs +2 -0
  23. package/esm2020/model/pageCampaignResponse.mjs +1 -1
  24. package/esm2020/model/pageableObject.mjs +1 -1
  25. package/fesm2015/revxui-intellibid-client-ts.mjs +296 -2310
  26. package/fesm2015/revxui-intellibid-client-ts.mjs.map +1 -1
  27. package/fesm2020/revxui-intellibid-client-ts.mjs +217 -2361
  28. package/fesm2020/revxui-intellibid-client-ts.mjs.map +1 -1
  29. package/model/advertiserResponse.d.ts +30 -0
  30. package/model/{packageDetailResponse.d.ts → advertiserSearchResponse.d.ts} +2 -2
  31. package/model/{dpaEngagementChangeLogResponse.d.ts → campaignChangeLogResponse.d.ts} +10 -13
  32. package/model/campaignInsightRecord.d.ts +44 -0
  33. package/model/campaignInsightsResponse.d.ts +2 -1
  34. package/model/campaignRequest.d.ts +44 -0
  35. package/model/campaignResponse.d.ts +34 -96
  36. package/model/campaignSearchResponse.d.ts +0 -1
  37. package/model/{updateRequest.d.ts → campaignUpdateRequest.d.ts} +3 -3
  38. package/model/models.d.ts +8 -31
  39. package/model/{pagePackageDetailResponse.d.ts → pageAdvertiserResponse.d.ts} +5 -5
  40. package/model/{pageMobileAppDetailResponse.d.ts → pageCampaignChangeLogResponse.d.ts} +5 -5
  41. package/model/pageCampaignResponse.d.ts +2 -2
  42. package/model/pageableObject.d.ts +2 -2
  43. package/package.json +1 -1
  44. package/api/businessGeoController.service.d.ts +0 -28
  45. package/api/dpaCampaignController.service.d.ts +0 -52
  46. package/api/dpaEngagementController.service.d.ts +0 -143
  47. package/api/facebookAdImageController.service.d.ts +0 -52
  48. package/api/facebookAdVideoController.service.d.ts +0 -63
  49. package/api/facebookEngagementController.service.d.ts +0 -68
  50. package/api/mobileAppDetailController.service.d.ts +0 -65
  51. package/api/packageDetailController.service.d.ts +0 -45
  52. package/api/sourcePlatformMETAController.service.d.ts +0 -97
  53. package/api/sourcePlatformMETADictionaryController.service.d.ts +0 -28
  54. package/api/sourcePlatformTIKTOKController.service.d.ts +0 -64
  55. package/api/sourcePlatformTIKTOKDictionaryController.service.d.ts +0 -28
  56. package/api/tiktokAudienceController.service.d.ts +0 -35
  57. package/api/tiktokEngagementController.service.d.ts +0 -50
  58. package/esm2020/api/businessGeoController.service.mjs +0 -78
  59. package/esm2020/api/campaignInsightsController.service.mjs +0 -99
  60. package/esm2020/api/dpaCampaignController.service.mjs +0 -145
  61. package/esm2020/api/dpaEngagementController.service.mjs +0 -374
  62. package/esm2020/api/facebookAdImageController.service.mjs +0 -144
  63. package/esm2020/api/facebookAdVideoController.service.mjs +0 -169
  64. package/esm2020/api/facebookEngagementController.service.mjs +0 -188
  65. package/esm2020/api/mobileAppDetailController.service.mjs +0 -179
  66. package/esm2020/api/packageDetailController.service.mjs +0 -123
  67. package/esm2020/api/sourcePlatformMETAController.service.mjs +0 -253
  68. package/esm2020/api/sourcePlatformMETADictionaryController.service.mjs +0 -78
  69. package/esm2020/api/sourcePlatformTIKTOKController.service.mjs +0 -188
  70. package/esm2020/api/sourcePlatformTIKTOKDictionaryController.service.mjs +0 -78
  71. package/esm2020/api/tiktokAudienceController.service.mjs +0 -93
  72. package/esm2020/api/tiktokEngagementController.service.mjs +0 -142
  73. package/esm2020/model/adImageResponse.mjs +0 -20
  74. package/esm2020/model/adSetDetails.mjs +0 -20
  75. package/esm2020/model/adVideoResponse.mjs +0 -13
  76. package/esm2020/model/attributionSettings.mjs +0 -13
  77. package/esm2020/model/audienceDetails.mjs +0 -13
  78. package/esm2020/model/businessGeoResponse.mjs +0 -13
  79. package/esm2020/model/countryResponse.mjs +0 -13
  80. package/esm2020/model/createCampaignRequest.mjs +0 -13
  81. package/esm2020/model/creativeDetails.mjs +0 -2
  82. package/esm2020/model/dpaCampaignRequest.mjs +0 -2
  83. package/esm2020/model/dpaCampaignResponse.mjs +0 -12
  84. package/esm2020/model/dpaEngagementChangeLogResponse.mjs +0 -26
  85. package/esm2020/model/dpaEngagementRequest.mjs +0 -20
  86. package/esm2020/model/dpaEngagementResponse.mjs +0 -40
  87. package/esm2020/model/dpaEngagementSearchResponse.mjs +0 -13
  88. package/esm2020/model/exclusionRule.mjs +0 -13
  89. package/esm2020/model/facebookDetails.mjs +0 -2
  90. package/esm2020/model/facebookEngagementRequest.mjs +0 -13
  91. package/esm2020/model/facebookEngagementResponse.mjs +0 -21
  92. package/esm2020/model/imageOverlaySpecDetails.mjs +0 -13
  93. package/esm2020/model/mobileAppDetailRequest.mjs +0 -13
  94. package/esm2020/model/mobileAppDetailResponse.mjs +0 -13
  95. package/esm2020/model/packageDetailResponse.mjs +0 -13
  96. package/esm2020/model/pageDpaEngagementChangeLogResponse.mjs +0 -2
  97. package/esm2020/model/pageDpaEngagementResponse.mjs +0 -2
  98. package/esm2020/model/pageFacebookEngagementResponse.mjs +0 -2
  99. package/esm2020/model/pageMobileAppDetailResponse.mjs +0 -2
  100. package/esm2020/model/pagePackageDetailResponse.mjs +0 -2
  101. package/esm2020/model/tiktokCountryResponse.mjs +0 -13
  102. package/esm2020/model/tiktokEngagement.mjs +0 -2
  103. package/esm2020/model/updateRequest.mjs +0 -20
  104. package/model/adImageResponse.d.ts +0 -26
  105. package/model/adSetDetails.d.ts +0 -28
  106. package/model/adVideoResponse.d.ts +0 -18
  107. package/model/attributionSettings.d.ts +0 -17
  108. package/model/audienceDetails.d.ts +0 -22
  109. package/model/businessGeoResponse.d.ts +0 -15
  110. package/model/countryResponse.d.ts +0 -16
  111. package/model/createCampaignRequest.d.ts +0 -18
  112. package/model/creativeDetails.d.ts +0 -25
  113. package/model/dpaCampaignRequest.d.ts +0 -17
  114. package/model/dpaCampaignResponse.d.ts +0 -36
  115. package/model/dpaEngagementRequest.d.ts +0 -65
  116. package/model/dpaEngagementResponse.d.ts +0 -114
  117. package/model/dpaEngagementSearchResponse.d.ts +0 -15
  118. package/model/exclusionRule.d.ts +0 -15
  119. package/model/facebookDetails.d.ts +0 -27
  120. package/model/facebookEngagementRequest.d.ts +0 -24
  121. package/model/facebookEngagementResponse.d.ts +0 -39
  122. package/model/imageOverlaySpecDetails.d.ts +0 -20
  123. package/model/mobileAppDetailRequest.d.ts +0 -23
  124. package/model/mobileAppDetailResponse.d.ts +0 -24
  125. package/model/pageDpaEngagementChangeLogResponse.d.ts +0 -27
  126. package/model/pageDpaEngagementResponse.d.ts +0 -27
  127. package/model/pageFacebookEngagementResponse.d.ts +0 -27
  128. package/model/tiktokCountryResponse.d.ts +0 -16
  129. package/model/tiktokEngagement.d.ts +0 -26
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- ## @revxui/intellibid-client-ts@1.0.46
1
+ ## @revxui/intellibid-client-ts@1.0.51
2
2
 
3
3
  ### Building
4
4
 
@@ -19,7 +19,7 @@ Navigate to the folder of your consuming project and run one of next commands.
19
19
  _published:_
20
20
 
21
21
  ```
22
- npm install @revxui/intellibid-client-ts@1.0.46 --save
22
+ npm install @revxui/intellibid-client-ts@1.0.51 --save
23
23
  ```
24
24
 
25
25
  _without publishing (not recommended):_
@@ -1,9 +1,8 @@
1
1
  import { HttpClient, HttpHeaders, HttpResponse, HttpEvent } from '@angular/common/http';
2
2
  import { Observable } from 'rxjs';
3
- import { CampaignResponse } from '../model/campaignResponse';
4
- import { CampaignSearchResponse } from '../model/campaignSearchResponse';
5
- import { CreateCampaignRequest } from '../model/createCampaignRequest';
6
- import { PageCampaignResponse } from '../model/pageCampaignResponse';
3
+ import { AdvertiserResponse } from '../model/advertiserResponse';
4
+ import { AdvertiserSearchResponse } from '../model/advertiserSearchResponse';
5
+ import { PageAdvertiserResponse } from '../model/pageAdvertiserResponse';
7
6
  import { Configuration } from '../configuration';
8
7
  import * as i0 from "@angular/core";
9
8
  export declare class AdvertiserControllerService {
@@ -20,38 +19,27 @@ export declare class AdvertiserControllerService {
20
19
  /**
21
20
  *
22
21
  *
23
- * @param body
22
+ * @param id
24
23
  * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
25
24
  * @param reportProgress flag to report request and response progress.
26
25
  */
27
- createCampaign(body: CreateCampaignRequest, observe?: 'body', reportProgress?: boolean): Observable<CampaignResponse>;
28
- createCampaign(body: CreateCampaignRequest, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<CampaignResponse>>;
29
- createCampaign(body: CreateCampaignRequest, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<CampaignResponse>>;
26
+ getAdvertiser(id: number, observe?: 'body', reportProgress?: boolean): Observable<AdvertiserResponse>;
27
+ getAdvertiser(id: number, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<AdvertiserResponse>>;
28
+ getAdvertiser(id: number, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<AdvertiserResponse>>;
30
29
  /**
31
30
  *
32
31
  *
33
32
  * @param name
34
- * @param vizardPackageId
35
- * @param status
33
+ * @param isActive
36
34
  * @param page Zero-based page index (0..N)
37
35
  * @param size The size of the page to be returned
38
36
  * @param sort Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
39
37
  * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
40
38
  * @param reportProgress flag to report request and response progress.
41
39
  */
42
- getAllCampaigns(name?: string, vizardPackageId?: number, status?: string, page?: number, size?: number, sort?: Array<string>, observe?: 'body', reportProgress?: boolean): Observable<PageCampaignResponse>;
43
- getAllCampaigns(name?: string, vizardPackageId?: number, status?: string, page?: number, size?: number, sort?: Array<string>, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<PageCampaignResponse>>;
44
- getAllCampaigns(name?: string, vizardPackageId?: number, status?: string, page?: number, size?: number, sort?: Array<string>, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<PageCampaignResponse>>;
45
- /**
46
- *
47
- *
48
- * @param id
49
- * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
50
- * @param reportProgress flag to report request and response progress.
51
- */
52
- getCampaign(id: number, observe?: 'body', reportProgress?: boolean): Observable<CampaignResponse>;
53
- getCampaign(id: number, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<CampaignResponse>>;
54
- getCampaign(id: number, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<CampaignResponse>>;
40
+ getAllAdvertisers(name?: string, isActive?: boolean, page?: number, size?: number, sort?: Array<string>, observe?: 'body', reportProgress?: boolean): Observable<PageAdvertiserResponse>;
41
+ getAllAdvertisers(name?: string, isActive?: boolean, page?: number, size?: number, sort?: Array<string>, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<PageAdvertiserResponse>>;
42
+ getAllAdvertisers(name?: string, isActive?: boolean, page?: number, size?: number, sort?: Array<string>, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<PageAdvertiserResponse>>;
55
43
  /**
56
44
  *
57
45
  *
@@ -59,9 +47,9 @@ export declare class AdvertiserControllerService {
59
47
  * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
60
48
  * @param reportProgress flag to report request and response progress.
61
49
  */
62
- searchCampaigns(q: string, observe?: 'body', reportProgress?: boolean): Observable<Array<CampaignSearchResponse>>;
63
- searchCampaigns(q: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<Array<CampaignSearchResponse>>>;
64
- searchCampaigns(q: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<Array<CampaignSearchResponse>>>;
50
+ searchAdvertisers(q: string, observe?: 'body', reportProgress?: boolean): Observable<Array<AdvertiserSearchResponse>>;
51
+ searchAdvertisers(q: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<Array<AdvertiserSearchResponse>>>;
52
+ searchAdvertisers(q: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<Array<AdvertiserSearchResponse>>>;
65
53
  static ɵfac: i0.ɵɵFactoryDeclaration<AdvertiserControllerService, [null, { optional: true; }, { optional: true; }]>;
66
54
  static ɵprov: i0.ɵɵInjectableDeclaration<AdvertiserControllerService>;
67
55
  }
package/api/api.d.ts CHANGED
@@ -1,33 +1,7 @@
1
1
  export * from './advertiserController.service';
2
2
  import { AdvertiserControllerService } from './advertiserController.service';
3
- export * from './businessGeoController.service';
4
- import { BusinessGeoControllerService } from './businessGeoController.service';
5
- export * from './campaignInsightsController.service';
6
- import { CampaignInsightsControllerService } from './campaignInsightsController.service';
7
- export * from './dpaCampaignController.service';
8
- import { DpaCampaignControllerService } from './dpaCampaignController.service';
9
- export * from './dpaEngagementController.service';
10
- import { DpaEngagementControllerService } from './dpaEngagementController.service';
11
- export * from './facebookAdImageController.service';
12
- import { FacebookAdImageControllerService } from './facebookAdImageController.service';
13
- export * from './facebookAdVideoController.service';
14
- import { FacebookAdVideoControllerService } from './facebookAdVideoController.service';
15
- export * from './facebookEngagementController.service';
16
- import { FacebookEngagementControllerService } from './facebookEngagementController.service';
17
- export * from './mobileAppDetailController.service';
18
- import { MobileAppDetailControllerService } from './mobileAppDetailController.service';
19
- export * from './packageDetailController.service';
20
- import { PackageDetailControllerService } from './packageDetailController.service';
21
- export * from './sourcePlatformMETAController.service';
22
- import { SourcePlatformMETAControllerService } from './sourcePlatformMETAController.service';
23
- export * from './sourcePlatformMETADictionaryController.service';
24
- import { SourcePlatformMETADictionaryControllerService } from './sourcePlatformMETADictionaryController.service';
25
- export * from './sourcePlatformTIKTOKController.service';
26
- import { SourcePlatformTIKTOKControllerService } from './sourcePlatformTIKTOKController.service';
27
- export * from './sourcePlatformTIKTOKDictionaryController.service';
28
- import { SourcePlatformTIKTOKDictionaryControllerService } from './sourcePlatformTIKTOKDictionaryController.service';
29
- export * from './tiktokAudienceController.service';
30
- import { TiktokAudienceControllerService } from './tiktokAudienceController.service';
31
- export * from './tiktokEngagementController.service';
32
- import { TiktokEngagementControllerService } from './tiktokEngagementController.service';
33
- export declare const APIS: (typeof AdvertiserControllerService | typeof BusinessGeoControllerService | typeof CampaignInsightsControllerService | typeof DpaCampaignControllerService | typeof DpaEngagementControllerService | typeof FacebookAdImageControllerService | typeof FacebookAdVideoControllerService | typeof FacebookEngagementControllerService | typeof MobileAppDetailControllerService | typeof PackageDetailControllerService | typeof SourcePlatformMETAControllerService | typeof SourcePlatformMETADictionaryControllerService | typeof SourcePlatformTIKTOKControllerService | typeof SourcePlatformTIKTOKDictionaryControllerService | typeof TiktokAudienceControllerService | typeof TiktokEngagementControllerService)[];
3
+ export * from './campaignController.service';
4
+ import { CampaignControllerService } from './campaignController.service';
5
+ export * from './insightsController.service';
6
+ import { InsightsControllerService } from './insightsController.service';
7
+ export declare const APIS: (typeof AdvertiserControllerService | typeof CampaignControllerService | typeof InsightsControllerService)[];
@@ -0,0 +1,110 @@
1
+ import { HttpClient, HttpHeaders, HttpResponse, HttpEvent } from '@angular/common/http';
2
+ import { Observable } from 'rxjs';
3
+ import { CampaignRequest } from '../model/campaignRequest';
4
+ import { CampaignResponse } from '../model/campaignResponse';
5
+ import { CampaignSearchResponse } from '../model/campaignSearchResponse';
6
+ import { CampaignUpdateRequest } from '../model/campaignUpdateRequest';
7
+ import { PageCampaignChangeLogResponse } from '../model/pageCampaignChangeLogResponse';
8
+ import { PageCampaignResponse } from '../model/pageCampaignResponse';
9
+ import { Configuration } from '../configuration';
10
+ import * as i0 from "@angular/core";
11
+ export declare class CampaignControllerService {
12
+ protected httpClient: HttpClient;
13
+ protected basePath: string;
14
+ defaultHeaders: HttpHeaders;
15
+ configuration: Configuration;
16
+ constructor(httpClient: HttpClient, basePath: string, configuration: Configuration);
17
+ /**
18
+ * @param consumes string[] mime-types
19
+ * @return true: consumes contains 'multipart/form-data', false: otherwise
20
+ */
21
+ private canConsumeForm;
22
+ /**
23
+ *
24
+ *
25
+ * @param body
26
+ * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
27
+ * @param reportProgress flag to report request and response progress.
28
+ */
29
+ createCampaign(body: CampaignRequest, observe?: 'body', reportProgress?: boolean): Observable<CampaignResponse>;
30
+ createCampaign(body: CampaignRequest, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<CampaignResponse>>;
31
+ createCampaign(body: CampaignRequest, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<CampaignResponse>>;
32
+ /**
33
+ *
34
+ *
35
+ * @param id
36
+ * @param advertiserId
37
+ * @param name
38
+ * @param platformCampaignId
39
+ * @param payoutType
40
+ * @param marketFeedbackEnabled
41
+ * @param activeOnPlatform
42
+ * @param sourcePlatform
43
+ * @param page Zero-based page index (0..N)
44
+ * @param size The size of the page to be returned
45
+ * @param sort Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
46
+ * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
47
+ * @param reportProgress flag to report request and response progress.
48
+ */
49
+ getAllCampaigns(id?: number, advertiserId?: number, name?: string, platformCampaignId?: string, payoutType?: string, marketFeedbackEnabled?: boolean, activeOnPlatform?: boolean, sourcePlatform?: string, page?: number, size?: number, sort?: Array<string>, observe?: 'body', reportProgress?: boolean): Observable<PageCampaignResponse>;
50
+ getAllCampaigns(id?: number, advertiserId?: number, name?: string, platformCampaignId?: string, payoutType?: string, marketFeedbackEnabled?: boolean, activeOnPlatform?: boolean, sourcePlatform?: string, page?: number, size?: number, sort?: Array<string>, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<PageCampaignResponse>>;
51
+ getAllCampaigns(id?: number, advertiserId?: number, name?: string, platformCampaignId?: string, payoutType?: string, marketFeedbackEnabled?: boolean, activeOnPlatform?: boolean, sourcePlatform?: string, page?: number, size?: number, sort?: Array<string>, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<PageCampaignResponse>>;
52
+ /**
53
+ *
54
+ *
55
+ * @param id
56
+ * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
57
+ * @param reportProgress flag to report request and response progress.
58
+ */
59
+ getCampaign(id: number, observe?: 'body', reportProgress?: boolean): Observable<CampaignResponse>;
60
+ getCampaign(id: number, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<CampaignResponse>>;
61
+ getCampaign(id: number, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<CampaignResponse>>;
62
+ /**
63
+ *
64
+ *
65
+ * @param id
66
+ * @param page Zero-based page index (0..N)
67
+ * @param size The size of the page to be returned
68
+ * @param sort Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
69
+ * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
70
+ * @param reportProgress flag to report request and response progress.
71
+ */
72
+ getCampaignLogs(id: number, page?: number, size?: number, sort?: Array<string>, observe?: 'body', reportProgress?: boolean): Observable<PageCampaignChangeLogResponse>;
73
+ getCampaignLogs(id: number, page?: number, size?: number, sort?: Array<string>, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<PageCampaignChangeLogResponse>>;
74
+ getCampaignLogs(id: number, page?: number, size?: number, sort?: Array<string>, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<PageCampaignChangeLogResponse>>;
75
+ /**
76
+ *
77
+ *
78
+ * @param body
79
+ * @param id
80
+ * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
81
+ * @param reportProgress flag to report request and response progress.
82
+ */
83
+ scheduleUpdate(body: CampaignUpdateRequest, id: number, observe?: 'body', reportProgress?: boolean): Observable<CampaignResponse>;
84
+ scheduleUpdate(body: CampaignUpdateRequest, id: number, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<CampaignResponse>>;
85
+ scheduleUpdate(body: CampaignUpdateRequest, id: number, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<CampaignResponse>>;
86
+ /**
87
+ *
88
+ *
89
+ * @param q
90
+ * @param sourcePlatform
91
+ * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
92
+ * @param reportProgress flag to report request and response progress.
93
+ */
94
+ searchCampaign(q: string, sourcePlatform: string, observe?: 'body', reportProgress?: boolean): Observable<Array<CampaignSearchResponse>>;
95
+ searchCampaign(q: string, sourcePlatform: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<Array<CampaignSearchResponse>>>;
96
+ searchCampaign(q: string, sourcePlatform: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<Array<CampaignSearchResponse>>>;
97
+ /**
98
+ *
99
+ *
100
+ * @param id
101
+ * @param active
102
+ * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
103
+ * @param reportProgress flag to report request and response progress.
104
+ */
105
+ setStatus(id: number, active: boolean, observe?: 'body', reportProgress?: boolean): Observable<CampaignResponse>;
106
+ setStatus(id: number, active: boolean, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<CampaignResponse>>;
107
+ setStatus(id: number, active: boolean, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<CampaignResponse>>;
108
+ static ɵfac: i0.ɵɵFactoryDeclaration<CampaignControllerService, [null, { optional: true; }, { optional: true; }]>;
109
+ static ɵprov: i0.ɵɵInjectableDeclaration<CampaignControllerService>;
110
+ }
@@ -3,7 +3,7 @@ import { Observable } from 'rxjs';
3
3
  import { CampaignInsightsResponse } from '../model/campaignInsightsResponse';
4
4
  import { Configuration } from '../configuration';
5
5
  import * as i0 from "@angular/core";
6
- export declare class CampaignInsightsControllerService {
6
+ export declare class InsightsControllerService {
7
7
  protected httpClient: HttpClient;
8
8
  protected basePath: string;
9
9
  defaultHeaders: HttpHeaders;
@@ -19,13 +19,14 @@ export declare class CampaignInsightsControllerService {
19
19
  *
20
20
  * @param startDate
21
21
  * @param endDate
22
+ * @param sourcePlatform
22
23
  * @param interval
23
24
  * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
24
25
  * @param reportProgress flag to report request and response progress.
25
26
  */
26
- getCampaignInsights(startDate: string, endDate: string, interval: string, observe?: 'body', reportProgress?: boolean): Observable<CampaignInsightsResponse>;
27
- getCampaignInsights(startDate: string, endDate: string, interval: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<CampaignInsightsResponse>>;
28
- getCampaignInsights(startDate: string, endDate: string, interval: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<CampaignInsightsResponse>>;
29
- static ɵfac: i0.ɵɵFactoryDeclaration<CampaignInsightsControllerService, [null, { optional: true; }, { optional: true; }]>;
30
- static ɵprov: i0.ɵɵInjectableDeclaration<CampaignInsightsControllerService>;
27
+ getCampaignInsights(startDate: string, endDate: string, sourcePlatform: string, interval: string, observe?: 'body', reportProgress?: boolean): Observable<CampaignInsightsResponse>;
28
+ getCampaignInsights(startDate: string, endDate: string, sourcePlatform: string, interval: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<CampaignInsightsResponse>>;
29
+ getCampaignInsights(startDate: string, endDate: string, sourcePlatform: string, interval: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<CampaignInsightsResponse>>;
30
+ static ɵfac: i0.ɵɵFactoryDeclaration<InsightsControllerService, [null, { optional: true; }, { optional: true; }]>;
31
+ static ɵprov: i0.ɵɵInjectableDeclaration<InsightsControllerService>;
31
32
  }
@@ -44,9 +44,9 @@ export class AdvertiserControllerService {
44
44
  }
45
45
  return false;
46
46
  }
47
- createCampaign(body, observe = 'body', reportProgress = false) {
48
- if (body === null || body === undefined) {
49
- throw new Error('Required parameter body was null or undefined when calling createCampaign.');
47
+ getAdvertiser(id, observe = 'body', reportProgress = false) {
48
+ if (id === null || id === undefined) {
49
+ throw new Error('Required parameter id was null or undefined when calling getAdvertiser.');
50
50
  }
51
51
  let headers = this.defaultHeaders;
52
52
  // to determine the Accept header
@@ -58,31 +58,21 @@ export class AdvertiserControllerService {
58
58
  headers = headers.set('Accept', httpHeaderAcceptSelected);
59
59
  }
60
60
  // to determine the Content-Type header
61
- const consumes = [
62
- 'application/json'
63
- ];
64
- const httpContentTypeSelected = this.configuration.selectHeaderContentType(consumes);
65
- if (httpContentTypeSelected != undefined) {
66
- headers = headers.set('Content-Type', httpContentTypeSelected);
67
- }
68
- return this.httpClient.request('post', `${this.basePath}/api/advertiser`, {
69
- body: body,
61
+ const consumes = [];
62
+ return this.httpClient.request('get', `${this.basePath}/api/advertiser/${encodeURIComponent(String(id))}`, {
70
63
  withCredentials: this.configuration.withCredentials,
71
64
  headers: headers,
72
65
  observe: observe,
73
66
  reportProgress: reportProgress
74
67
  });
75
68
  }
76
- getAllCampaigns(name, vizardPackageId, status, page, size, sort, observe = 'body', reportProgress = false) {
69
+ getAllAdvertisers(name, isActive, page, size, sort, observe = 'body', reportProgress = false) {
77
70
  let queryParameters = new HttpParams({ encoder: new CustomHttpUrlEncodingCodec() });
78
71
  if (name !== undefined && name !== null) {
79
72
  queryParameters = queryParameters.set('name', name);
80
73
  }
81
- if (vizardPackageId !== undefined && vizardPackageId !== null) {
82
- queryParameters = queryParameters.set('vizardPackageId', vizardPackageId);
83
- }
84
- if (status !== undefined && status !== null) {
85
- queryParameters = queryParameters.set('status', status);
74
+ if (isActive !== undefined && isActive !== null) {
75
+ queryParameters = queryParameters.set('isActive', isActive);
86
76
  }
87
77
  if (page !== undefined && page !== null) {
88
78
  queryParameters = queryParameters.set('page', page);
@@ -114,31 +104,9 @@ export class AdvertiserControllerService {
114
104
  reportProgress: reportProgress
115
105
  });
116
106
  }
117
- getCampaign(id, observe = 'body', reportProgress = false) {
118
- if (id === null || id === undefined) {
119
- throw new Error('Required parameter id was null or undefined when calling getCampaign.');
120
- }
121
- let headers = this.defaultHeaders;
122
- // to determine the Accept header
123
- let httpHeaderAccepts = [
124
- '*/*'
125
- ];
126
- const httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
127
- if (httpHeaderAcceptSelected != undefined) {
128
- headers = headers.set('Accept', httpHeaderAcceptSelected);
129
- }
130
- // to determine the Content-Type header
131
- const consumes = [];
132
- return this.httpClient.request('get', `${this.basePath}/api/advertiser/${encodeURIComponent(String(id))}`, {
133
- withCredentials: this.configuration.withCredentials,
134
- headers: headers,
135
- observe: observe,
136
- reportProgress: reportProgress
137
- });
138
- }
139
- searchCampaigns(q, observe = 'body', reportProgress = false) {
107
+ searchAdvertisers(q, observe = 'body', reportProgress = false) {
140
108
  if (q === null || q === undefined) {
141
- throw new Error('Required parameter q was null or undefined when calling searchCampaigns.');
109
+ throw new Error('Required parameter q was null or undefined when calling searchAdvertisers.');
142
110
  }
143
111
  let queryParameters = new HttpParams({ encoder: new CustomHttpUrlEncodingCodec() });
144
112
  if (q !== undefined && q !== null) {
@@ -176,4 +144,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
176
144
  }] }, { type: i2.Configuration, decorators: [{
177
145
  type: Optional
178
146
  }] }]; } });
179
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2ZXJ0aXNlckNvbnRyb2xsZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2FwaS9hZHZlcnRpc2VyQ29udHJvbGxlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7O0dBVUcsQ0FBQSx1REFBdUQ7QUFFMUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQTJCLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQWMsV0FBVyxFQUFFLFVBQVUsRUFDVixNQUFnQyxzQkFBc0IsQ0FBQztBQUN6RixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBNkIsWUFBWSxDQUFDO0FBUy9FLE9BQU8sRUFBRSxTQUFTLEVBQXNCLE1BQTBCLGNBQWMsQ0FBQztBQUNqRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQTBDLGtCQUFrQixDQUFDOzs7O0FBSXJGLE1BQU0sT0FBTywyQkFBMkI7SUFNcEMsWUFBc0IsVUFBc0IsRUFBZ0MsUUFBZ0IsRUFBYyxhQUE0QjtRQUFoSCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBSmxDLGFBQVEsR0FBRyxvQ0FBb0MsQ0FBQztRQUNuRCxtQkFBYyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFDbkMsa0JBQWEsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBR3ZDLElBQUksUUFBUSxFQUFFO1lBQ1YsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7U0FDNUI7UUFDRCxJQUFJLGFBQWEsRUFBRTtZQUNmLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1lBQ25DLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxJQUFJLGFBQWEsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQztTQUN2RTtJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSyxjQUFjLENBQUMsUUFBa0I7UUFDckMsTUFBTSxJQUFJLEdBQUcscUJBQXFCLENBQUM7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QWMsQ0FBQztRQUVsQyxpQ0FBaUM7UUFDakMsSUFBSSxpQkFBaUIsR0FBYTtZQUM5QixLQUFLO1NBQ1IsQ0FBQztRQUNGLE1BQU0sd0JBQXdCLEdBQXVCLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM5RyxJQUFJLHdCQUF3QixJQUFJLFNBQVMsRUFBRTtZQUN2QyxPQUFPLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsd0JBQXdCLENBQUMsQ0FBQztTQUM3RDtRQUVELHVDQUF1QztRQUN2QyxNQUFNLFFBQVEsR0FBYSxFQUMxQixDQUFDO1FBRUYsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBZ0MsS0FBSyxFQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsd0JBQXdCLEVBQ3hHO1lBQ0ksTUFBTSxFQUFFLGVBQWU7WUFDdkIsZUFBZSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZTtZQUNuRCxPQUFPLEVBQUUsT0FBTztZQUNoQixPQUFPLEVBQUUsT0FBTztZQUNoQixjQUFjLEVBQUUsY0FBYztTQUNqQyxDQUNKLENBQUM7SUFDTixDQUFDOzt5SEEzT1EsMkJBQTJCLDRDQU02QixTQUFTOzZIQU5qRSwyQkFBMkI7NEZBQTNCLDJCQUEyQjtrQkFEdkMsVUFBVTs7MEJBT3dDLFFBQVE7OzBCQUFHLE1BQU07MkJBQUMsU0FBUzs7MEJBQXFCLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEludGVsbGliaWQgQVBJXG4gKiBBUEkgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIEludGVsbGliaWQgcGxhdGZvcm1cbiAqXG4gKiBPcGVuQVBJIHNwZWMgdmVyc2lvbjogMS4wXG4gKiBcbiAqXG4gKiBOT1RFOiBUaGlzIGNsYXNzIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IHRoZSBzd2FnZ2VyIGNvZGUgZ2VuZXJhdG9yIHByb2dyYW0uXG4gKiBodHRwczovL2dpdGh1Yi5jb20vc3dhZ2dlci1hcGkvc3dhZ2dlci1jb2RlZ2VuLmdpdFxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxuICovLyogdHNsaW50OmRpc2FibGU6bm8tdW51c2VkLXZhcmlhYmxlIG1lbWJlci1vcmRlcmluZyAqL1xuXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gICAgICAgICAgICAgICAgICAgICAgZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycywgSHR0cFBhcmFtcyxcbiAgICAgICAgIEh0dHBSZXNwb25zZSwgSHR0cEV2ZW50IH0gICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBDdXN0b21IdHRwVXJsRW5jb2RpbmdDb2RlYyB9ICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSAnLi4vZW5jb2Rlcic7XG5cbmltcG9ydCB7IE9ic2VydmFibGUgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQ2FtcGFpZ25SZXNwb25zZSB9IGZyb20gJy4uL21vZGVsL2NhbXBhaWduUmVzcG9uc2UnO1xuaW1wb3J0IHsgQ2FtcGFpZ25TZWFyY2hSZXNwb25zZSB9IGZyb20gJy4uL21vZGVsL2NhbXBhaWduU2VhcmNoUmVzcG9uc2UnO1xuaW1wb3J0IHsgQ3JlYXRlQ2FtcGFpZ25SZXF1ZXN0IH0gZnJvbSAnLi4vbW9kZWwvY3JlYXRlQ2FtcGFpZ25SZXF1ZXN0JztcbmltcG9ydCB7IFBhZ2VDYW1wYWlnblJlc3BvbnNlIH0gZnJvbSAnLi4vbW9kZWwvcGFnZUNhbXBhaWduUmVzcG9uc2UnO1xuXG5pbXBvcnQgeyBCQVNFX1BBVEgsIENPTExFQ1RJT05fRk9STUFUUyB9ICAgICAgICAgICAgICAgICAgICAgZnJvbSAnLi4vdmFyaWFibGVzJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb24gfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tICcuLi9jb25maWd1cmF0aW9uJztcblxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQWR2ZXJ0aXNlckNvbnRyb2xsZXJTZXJ2aWNlIHtcblxuICAgIHByb3RlY3RlZCBiYXNlUGF0aCA9ICdodHRwOi8vZGV2MS1pbnRlbGxpYmlkLXN2Yy5yZXZ4LmlvJztcbiAgICBwdWJsaWMgZGVmYXVsdEhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKTtcbiAgICBwdWJsaWMgY29uZmlndXJhdGlvbiA9IG5ldyBDb25maWd1cmF0aW9uKCk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaHR0cENsaWVudDogSHR0cENsaWVudCwgQE9wdGlvbmFsKClASW5qZWN0KEJBU0VfUEFUSCkgYmFzZVBhdGg6IHN0cmluZywgQE9wdGlvbmFsKCkgY29uZmlndXJhdGlvbjogQ29uZmlndXJhdGlvbikge1xuICAgICAgICBpZiAoYmFzZVBhdGgpIHtcbiAgICAgICAgICAgIHRoaXMuYmFzZVBhdGggPSBiYXNlUGF0aDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY29uZmlndXJhdGlvbikge1xuICAgICAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uID0gY29uZmlndXJhdGlvbjtcbiAgICAgICAgICAgIHRoaXMuYmFzZVBhdGggPSBiYXNlUGF0aCB8fCBjb25maWd1cmF0aW9uLmJhc2VQYXRoIHx8IHRoaXMuYmFzZVBhdGg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gY29uc3VtZXMgc3RyaW5nW10gbWltZS10eXBlc1xuICAgICAqIEByZXR1cm4gdHJ1ZTogY29uc3VtZXMgY29udGFpbnMgJ211bHRpcGFydC9mb3JtLWRhdGEnLCBmYWxzZTogb3RoZXJ3aXNlXG4gICAgICovXG4gICAgcHJpdmF0ZSBjYW5Db25zdW1lRm9ybShjb25zdW1lczogc3RyaW5nW10pOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgZm9ybSA9ICdtdWx0aXBhcnQvZm9ybS1kYXRhJztcbiAgICAgICAgZm9yIChjb25zdCBjb25zdW1lIG9mIGNvbnN1bWVzKSB7XG4gICAgICAgICAgICBpZiAoZm9ybSA9PT0gY29uc3VtZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cblxuICAgIC8qKlxuICAgICAqIFxuICAgICAqIFxuICAgICAqIEBwYXJhbSBib2R5IFxuICAgICAqIEBwYXJhbSBvYnNlcnZlIHNldCB3aGV0aGVyIG9yIG5vdCB0byByZXR1cm4gdGhlIGRhdGEgT2JzZXJ2YWJsZSBhcyB0aGUgYm9keSwgcmVzcG9uc2Ugb3IgZXZlbnRzLiBkZWZhdWx0cyB0byByZXR1cm5pbmcgdGhlIGJvZHkuXG4gICAgICogQHBhcmFtIHJlcG9ydFByb2dyZXNzIGZsYWcgdG8gcmVwb3J0IHJlcXVlc3QgYW5kIHJlc3BvbnNlIHByb2dyZXNzLlxuICAgICAqL1xuICAgIHB1YmxpYyBjcmVhdGVDYW1wYWlnbihib2R5OiBDcmVhdGVDYW1wYWlnblJlcXVlc3QsIG9ic2VydmU/OiAnYm9keScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8Q2FtcGFpZ25SZXNwb25zZT47XG4gICAgcHVibGljIGNyZWF0ZUNhbXBhaWduKGJvZHk6IENyZWF0ZUNhbXBhaWduUmVxdWVzdCwgb2JzZXJ2ZT86ICdyZXNwb25zZScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPENhbXBhaWduUmVzcG9uc2U+PjtcbiAgICBwdWJsaWMgY3JlYXRlQ2FtcGFpZ24oYm9keTogQ3JlYXRlQ2FtcGFpZ25SZXF1ZXN0LCBvYnNlcnZlPzogJ2V2ZW50cycsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8SHR0cEV2ZW50PENhbXBhaWduUmVzcG9uc2U+PjtcbiAgICBwdWJsaWMgY3JlYXRlQ2FtcGFpZ24oYm9keTogQ3JlYXRlQ2FtcGFpZ25SZXF1ZXN0LCBvYnNlcnZlOiBhbnkgPSAnYm9keScsIHJlcG9ydFByb2dyZXNzOiBib29sZWFuID0gZmFsc2UgKTogT2JzZXJ2YWJsZTxhbnk+IHtcblxuICAgICAgICBpZiAoYm9keSA9PT0gbnVsbCB8fCBib2R5ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUmVxdWlyZWQgcGFyYW1ldGVyIGJvZHkgd2FzIG51bGwgb3IgdW5kZWZpbmVkIHdoZW4gY2FsbGluZyBjcmVhdGVDYW1wYWlnbi4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBoZWFkZXJzID0gdGhpcy5kZWZhdWx0SGVhZGVycztcblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIEFjY2VwdCBoZWFkZXJcbiAgICAgICAgbGV0IGh0dHBIZWFkZXJBY2NlcHRzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgICAgICcqLyonXG4gICAgICAgIF07XG4gICAgICAgIGNvbnN0IGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckFjY2VwdChodHRwSGVhZGVyQWNjZXB0cyk7XG4gICAgICAgIGlmIChodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0FjY2VwdCcsIGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIENvbnRlbnQtVHlwZSBoZWFkZXJcbiAgICAgICAgY29uc3QgY29uc3VtZXM6IHN0cmluZ1tdID0gW1xuICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgIF07XG4gICAgICAgIGNvbnN0IGh0dHBDb250ZW50VHlwZVNlbGVjdGVkOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB0aGlzLmNvbmZpZ3VyYXRpb24uc2VsZWN0SGVhZGVyQ29udGVudFR5cGUoY29uc3VtZXMpO1xuICAgICAgICBpZiAoaHR0cENvbnRlbnRUeXBlU2VsZWN0ZWQgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0NvbnRlbnQtVHlwZScsIGh0dHBDb250ZW50VHlwZVNlbGVjdGVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucmVxdWVzdDxDYW1wYWlnblJlc3BvbnNlPigncG9zdCcsYCR7dGhpcy5iYXNlUGF0aH0vYXBpL2FkdmVydGlzZXJgLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGJvZHk6IGJvZHksXG4gICAgICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0aGlzLmNvbmZpZ3VyYXRpb24ud2l0aENyZWRlbnRpYWxzLFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IGhlYWRlcnMsXG4gICAgICAgICAgICAgICAgb2JzZXJ2ZTogb2JzZXJ2ZSxcbiAgICAgICAgICAgICAgICByZXBvcnRQcm9ncmVzczogcmVwb3J0UHJvZ3Jlc3NcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBcbiAgICAgKiBcbiAgICAgKiBAcGFyYW0gbmFtZSBcbiAgICAgKiBAcGFyYW0gdml6YXJkUGFja2FnZUlkIFxuICAgICAqIEBwYXJhbSBzdGF0dXMgXG4gICAgICogQHBhcmFtIHBhZ2UgWmVyby1iYXNlZCBwYWdlIGluZGV4ICgwLi5OKVxuICAgICAqIEBwYXJhbSBzaXplIFRoZSBzaXplIG9mIHRoZSBwYWdlIHRvIGJlIHJldHVybmVkXG4gICAgICogQHBhcmFtIHNvcnQgU29ydGluZyBjcml0ZXJpYSBpbiB0aGUgZm9ybWF0OiBwcm9wZXJ0eSwoYXNjfGRlc2MpLiBEZWZhdWx0IHNvcnQgb3JkZXIgaXMgYXNjZW5kaW5nLiBNdWx0aXBsZSBzb3J0IGNyaXRlcmlhIGFyZSBzdXBwb3J0ZWQuXG4gICAgICogQHBhcmFtIG9ic2VydmUgc2V0IHdoZXRoZXIgb3Igbm90IHRvIHJldHVybiB0aGUgZGF0YSBPYnNlcnZhYmxlIGFzIHRoZSBib2R5LCByZXNwb25zZSBvciBldmVudHMuIGRlZmF1bHRzIHRvIHJldHVybmluZyB0aGUgYm9keS5cbiAgICAgKiBAcGFyYW0gcmVwb3J0UHJvZ3Jlc3MgZmxhZyB0byByZXBvcnQgcmVxdWVzdCBhbmQgcmVzcG9uc2UgcHJvZ3Jlc3MuXG4gICAgICovXG4gICAgcHVibGljIGdldEFsbENhbXBhaWducyhuYW1lPzogc3RyaW5nLCB2aXphcmRQYWNrYWdlSWQ/OiBudW1iZXIsIHN0YXR1cz86IHN0cmluZywgcGFnZT86IG51bWJlciwgc2l6ZT86IG51bWJlciwgc29ydD86IEFycmF5PHN0cmluZz4sIG9ic2VydmU/OiAnYm9keScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8UGFnZUNhbXBhaWduUmVzcG9uc2U+O1xuICAgIHB1YmxpYyBnZXRBbGxDYW1wYWlnbnMobmFtZT86IHN0cmluZywgdml6YXJkUGFja2FnZUlkPzogbnVtYmVyLCBzdGF0dXM/OiBzdHJpbmcsIHBhZ2U/OiBudW1iZXIsIHNpemU/OiBudW1iZXIsIHNvcnQ/OiBBcnJheTxzdHJpbmc+LCBvYnNlcnZlPzogJ3Jlc3BvbnNlJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8UGFnZUNhbXBhaWduUmVzcG9uc2U+PjtcbiAgICBwdWJsaWMgZ2V0QWxsQ2FtcGFpZ25zKG5hbWU/OiBzdHJpbmcsIHZpemFyZFBhY2thZ2VJZD86IG51bWJlciwgc3RhdHVzPzogc3RyaW5nLCBwYWdlPzogbnVtYmVyLCBzaXplPzogbnVtYmVyLCBzb3J0PzogQXJyYXk8c3RyaW5nPiwgb2JzZXJ2ZT86ICdldmVudHMnLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxQYWdlQ2FtcGFpZ25SZXNwb25zZT4+O1xuICAgIHB1YmxpYyBnZXRBbGxDYW1wYWlnbnMobmFtZT86IHN0cmluZywgdml6YXJkUGFja2FnZUlkPzogbnVtYmVyLCBzdGF0dXM/OiBzdHJpbmcsIHBhZ2U/OiBudW1iZXIsIHNpemU/OiBudW1iZXIsIHNvcnQ/OiBBcnJheTxzdHJpbmc+LCBvYnNlcnZlOiBhbnkgPSAnYm9keScsIHJlcG9ydFByb2dyZXNzOiBib29sZWFuID0gZmFsc2UgKTogT2JzZXJ2YWJsZTxhbnk+IHtcblxuXG5cblxuXG5cblxuICAgICAgICBsZXQgcXVlcnlQYXJhbWV0ZXJzID0gbmV3IEh0dHBQYXJhbXMoe2VuY29kZXI6IG5ldyBDdXN0b21IdHRwVXJsRW5jb2RpbmdDb2RlYygpfSk7XG4gICAgICAgIGlmIChuYW1lICE9PSB1bmRlZmluZWQgJiYgbmFtZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgcXVlcnlQYXJhbWV0ZXJzID0gcXVlcnlQYXJhbWV0ZXJzLnNldCgnbmFtZScsIDxhbnk+bmFtZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZpemFyZFBhY2thZ2VJZCAhPT0gdW5kZWZpbmVkICYmIHZpemFyZFBhY2thZ2VJZCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgcXVlcnlQYXJhbWV0ZXJzID0gcXVlcnlQYXJhbWV0ZXJzLnNldCgndml6YXJkUGFja2FnZUlkJywgPGFueT52aXphcmRQYWNrYWdlSWQpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzdGF0dXMgIT09IHVuZGVmaW5lZCAmJiBzdGF0dXMgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1ldGVycyA9IHF1ZXJ5UGFyYW1ldGVycy5zZXQoJ3N0YXR1cycsIDxhbnk+c3RhdHVzKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocGFnZSAhPT0gdW5kZWZpbmVkICYmIHBhZ2UgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1ldGVycyA9IHF1ZXJ5UGFyYW1ldGVycy5zZXQoJ3BhZ2UnLCA8YW55PnBhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzaXplICE9PSB1bmRlZmluZWQgJiYgc2l6ZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgcXVlcnlQYXJhbWV0ZXJzID0gcXVlcnlQYXJhbWV0ZXJzLnNldCgnc2l6ZScsIDxhbnk+c2l6ZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNvcnQpIHtcbiAgICAgICAgICAgIHNvcnQuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xuICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1ldGVycyA9IHF1ZXJ5UGFyYW1ldGVycy5hcHBlbmQoJ3NvcnQnLCA8YW55PmVsZW1lbnQpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBoZWFkZXJzID0gdGhpcy5kZWZhdWx0SGVhZGVycztcblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIEFjY2VwdCBoZWFkZXJcbiAgICAgICAgbGV0IGh0dHBIZWFkZXJBY2NlcHRzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgICAgICcqLyonXG4gICAgICAgIF07XG4gICAgICAgIGNvbnN0IGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckFjY2VwdChodHRwSGVhZGVyQWNjZXB0cyk7XG4gICAgICAgIGlmIChodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0FjY2VwdCcsIGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIENvbnRlbnQtVHlwZSBoZWFkZXJcbiAgICAgICAgY29uc3QgY29uc3VtZXM6IHN0cmluZ1tdID0gW1xuICAgICAgICBdO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucmVxdWVzdDxQYWdlQ2FtcGFpZ25SZXNwb25zZT4oJ2dldCcsYCR7dGhpcy5iYXNlUGF0aH0vYXBpL2FkdmVydGlzZXJgLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHBhcmFtczogcXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdGhpcy5jb25maWd1cmF0aW9uLndpdGhDcmVkZW50aWFscyxcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiBoZWFkZXJzLFxuICAgICAgICAgICAgICAgIG9ic2VydmU6IG9ic2VydmUsXG4gICAgICAgICAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHJlcG9ydFByb2dyZXNzXG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogXG4gICAgICogXG4gICAgICogQHBhcmFtIGlkIFxuICAgICAqIEBwYXJhbSBvYnNlcnZlIHNldCB3aGV0aGVyIG9yIG5vdCB0byByZXR1cm4gdGhlIGRhdGEgT2JzZXJ2YWJsZSBhcyB0aGUgYm9keSwgcmVzcG9uc2Ugb3IgZXZlbnRzLiBkZWZhdWx0cyB0byByZXR1cm5pbmcgdGhlIGJvZHkuXG4gICAgICogQHBhcmFtIHJlcG9ydFByb2dyZXNzIGZsYWcgdG8gcmVwb3J0IHJlcXVlc3QgYW5kIHJlc3BvbnNlIHByb2dyZXNzLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDYW1wYWlnbihpZDogbnVtYmVyLCBvYnNlcnZlPzogJ2JvZHknLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPENhbXBhaWduUmVzcG9uc2U+O1xuICAgIHB1YmxpYyBnZXRDYW1wYWlnbihpZDogbnVtYmVyLCBvYnNlcnZlPzogJ3Jlc3BvbnNlJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8Q2FtcGFpZ25SZXNwb25zZT4+O1xuICAgIHB1YmxpYyBnZXRDYW1wYWlnbihpZDogbnVtYmVyLCBvYnNlcnZlPzogJ2V2ZW50cycsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8SHR0cEV2ZW50PENhbXBhaWduUmVzcG9uc2U+PjtcbiAgICBwdWJsaWMgZ2V0Q2FtcGFpZ24oaWQ6IG51bWJlciwgb2JzZXJ2ZTogYW55ID0gJ2JvZHknLCByZXBvcnRQcm9ncmVzczogYm9vbGVhbiA9IGZhbHNlICk6IE9ic2VydmFibGU8YW55PiB7XG5cbiAgICAgICAgaWYgKGlkID09PSBudWxsIHx8IGlkID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUmVxdWlyZWQgcGFyYW1ldGVyIGlkIHdhcyBudWxsIG9yIHVuZGVmaW5lZCB3aGVuIGNhbGxpbmcgZ2V0Q2FtcGFpZ24uJyk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgaGVhZGVycyA9IHRoaXMuZGVmYXVsdEhlYWRlcnM7XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBBY2NlcHQgaGVhZGVyXG4gICAgICAgIGxldCBodHRwSGVhZGVyQWNjZXB0czogc3RyaW5nW10gPSBbXG4gICAgICAgICAgICAnKi8qJ1xuICAgICAgICBdO1xuICAgICAgICBjb25zdCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJBY2NlcHQoaHR0cEhlYWRlckFjY2VwdHMpO1xuICAgICAgICBpZiAoaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdBY2NlcHQnLCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBDb250ZW50LVR5cGUgaGVhZGVyXG4gICAgICAgIGNvbnN0IGNvbnN1bWVzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgXTtcblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnJlcXVlc3Q8Q2FtcGFpZ25SZXNwb25zZT4oJ2dldCcsYCR7dGhpcy5iYXNlUGF0aH0vYXBpL2FkdmVydGlzZXIvJHtlbmNvZGVVUklDb21wb25lbnQoU3RyaW5nKGlkKSl9YCxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRoaXMuY29uZmlndXJhdGlvbi53aXRoQ3JlZGVudGlhbHMsXG4gICAgICAgICAgICAgICAgaGVhZGVyczogaGVhZGVycyxcbiAgICAgICAgICAgICAgICBvYnNlcnZlOiBvYnNlcnZlLFxuICAgICAgICAgICAgICAgIHJlcG9ydFByb2dyZXNzOiByZXBvcnRQcm9ncmVzc1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFxuICAgICAqIFxuICAgICAqIEBwYXJhbSBxIFxuICAgICAqIEBwYXJhbSBvYnNlcnZlIHNldCB3aGV0aGVyIG9yIG5vdCB0byByZXR1cm4gdGhlIGRhdGEgT2JzZXJ2YWJsZSBhcyB0aGUgYm9keSwgcmVzcG9uc2Ugb3IgZXZlbnRzLiBkZWZhdWx0cyB0byByZXR1cm5pbmcgdGhlIGJvZHkuXG4gICAgICogQHBhcmFtIHJlcG9ydFByb2dyZXNzIGZsYWcgdG8gcmVwb3J0IHJlcXVlc3QgYW5kIHJlc3BvbnNlIHByb2dyZXNzLlxuICAgICAqL1xuICAgIHB1YmxpYyBzZWFyY2hDYW1wYWlnbnMocTogc3RyaW5nLCBvYnNlcnZlPzogJ2JvZHknLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEFycmF5PENhbXBhaWduU2VhcmNoUmVzcG9uc2U+PjtcbiAgICBwdWJsaWMgc2VhcmNoQ2FtcGFpZ25zKHE6IHN0cmluZywgb2JzZXJ2ZT86ICdyZXNwb25zZScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPEFycmF5PENhbXBhaWduU2VhcmNoUmVzcG9uc2U+Pj47XG4gICAgcHVibGljIHNlYXJjaENhbXBhaWducyhxOiBzdHJpbmcsIG9ic2VydmU/OiAnZXZlbnRzJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8QXJyYXk8Q2FtcGFpZ25TZWFyY2hSZXNwb25zZT4+PjtcbiAgICBwdWJsaWMgc2VhcmNoQ2FtcGFpZ25zKHE6IHN0cmluZywgb2JzZXJ2ZTogYW55ID0gJ2JvZHknLCByZXBvcnRQcm9ncmVzczogYm9vbGVhbiA9IGZhbHNlICk6IE9ic2VydmFibGU8YW55PiB7XG5cbiAgICAgICAgaWYgKHEgPT09IG51bGwgfHwgcSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlcXVpcmVkIHBhcmFtZXRlciBxIHdhcyBudWxsIG9yIHVuZGVmaW5lZCB3aGVuIGNhbGxpbmcgc2VhcmNoQ2FtcGFpZ25zLicpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHF1ZXJ5UGFyYW1ldGVycyA9IG5ldyBIdHRwUGFyYW1zKHtlbmNvZGVyOiBuZXcgQ3VzdG9tSHR0cFVybEVuY29kaW5nQ29kZWMoKX0pO1xuICAgICAgICBpZiAocSAhPT0gdW5kZWZpbmVkICYmIHEgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1ldGVycyA9IHF1ZXJ5UGFyYW1ldGVycy5zZXQoJ3EnLCA8YW55PnEpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGhlYWRlcnMgPSB0aGlzLmRlZmF1bHRIZWFkZXJzO1xuXG4gICAgICAgIC8vIHRvIGRldGVybWluZSB0aGUgQWNjZXB0IGhlYWRlclxuICAgICAgICBsZXQgaHR0cEhlYWRlckFjY2VwdHM6IHN0cmluZ1tdID0gW1xuICAgICAgICAgICAgJyovKidcbiAgICAgICAgXTtcbiAgICAgICAgY29uc3QgaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB0aGlzLmNvbmZpZ3VyYXRpb24uc2VsZWN0SGVhZGVyQWNjZXB0KGh0dHBIZWFkZXJBY2NlcHRzKTtcbiAgICAgICAgaWYgKGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQWNjZXB0JywgaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRvIGRldGVybWluZSB0aGUgQ29udGVudC1UeXBlIGhlYWRlclxuICAgICAgICBjb25zdCBjb25zdW1lczogc3RyaW5nW10gPSBbXG4gICAgICAgIF07XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5yZXF1ZXN0PEFycmF5PENhbXBhaWduU2VhcmNoUmVzcG9uc2U+PignZ2V0JyxgJHt0aGlzLmJhc2VQYXRofS9hcGkvYWR2ZXJ0aXNlci9zZWFyY2hgLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHBhcmFtczogcXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdGhpcy5jb25maWd1cmF0aW9uLndpdGhDcmVkZW50aWFscyxcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiBoZWFkZXJzLFxuICAgICAgICAgICAgICAgIG9ic2VydmU6IG9ic2VydmUsXG4gICAgICAgICAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHJlcG9ydFByb2dyZXNzXG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG59XG4iXX0=
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2ZXJ0aXNlckNvbnRyb2xsZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2FwaS9hZHZlcnRpc2VyQ29udHJvbGxlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7O0dBVUcsQ0FBQSx1REFBdUQ7QUFFMUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQTJCLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQWMsV0FBVyxFQUFFLFVBQVUsRUFDVixNQUFnQyxzQkFBc0IsQ0FBQztBQUN6RixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBNkIsWUFBWSxDQUFDO0FBUS9FLE9BQU8sRUFBRSxTQUFTLEVBQXNCLE1BQTBCLGNBQWMsQ0FBQztBQUNqRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQTBDLGtCQUFrQixDQUFDOzs7O0FBSXJGLE1BQU0sT0FBTywyQkFBMkI7SUFNcEMsWUFBc0IsVUFBc0IsRUFBZ0MsUUFBZ0IsRUFBYyxhQUE0QjtRQUFoSCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBSmxDLGFBQVEsR0FBRyxvQ0FBb0MsQ0FBQztRQUNuRCxtQkFBYyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFDbkMsa0JBQWEsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBR3ZDLElBQUksUUFBUSxFQUFFO1lBQ1YsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7U0FDNUI7UUFDRCxJQUFJLGFBQWEsRUFBRTtZQUNmLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1lBQ25DLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxJQUFJLGFBQWEsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQztTQUN2RTtJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSyxjQUFjLENBQUMsUUFBa0I7UUFDckMsTUFBTSxJQUFJLEdBQUcscUJBQXFCLENBQUM7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QWtCLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM5RyxJQUFJLHdCQUF3QixJQUFJLFNBQVMsRUFBRTtZQUN2QyxPQUFPLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsd0JBQXdCLENBQUMsQ0FBQztTQUM3RDtRQUVELHVDQUF1QztRQUN2QyxNQUFNLFFBQVEsR0FBYSxFQUMxQixDQUFDO1FBRUYsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBa0MsS0FBSyxFQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsd0JBQXdCLEVBQzFHO1lBQ0ksTUFBTSxFQUFFLGVBQWU7WUFDdkIsZUFBZSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZTtZQUNuRCxPQUFPLEVBQUUsT0FBTztZQUNoQixPQUFPLEVBQUUsT0FBTztZQUNoQixjQUFjLEVBQUUsY0FBYztTQUNqQyxDQUNKLENBQUM7SUFDTixDQUFDOzt5SEF2TFEsMkJBQTJCLDRDQU02QixTQUFTOzZIQU5qRSwyQkFBMkI7NEZBQTNCLDJCQUEyQjtrQkFEdkMsVUFBVTs7MEJBT3dDLFFBQVE7OzBCQUFHLE1BQU07MkJBQUMsU0FBUzs7MEJBQXFCLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEludGVsbGliaWQgQVBJXG4gKiBBUEkgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIEludGVsbGliaWQgcGxhdGZvcm1cbiAqXG4gKiBPcGVuQVBJIHNwZWMgdmVyc2lvbjogMS4wXG4gKiBcbiAqXG4gKiBOT1RFOiBUaGlzIGNsYXNzIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IHRoZSBzd2FnZ2VyIGNvZGUgZ2VuZXJhdG9yIHByb2dyYW0uXG4gKiBodHRwczovL2dpdGh1Yi5jb20vc3dhZ2dlci1hcGkvc3dhZ2dlci1jb2RlZ2VuLmdpdFxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxuICovLyogdHNsaW50OmRpc2FibGU6bm8tdW51c2VkLXZhcmlhYmxlIG1lbWJlci1vcmRlcmluZyAqL1xuXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gICAgICAgICAgICAgICAgICAgICAgZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycywgSHR0cFBhcmFtcyxcbiAgICAgICAgIEh0dHBSZXNwb25zZSwgSHR0cEV2ZW50IH0gICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBDdXN0b21IdHRwVXJsRW5jb2RpbmdDb2RlYyB9ICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSAnLi4vZW5jb2Rlcic7XG5cbmltcG9ydCB7IE9ic2VydmFibGUgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQWR2ZXJ0aXNlclJlc3BvbnNlIH0gZnJvbSAnLi4vbW9kZWwvYWR2ZXJ0aXNlclJlc3BvbnNlJztcbmltcG9ydCB7IEFkdmVydGlzZXJTZWFyY2hSZXNwb25zZSB9IGZyb20gJy4uL21vZGVsL2FkdmVydGlzZXJTZWFyY2hSZXNwb25zZSc7XG5pbXBvcnQgeyBQYWdlQWR2ZXJ0aXNlclJlc3BvbnNlIH0gZnJvbSAnLi4vbW9kZWwvcGFnZUFkdmVydGlzZXJSZXNwb25zZSc7XG5cbmltcG9ydCB7IEJBU0VfUEFUSCwgQ09MTEVDVElPTl9GT1JNQVRTIH0gICAgICAgICAgICAgICAgICAgICBmcm9tICcuLi92YXJpYWJsZXMnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbiB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gJy4uL2NvbmZpZ3VyYXRpb24nO1xuXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBZHZlcnRpc2VyQ29udHJvbGxlclNlcnZpY2Uge1xuXG4gICAgcHJvdGVjdGVkIGJhc2VQYXRoID0gJ2h0dHA6Ly9kZXYxLWludGVsbGliaWQtc3ZjLnJldnguaW8nO1xuICAgIHB1YmxpYyBkZWZhdWx0SGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpO1xuICAgIHB1YmxpYyBjb25maWd1cmF0aW9uID0gbmV3IENvbmZpZ3VyYXRpb24oKTtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LCBAT3B0aW9uYWwoKUBJbmplY3QoQkFTRV9QQVRIKSBiYXNlUGF0aDogc3RyaW5nLCBAT3B0aW9uYWwoKSBjb25maWd1cmF0aW9uOiBDb25maWd1cmF0aW9uKSB7XG4gICAgICAgIGlmIChiYXNlUGF0aCkge1xuICAgICAgICAgICAgdGhpcy5iYXNlUGF0aCA9IGJhc2VQYXRoO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjb25maWd1cmF0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb24gPSBjb25maWd1cmF0aW9uO1xuICAgICAgICAgICAgdGhpcy5iYXNlUGF0aCA9IGJhc2VQYXRoIHx8IGNvbmZpZ3VyYXRpb24uYmFzZVBhdGggfHwgdGhpcy5iYXNlUGF0aDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBjb25zdW1lcyBzdHJpbmdbXSBtaW1lLXR5cGVzXG4gICAgICogQHJldHVybiB0cnVlOiBjb25zdW1lcyBjb250YWlucyAnbXVsdGlwYXJ0L2Zvcm0tZGF0YScsIGZhbHNlOiBvdGhlcndpc2VcbiAgICAgKi9cbiAgICBwcml2YXRlIGNhbkNvbnN1bWVGb3JtKGNvbnN1bWVzOiBzdHJpbmdbXSk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBmb3JtID0gJ211bHRpcGFydC9mb3JtLWRhdGEnO1xuICAgICAgICBmb3IgKGNvbnN0IGNvbnN1bWUgb2YgY29uc3VtZXMpIHtcbiAgICAgICAgICAgIGlmIChmb3JtID09PSBjb25zdW1lKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuXG4gICAgLyoqXG4gICAgICogXG4gICAgICogXG4gICAgICogQHBhcmFtIGlkIFxuICAgICAqIEBwYXJhbSBvYnNlcnZlIHNldCB3aGV0aGVyIG9yIG5vdCB0byByZXR1cm4gdGhlIGRhdGEgT2JzZXJ2YWJsZSBhcyB0aGUgYm9keSwgcmVzcG9uc2Ugb3IgZXZlbnRzLiBkZWZhdWx0cyB0byByZXR1cm5pbmcgdGhlIGJvZHkuXG4gICAgICogQHBhcmFtIHJlcG9ydFByb2dyZXNzIGZsYWcgdG8gcmVwb3J0IHJlcXVlc3QgYW5kIHJlc3BvbnNlIHByb2dyZXNzLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRBZHZlcnRpc2VyKGlkOiBudW1iZXIsIG9ic2VydmU/OiAnYm9keScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8QWR2ZXJ0aXNlclJlc3BvbnNlPjtcbiAgICBwdWJsaWMgZ2V0QWR2ZXJ0aXNlcihpZDogbnVtYmVyLCBvYnNlcnZlPzogJ3Jlc3BvbnNlJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8QWR2ZXJ0aXNlclJlc3BvbnNlPj47XG4gICAgcHVibGljIGdldEFkdmVydGlzZXIoaWQ6IG51bWJlciwgb2JzZXJ2ZT86ICdldmVudHMnLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxBZHZlcnRpc2VyUmVzcG9uc2U+PjtcbiAgICBwdWJsaWMgZ2V0QWR2ZXJ0aXNlcihpZDogbnVtYmVyLCBvYnNlcnZlOiBhbnkgPSAnYm9keScsIHJlcG9ydFByb2dyZXNzOiBib29sZWFuID0gZmFsc2UgKTogT2JzZXJ2YWJsZTxhbnk+IHtcblxuICAgICAgICBpZiAoaWQgPT09IG51bGwgfHwgaWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZXF1aXJlZCBwYXJhbWV0ZXIgaWQgd2FzIG51bGwgb3IgdW5kZWZpbmVkIHdoZW4gY2FsbGluZyBnZXRBZHZlcnRpc2VyLicpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGhlYWRlcnMgPSB0aGlzLmRlZmF1bHRIZWFkZXJzO1xuXG4gICAgICAgIC8vIHRvIGRldGVybWluZSB0aGUgQWNjZXB0IGhlYWRlclxuICAgICAgICBsZXQgaHR0cEhlYWRlckFjY2VwdHM6IHN0cmluZ1tdID0gW1xuICAgICAgICAgICAgJyovKidcbiAgICAgICAgXTtcbiAgICAgICAgY29uc3QgaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB0aGlzLmNvbmZpZ3VyYXRpb24uc2VsZWN0SGVhZGVyQWNjZXB0KGh0dHBIZWFkZXJBY2NlcHRzKTtcbiAgICAgICAgaWYgKGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQWNjZXB0JywgaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRvIGRldGVybWluZSB0aGUgQ29udGVudC1UeXBlIGhlYWRlclxuICAgICAgICBjb25zdCBjb25zdW1lczogc3RyaW5nW10gPSBbXG4gICAgICAgIF07XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5yZXF1ZXN0PEFkdmVydGlzZXJSZXNwb25zZT4oJ2dldCcsYCR7dGhpcy5iYXNlUGF0aH0vYXBpL2FkdmVydGlzZXIvJHtlbmNvZGVVUklDb21wb25lbnQoU3RyaW5nKGlkKSl9YCxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRoaXMuY29uZmlndXJhdGlvbi53aXRoQ3JlZGVudGlhbHMsXG4gICAgICAgICAgICAgICAgaGVhZGVyczogaGVhZGVycyxcbiAgICAgICAgICAgICAgICBvYnNlcnZlOiBvYnNlcnZlLFxuICAgICAgICAgICAgICAgIHJlcG9ydFByb2dyZXNzOiByZXBvcnRQcm9ncmVzc1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFxuICAgICAqIFxuICAgICAqIEBwYXJhbSBuYW1lIFxuICAgICAqIEBwYXJhbSBpc0FjdGl2ZSBcbiAgICAgKiBAcGFyYW0gcGFnZSBaZXJvLWJhc2VkIHBhZ2UgaW5kZXggKDAuLk4pXG4gICAgICogQHBhcmFtIHNpemUgVGhlIHNpemUgb2YgdGhlIHBhZ2UgdG8gYmUgcmV0dXJuZWRcbiAgICAgKiBAcGFyYW0gc29ydCBTb3J0aW5nIGNyaXRlcmlhIGluIHRoZSBmb3JtYXQ6IHByb3BlcnR5LChhc2N8ZGVzYykuIERlZmF1bHQgc29ydCBvcmRlciBpcyBhc2NlbmRpbmcuIE11bHRpcGxlIHNvcnQgY3JpdGVyaWEgYXJlIHN1cHBvcnRlZC5cbiAgICAgKiBAcGFyYW0gb2JzZXJ2ZSBzZXQgd2hldGhlciBvciBub3QgdG8gcmV0dXJuIHRoZSBkYXRhIE9ic2VydmFibGUgYXMgdGhlIGJvZHksIHJlc3BvbnNlIG9yIGV2ZW50cy4gZGVmYXVsdHMgdG8gcmV0dXJuaW5nIHRoZSBib2R5LlxuICAgICAqIEBwYXJhbSByZXBvcnRQcm9ncmVzcyBmbGFnIHRvIHJlcG9ydCByZXF1ZXN0IGFuZCByZXNwb25zZSBwcm9ncmVzcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0QWxsQWR2ZXJ0aXNlcnMobmFtZT86IHN0cmluZywgaXNBY3RpdmU/OiBib29sZWFuLCBwYWdlPzogbnVtYmVyLCBzaXplPzogbnVtYmVyLCBzb3J0PzogQXJyYXk8c3RyaW5nPiwgb2JzZXJ2ZT86ICdib2R5JywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxQYWdlQWR2ZXJ0aXNlclJlc3BvbnNlPjtcbiAgICBwdWJsaWMgZ2V0QWxsQWR2ZXJ0aXNlcnMobmFtZT86IHN0cmluZywgaXNBY3RpdmU/OiBib29sZWFuLCBwYWdlPzogbnVtYmVyLCBzaXplPzogbnVtYmVyLCBzb3J0PzogQXJyYXk8c3RyaW5nPiwgb2JzZXJ2ZT86ICdyZXNwb25zZScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPFBhZ2VBZHZlcnRpc2VyUmVzcG9uc2U+PjtcbiAgICBwdWJsaWMgZ2V0QWxsQWR2ZXJ0aXNlcnMobmFtZT86IHN0cmluZywgaXNBY3RpdmU/OiBib29sZWFuLCBwYWdlPzogbnVtYmVyLCBzaXplPzogbnVtYmVyLCBzb3J0PzogQXJyYXk8c3RyaW5nPiwgb2JzZXJ2ZT86ICdldmVudHMnLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxQYWdlQWR2ZXJ0aXNlclJlc3BvbnNlPj47XG4gICAgcHVibGljIGdldEFsbEFkdmVydGlzZXJzKG5hbWU/OiBzdHJpbmcsIGlzQWN0aXZlPzogYm9vbGVhbiwgcGFnZT86IG51bWJlciwgc2l6ZT86IG51bWJlciwgc29ydD86IEFycmF5PHN0cmluZz4sIG9ic2VydmU6IGFueSA9ICdib2R5JywgcmVwb3J0UHJvZ3Jlc3M6IGJvb2xlYW4gPSBmYWxzZSApOiBPYnNlcnZhYmxlPGFueT4ge1xuXG5cblxuXG5cblxuICAgICAgICBsZXQgcXVlcnlQYXJhbWV0ZXJzID0gbmV3IEh0dHBQYXJhbXMoe2VuY29kZXI6IG5ldyBDdXN0b21IdHRwVXJsRW5jb2RpbmdDb2RlYygpfSk7XG4gICAgICAgIGlmIChuYW1lICE9PSB1bmRlZmluZWQgJiYgbmFtZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgcXVlcnlQYXJhbWV0ZXJzID0gcXVlcnlQYXJhbWV0ZXJzLnNldCgnbmFtZScsIDxhbnk+bmFtZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzQWN0aXZlICE9PSB1bmRlZmluZWQgJiYgaXNBY3RpdmUgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1ldGVycyA9IHF1ZXJ5UGFyYW1ldGVycy5zZXQoJ2lzQWN0aXZlJywgPGFueT5pc0FjdGl2ZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHBhZ2UgIT09IHVuZGVmaW5lZCAmJiBwYWdlICE9PSBudWxsKSB7XG4gICAgICAgICAgICBxdWVyeVBhcmFtZXRlcnMgPSBxdWVyeVBhcmFtZXRlcnMuc2V0KCdwYWdlJywgPGFueT5wYWdlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc2l6ZSAhPT0gdW5kZWZpbmVkICYmIHNpemUgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1ldGVycyA9IHF1ZXJ5UGFyYW1ldGVycy5zZXQoJ3NpemUnLCA8YW55PnNpemUpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzb3J0KSB7XG4gICAgICAgICAgICBzb3J0LmZvckVhY2goKGVsZW1lbnQpID0+IHtcbiAgICAgICAgICAgICAgICBxdWVyeVBhcmFtZXRlcnMgPSBxdWVyeVBhcmFtZXRlcnMuYXBwZW5kKCdzb3J0JywgPGFueT5lbGVtZW50KTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgIH1cblxuICAgICAgICBsZXQgaGVhZGVycyA9IHRoaXMuZGVmYXVsdEhlYWRlcnM7XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBBY2NlcHQgaGVhZGVyXG4gICAgICAgIGxldCBodHRwSGVhZGVyQWNjZXB0czogc3RyaW5nW10gPSBbXG4gICAgICAgICAgICAnKi8qJ1xuICAgICAgICBdO1xuICAgICAgICBjb25zdCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJBY2NlcHQoaHR0cEhlYWRlckFjY2VwdHMpO1xuICAgICAgICBpZiAoaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdBY2NlcHQnLCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBDb250ZW50LVR5cGUgaGVhZGVyXG4gICAgICAgIGNvbnN0IGNvbnN1bWVzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgXTtcblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnJlcXVlc3Q8UGFnZUFkdmVydGlzZXJSZXNwb25zZT4oJ2dldCcsYCR7dGhpcy5iYXNlUGF0aH0vYXBpL2FkdmVydGlzZXJgLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHBhcmFtczogcXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdGhpcy5jb25maWd1cmF0aW9uLndpdGhDcmVkZW50aWFscyxcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiBoZWFkZXJzLFxuICAgICAgICAgICAgICAgIG9ic2VydmU6IG9ic2VydmUsXG4gICAgICAgICAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHJlcG9ydFByb2dyZXNzXG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogXG4gICAgICogXG4gICAgICogQHBhcmFtIHEgXG4gICAgICogQHBhcmFtIG9ic2VydmUgc2V0IHdoZXRoZXIgb3Igbm90IHRvIHJldHVybiB0aGUgZGF0YSBPYnNlcnZhYmxlIGFzIHRoZSBib2R5LCByZXNwb25zZSBvciBldmVudHMuIGRlZmF1bHRzIHRvIHJldHVybmluZyB0aGUgYm9keS5cbiAgICAgKiBAcGFyYW0gcmVwb3J0UHJvZ3Jlc3MgZmxhZyB0byByZXBvcnQgcmVxdWVzdCBhbmQgcmVzcG9uc2UgcHJvZ3Jlc3MuXG4gICAgICovXG4gICAgcHVibGljIHNlYXJjaEFkdmVydGlzZXJzKHE6IHN0cmluZywgb2JzZXJ2ZT86ICdib2R5JywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxBcnJheTxBZHZlcnRpc2VyU2VhcmNoUmVzcG9uc2U+PjtcbiAgICBwdWJsaWMgc2VhcmNoQWR2ZXJ0aXNlcnMocTogc3RyaW5nLCBvYnNlcnZlPzogJ3Jlc3BvbnNlJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8QXJyYXk8QWR2ZXJ0aXNlclNlYXJjaFJlc3BvbnNlPj4+O1xuICAgIHB1YmxpYyBzZWFyY2hBZHZlcnRpc2VycyhxOiBzdHJpbmcsIG9ic2VydmU/OiAnZXZlbnRzJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8QXJyYXk8QWR2ZXJ0aXNlclNlYXJjaFJlc3BvbnNlPj4+O1xuICAgIHB1YmxpYyBzZWFyY2hBZHZlcnRpc2VycyhxOiBzdHJpbmcsIG9ic2VydmU6IGFueSA9ICdib2R5JywgcmVwb3J0UHJvZ3Jlc3M6IGJvb2xlYW4gPSBmYWxzZSApOiBPYnNlcnZhYmxlPGFueT4ge1xuXG4gICAgICAgIGlmIChxID09PSBudWxsIHx8IHEgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZXF1aXJlZCBwYXJhbWV0ZXIgcSB3YXMgbnVsbCBvciB1bmRlZmluZWQgd2hlbiBjYWxsaW5nIHNlYXJjaEFkdmVydGlzZXJzLicpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHF1ZXJ5UGFyYW1ldGVycyA9IG5ldyBIdHRwUGFyYW1zKHtlbmNvZGVyOiBuZXcgQ3VzdG9tSHR0cFVybEVuY29kaW5nQ29kZWMoKX0pO1xuICAgICAgICBpZiAocSAhPT0gdW5kZWZpbmVkICYmIHEgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1ldGVycyA9IHF1ZXJ5UGFyYW1ldGVycy5zZXQoJ3EnLCA8YW55PnEpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGhlYWRlcnMgPSB0aGlzLmRlZmF1bHRIZWFkZXJzO1xuXG4gICAgICAgIC8vIHRvIGRldGVybWluZSB0aGUgQWNjZXB0IGhlYWRlclxuICAgICAgICBsZXQgaHR0cEhlYWRlckFjY2VwdHM6IHN0cmluZ1tdID0gW1xuICAgICAgICAgICAgJyovKidcbiAgICAgICAgXTtcbiAgICAgICAgY29uc3QgaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB0aGlzLmNvbmZpZ3VyYXRpb24uc2VsZWN0SGVhZGVyQWNjZXB0KGh0dHBIZWFkZXJBY2NlcHRzKTtcbiAgICAgICAgaWYgKGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQWNjZXB0JywgaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRvIGRldGVybWluZSB0aGUgQ29udGVudC1UeXBlIGhlYWRlclxuICAgICAgICBjb25zdCBjb25zdW1lczogc3RyaW5nW10gPSBbXG4gICAgICAgIF07XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5yZXF1ZXN0PEFycmF5PEFkdmVydGlzZXJTZWFyY2hSZXNwb25zZT4+KCdnZXQnLGAke3RoaXMuYmFzZVBhdGh9L2FwaS9hZHZlcnRpc2VyL3NlYXJjaGAsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcGFyYW1zOiBxdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0aGlzLmNvbmZpZ3VyYXRpb24ud2l0aENyZWRlbnRpYWxzLFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IGhlYWRlcnMsXG4gICAgICAgICAgICAgICAgb2JzZXJ2ZTogb2JzZXJ2ZSxcbiAgICAgICAgICAgICAgICByZXBvcnRQcm9ncmVzczogcmVwb3J0UHJvZ3Jlc3NcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbn1cbiJdfQ==
@@ -1,34 +1,8 @@
1
1
  export * from './advertiserController.service';
2
2
  import { AdvertiserControllerService } from './advertiserController.service';
3
- export * from './businessGeoController.service';
4
- import { BusinessGeoControllerService } from './businessGeoController.service';
5
- export * from './campaignInsightsController.service';
6
- import { CampaignInsightsControllerService } from './campaignInsightsController.service';
7
- export * from './dpaCampaignController.service';
8
- import { DpaCampaignControllerService } from './dpaCampaignController.service';
9
- export * from './dpaEngagementController.service';
10
- import { DpaEngagementControllerService } from './dpaEngagementController.service';
11
- export * from './facebookAdImageController.service';
12
- import { FacebookAdImageControllerService } from './facebookAdImageController.service';
13
- export * from './facebookAdVideoController.service';
14
- import { FacebookAdVideoControllerService } from './facebookAdVideoController.service';
15
- export * from './facebookEngagementController.service';
16
- import { FacebookEngagementControllerService } from './facebookEngagementController.service';
17
- export * from './mobileAppDetailController.service';
18
- import { MobileAppDetailControllerService } from './mobileAppDetailController.service';
19
- export * from './packageDetailController.service';
20
- import { PackageDetailControllerService } from './packageDetailController.service';
21
- export * from './sourcePlatformMETAController.service';
22
- import { SourcePlatformMETAControllerService } from './sourcePlatformMETAController.service';
23
- export * from './sourcePlatformMETADictionaryController.service';
24
- import { SourcePlatformMETADictionaryControllerService } from './sourcePlatformMETADictionaryController.service';
25
- export * from './sourcePlatformTIKTOKController.service';
26
- import { SourcePlatformTIKTOKControllerService } from './sourcePlatformTIKTOKController.service';
27
- export * from './sourcePlatformTIKTOKDictionaryController.service';
28
- import { SourcePlatformTIKTOKDictionaryControllerService } from './sourcePlatformTIKTOKDictionaryController.service';
29
- export * from './tiktokAudienceController.service';
30
- import { TiktokAudienceControllerService } from './tiktokAudienceController.service';
31
- export * from './tiktokEngagementController.service';
32
- import { TiktokEngagementControllerService } from './tiktokEngagementController.service';
33
- export const APIS = [AdvertiserControllerService, BusinessGeoControllerService, CampaignInsightsControllerService, DpaCampaignControllerService, DpaEngagementControllerService, FacebookAdImageControllerService, FacebookAdVideoControllerService, FacebookEngagementControllerService, MobileAppDetailControllerService, PackageDetailControllerService, SourcePlatformMETAControllerService, SourcePlatformMETADictionaryControllerService, SourcePlatformTIKTOKControllerService, SourcePlatformTIKTOKDictionaryControllerService, TiktokAudienceControllerService, TiktokEngagementControllerService];
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vYXBpL2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzdFLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDL0UsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN6RixjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9FLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbkYsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN2RixjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3ZGLGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDN0YsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN2RixjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25GLGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDN0YsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxPQUFPLEVBQUUsNkNBQTZDLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUNqSCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2pHLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsT0FBTyxFQUFFLCtDQUErQyxFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDckgsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNyRixjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pGLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLDJCQUEyQixFQUFFLDRCQUE0QixFQUFFLGlDQUFpQyxFQUFFLDRCQUE0QixFQUFFLDhCQUE4QixFQUFFLGdDQUFnQyxFQUFFLGdDQUFnQyxFQUFFLG1DQUFtQyxFQUFFLGdDQUFnQyxFQUFFLDhCQUE4QixFQUFFLG1DQUFtQyxFQUFFLDZDQUE2QyxFQUFFLHFDQUFxQyxFQUFFLCtDQUErQyxFQUFFLCtCQUErQixFQUFFLGlDQUFpQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FkdmVydGlzZXJDb250cm9sbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWR2ZXJ0aXNlckNvbnRyb2xsZXJTZXJ2aWNlIH0gZnJvbSAnLi9hZHZlcnRpc2VyQ29udHJvbGxlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vYnVzaW5lc3NHZW9Db250cm9sbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQnVzaW5lc3NHZW9Db250cm9sbGVyU2VydmljZSB9IGZyb20gJy4vYnVzaW5lc3NHZW9Db250cm9sbGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jYW1wYWlnbkluc2lnaHRzQ29udHJvbGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IENhbXBhaWduSW5zaWdodHNDb250cm9sbGVyU2VydmljZSB9IGZyb20gJy4vY2FtcGFpZ25JbnNpZ2h0c0NvbnRyb2xsZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2RwYUNhbXBhaWduQ29udHJvbGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IERwYUNhbXBhaWduQ29udHJvbGxlclNlcnZpY2UgfSBmcm9tICcuL2RwYUNhbXBhaWduQ29udHJvbGxlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZHBhRW5nYWdlbWVudENvbnRyb2xsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBEcGFFbmdhZ2VtZW50Q29udHJvbGxlclNlcnZpY2UgfSBmcm9tICcuL2RwYUVuZ2FnZW1lbnRDb250cm9sbGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9mYWNlYm9va0FkSW1hZ2VDb250cm9sbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmFjZWJvb2tBZEltYWdlQ29udHJvbGxlclNlcnZpY2UgfSBmcm9tICcuL2ZhY2Vib29rQWRJbWFnZUNvbnRyb2xsZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2ZhY2Vib29rQWRWaWRlb0NvbnRyb2xsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBGYWNlYm9va0FkVmlkZW9Db250cm9sbGVyU2VydmljZSB9IGZyb20gJy4vZmFjZWJvb2tBZFZpZGVvQ29udHJvbGxlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZmFjZWJvb2tFbmdhZ2VtZW50Q29udHJvbGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IEZhY2Vib29rRW5nYWdlbWVudENvbnRyb2xsZXJTZXJ2aWNlIH0gZnJvbSAnLi9mYWNlYm9va0VuZ2FnZW1lbnRDb250cm9sbGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2JpbGVBcHBEZXRhaWxDb250cm9sbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgTW9iaWxlQXBwRGV0YWlsQ29udHJvbGxlclNlcnZpY2UgfSBmcm9tICcuL21vYmlsZUFwcERldGFpbENvbnRyb2xsZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3BhY2thZ2VEZXRhaWxDb250cm9sbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGFja2FnZURldGFpbENvbnRyb2xsZXJTZXJ2aWNlIH0gZnJvbSAnLi9wYWNrYWdlRGV0YWlsQ29udHJvbGxlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc291cmNlUGxhdGZvcm1NRVRBQ29udHJvbGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNvdXJjZVBsYXRmb3JtTUVUQUNvbnRyb2xsZXJTZXJ2aWNlIH0gZnJvbSAnLi9zb3VyY2VQbGF0Zm9ybU1FVEFDb250cm9sbGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zb3VyY2VQbGF0Zm9ybU1FVEFEaWN0aW9uYXJ5Q29udHJvbGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNvdXJjZVBsYXRmb3JtTUVUQURpY3Rpb25hcnlDb250cm9sbGVyU2VydmljZSB9IGZyb20gJy4vc291cmNlUGxhdGZvcm1NRVRBRGljdGlvbmFyeUNvbnRyb2xsZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NvdXJjZVBsYXRmb3JtVElLVE9LQ29udHJvbGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNvdXJjZVBsYXRmb3JtVElLVE9LQ29udHJvbGxlclNlcnZpY2UgfSBmcm9tICcuL3NvdXJjZVBsYXRmb3JtVElLVE9LQ29udHJvbGxlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc291cmNlUGxhdGZvcm1USUtUT0tEaWN0aW9uYXJ5Q29udHJvbGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNvdXJjZVBsYXRmb3JtVElLVE9LRGljdGlvbmFyeUNvbnRyb2xsZXJTZXJ2aWNlIH0gZnJvbSAnLi9zb3VyY2VQbGF0Zm9ybVRJS1RPS0RpY3Rpb25hcnlDb250cm9sbGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi90aWt0b2tBdWRpZW5jZUNvbnRyb2xsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBUaWt0b2tBdWRpZW5jZUNvbnRyb2xsZXJTZXJ2aWNlIH0gZnJvbSAnLi90aWt0b2tBdWRpZW5jZUNvbnRyb2xsZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3Rpa3Rva0VuZ2FnZW1lbnRDb250cm9sbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGlrdG9rRW5nYWdlbWVudENvbnRyb2xsZXJTZXJ2aWNlIH0gZnJvbSAnLi90aWt0b2tFbmdhZ2VtZW50Q29udHJvbGxlci5zZXJ2aWNlJztcbmV4cG9ydCBjb25zdCBBUElTID0gW0FkdmVydGlzZXJDb250cm9sbGVyU2VydmljZSwgQnVzaW5lc3NHZW9Db250cm9sbGVyU2VydmljZSwgQ2FtcGFpZ25JbnNpZ2h0c0NvbnRyb2xsZXJTZXJ2aWNlLCBEcGFDYW1wYWlnbkNvbnRyb2xsZXJTZXJ2aWNlLCBEcGFFbmdhZ2VtZW50Q29udHJvbGxlclNlcnZpY2UsIEZhY2Vib29rQWRJbWFnZUNvbnRyb2xsZXJTZXJ2aWNlLCBGYWNlYm9va0FkVmlkZW9Db250cm9sbGVyU2VydmljZSwgRmFjZWJvb2tFbmdhZ2VtZW50Q29udHJvbGxlclNlcnZpY2UsIE1vYmlsZUFwcERldGFpbENvbnRyb2xsZXJTZXJ2aWNlLCBQYWNrYWdlRGV0YWlsQ29udHJvbGxlclNlcnZpY2UsIFNvdXJjZVBsYXRmb3JtTUVUQUNvbnRyb2xsZXJTZXJ2aWNlLCBTb3VyY2VQbGF0Zm9ybU1FVEFEaWN0aW9uYXJ5Q29udHJvbGxlclNlcnZpY2UsIFNvdXJjZVBsYXRmb3JtVElLVE9LQ29udHJvbGxlclNlcnZpY2UsIFNvdXJjZVBsYXRmb3JtVElLVE9LRGljdGlvbmFyeUNvbnRyb2xsZXJTZXJ2aWNlLCBUaWt0b2tBdWRpZW5jZUNvbnRyb2xsZXJTZXJ2aWNlLCBUaWt0b2tFbmdhZ2VtZW50Q29udHJvbGxlclNlcnZpY2VdO1xuIl19
3
+ export * from './campaignController.service';
4
+ import { CampaignControllerService } from './campaignController.service';
5
+ export * from './insightsController.service';
6
+ import { InsightsControllerService } from './insightsController.service';
7
+ export const APIS = [AdvertiserControllerService, CampaignControllerService, InsightsControllerService];
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vYXBpL2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzdFLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDekUsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN6RSxNQUFNLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQywyQkFBMkIsRUFBRSx5QkFBeUIsRUFBRSx5QkFBeUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hZHZlcnRpc2VyQ29udHJvbGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IEFkdmVydGlzZXJDb250cm9sbGVyU2VydmljZSB9IGZyb20gJy4vYWR2ZXJ0aXNlckNvbnRyb2xsZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2NhbXBhaWduQ29udHJvbGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IENhbXBhaWduQ29udHJvbGxlclNlcnZpY2UgfSBmcm9tICcuL2NhbXBhaWduQ29udHJvbGxlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaW5zaWdodHNDb250cm9sbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgSW5zaWdodHNDb250cm9sbGVyU2VydmljZSB9IGZyb20gJy4vaW5zaWdodHNDb250cm9sbGVyLnNlcnZpY2UnO1xuZXhwb3J0IGNvbnN0IEFQSVMgPSBbQWR2ZXJ0aXNlckNvbnRyb2xsZXJTZXJ2aWNlLCBDYW1wYWlnbkNvbnRyb2xsZXJTZXJ2aWNlLCBJbnNpZ2h0c0NvbnRyb2xsZXJTZXJ2aWNlXTtcbiJdfQ==