@revxui/intellibid-client-ts 1.0.30 → 1.0.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/api/api.d.ts +3 -3
- package/api/sourcePlatformTIKTOKController.service.d.ts +11 -0
- package/api/tiktokEngagementController.service.d.ts +50 -0
- package/esm2020/api/api.mjs +4 -4
- package/esm2020/api/sourcePlatformTIKTOKController.service.mjs +33 -1
- package/esm2020/api/tiktokEngagementController.service.mjs +142 -0
- package/esm2020/api.module.mjs +4 -4
- package/esm2020/model/createCampaignRequest.mjs +1 -1
- package/esm2020/model/dpaEngagementRequest.mjs +1 -1
- package/esm2020/model/dpaEngagementResponse.mjs +1 -1
- package/esm2020/model/models.mjs +2 -1
- package/esm2020/model/pageableObject.mjs +1 -1
- package/esm2020/model/tiktokEngagement.mjs +2 -0
- package/fesm2015/revxui-intellibid-client-ts.mjs +97 -11
- package/fesm2015/revxui-intellibid-client-ts.mjs.map +1 -1
- package/fesm2020/revxui-intellibid-client-ts.mjs +97 -11
- package/fesm2020/revxui-intellibid-client-ts.mjs.map +1 -1
- package/model/createCampaignRequest.d.ts +1 -0
- package/model/dpaEngagementRequest.d.ts +5 -2
- package/model/dpaEngagementResponse.d.ts +1 -0
- package/model/models.d.ts +1 -0
- package/model/pageableObject.d.ts +2 -2
- package/model/tiktokEngagement.d.ts +26 -0
- package/package.json +1 -1
- package/api/tiktokDpaEngagementController.service.d.ts +0 -30
- package/esm2020/api/tiktokDpaEngagementController.service.mjs +0 -88
|
@@ -20,8 +20,9 @@ export interface DpaEngagementRequest {
|
|
|
20
20
|
audienceCategories: Array<string>;
|
|
21
21
|
adPlacements: Array<string>;
|
|
22
22
|
targetCountries: Array<string>;
|
|
23
|
-
audienceMinimumAge
|
|
24
|
-
audienceMaximumAge
|
|
23
|
+
audienceMinimumAge?: number;
|
|
24
|
+
audienceMaximumAge?: number;
|
|
25
|
+
ageRanges?: Array<string>;
|
|
25
26
|
mobileOSs: Array<string>;
|
|
26
27
|
audienceGenders: Array<string>;
|
|
27
28
|
exclusionRules: Array<ExclusionRule>;
|
|
@@ -30,6 +31,8 @@ export interface DpaEngagementRequest {
|
|
|
30
31
|
campaignStatus?: boolean;
|
|
31
32
|
staticCampaign?: boolean;
|
|
32
33
|
sourcePlatform: DpaEngagementRequest.SourcePlatformEnum;
|
|
34
|
+
ageRangesValidForPlatform?: boolean;
|
|
35
|
+
ageRangeValidForPlatform?: boolean;
|
|
33
36
|
}
|
|
34
37
|
export declare namespace DpaEngagementRequest {
|
|
35
38
|
type SourcePlatformEnum = 'META' | 'GOOGLE' | 'TIKTOK' | 'SNAPCHAT';
|
|
@@ -28,6 +28,7 @@ export interface DpaEngagementResponse {
|
|
|
28
28
|
audienceCategories?: Array<string>;
|
|
29
29
|
audienceMinimumAge?: number;
|
|
30
30
|
audienceMaximumAge?: number;
|
|
31
|
+
ageRanges?: Array<string>;
|
|
31
32
|
audienceGenders?: Array<string>;
|
|
32
33
|
exclusionRules?: Array<ExclusionRule>;
|
|
33
34
|
status?: DpaEngagementResponse.StatusEnum;
|
package/model/models.d.ts
CHANGED
|
@@ -33,5 +33,6 @@ export * from './pagePackageDetailResponse';
|
|
|
33
33
|
export * from './pageableObject';
|
|
34
34
|
export * from './sortObject';
|
|
35
35
|
export * from './tiktokCountryResponse';
|
|
36
|
+
export * from './tiktokEngagement';
|
|
36
37
|
export * from './updateDailyBudgetRequest';
|
|
37
38
|
export * from './updateMarginRequest';
|
|
@@ -12,9 +12,9 @@
|
|
|
12
12
|
import { SortObject } from './sortObject';
|
|
13
13
|
export interface PageableObject {
|
|
14
14
|
sort?: Array<SortObject>;
|
|
15
|
-
paged?: boolean;
|
|
16
|
-
unpaged?: boolean;
|
|
17
15
|
pageNumber?: number;
|
|
18
16
|
pageSize?: number;
|
|
17
|
+
paged?: boolean;
|
|
18
|
+
unpaged?: boolean;
|
|
19
19
|
offset?: number;
|
|
20
20
|
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Intellibid API
|
|
3
|
+
* API documentation for the Intellibid platform
|
|
4
|
+
*
|
|
5
|
+
* OpenAPI spec version: 1.0
|
|
6
|
+
*
|
|
7
|
+
*
|
|
8
|
+
* NOTE: This class is auto generated by the swagger code generator program.
|
|
9
|
+
* https://github.com/swagger-api/swagger-codegen.git
|
|
10
|
+
* Do not edit the class manually.
|
|
11
|
+
*/
|
|
12
|
+
import { AudienceDetails } from './audienceDetails';
|
|
13
|
+
export interface TiktokEngagement {
|
|
14
|
+
id?: number;
|
|
15
|
+
advertiserId?: number;
|
|
16
|
+
tiktokAccountId?: string;
|
|
17
|
+
tiktokIdentityId?: string;
|
|
18
|
+
tiktokDataSourceAndroidAppID?: string;
|
|
19
|
+
tiktokDataSourceIOSAppID?: string;
|
|
20
|
+
staticAudiences?: Array<AudienceDetails>;
|
|
21
|
+
dynamicAudiences?: Array<AudienceDetails>;
|
|
22
|
+
createdOn?: Date;
|
|
23
|
+
createdBy?: number;
|
|
24
|
+
updatedOn?: Date;
|
|
25
|
+
updatedBy?: number;
|
|
26
|
+
}
|
package/package.json
CHANGED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { HttpClient, HttpHeaders, HttpResponse, HttpEvent } from '@angular/common/http';
|
|
2
|
-
import { Observable } from 'rxjs';
|
|
3
|
-
import { DpaEngagementRequest } from '../model/dpaEngagementRequest';
|
|
4
|
-
import { DpaEngagementResponse } from '../model/dpaEngagementResponse';
|
|
5
|
-
import { Configuration } from '../configuration';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export declare class TiktokDpaEngagementControllerService {
|
|
8
|
-
protected httpClient: HttpClient;
|
|
9
|
-
protected basePath: string;
|
|
10
|
-
defaultHeaders: HttpHeaders;
|
|
11
|
-
configuration: Configuration;
|
|
12
|
-
constructor(httpClient: HttpClient, basePath: string, configuration: Configuration);
|
|
13
|
-
/**
|
|
14
|
-
* @param consumes string[] mime-types
|
|
15
|
-
* @return true: consumes contains 'multipart/form-data', false: otherwise
|
|
16
|
-
*/
|
|
17
|
-
private canConsumeForm;
|
|
18
|
-
/**
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
* @param body
|
|
22
|
-
* @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
|
|
23
|
-
* @param reportProgress flag to report request and response progress.
|
|
24
|
-
*/
|
|
25
|
-
createDpaEngagement1(body: DpaEngagementRequest, observe?: 'body', reportProgress?: boolean): Observable<DpaEngagementResponse>;
|
|
26
|
-
createDpaEngagement1(body: DpaEngagementRequest, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<DpaEngagementResponse>>;
|
|
27
|
-
createDpaEngagement1(body: DpaEngagementRequest, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<DpaEngagementResponse>>;
|
|
28
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<TiktokDpaEngagementControllerService, [null, { optional: true; }, { optional: true; }]>;
|
|
29
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<TiktokDpaEngagementControllerService>;
|
|
30
|
-
}
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Intellibid API
|
|
3
|
-
* API documentation for the Intellibid platform
|
|
4
|
-
*
|
|
5
|
-
* OpenAPI spec version: 1.0
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* NOTE: This class is auto generated by the swagger code generator program.
|
|
9
|
-
* https://github.com/swagger-api/swagger-codegen.git
|
|
10
|
-
* Do not edit the class manually.
|
|
11
|
-
*/ /* tslint:disable:no-unused-variable member-ordering */
|
|
12
|
-
import { Inject, Injectable, Optional } from '@angular/core';
|
|
13
|
-
import { HttpHeaders } from '@angular/common/http';
|
|
14
|
-
import { BASE_PATH } from '../variables';
|
|
15
|
-
import { Configuration } from '../configuration';
|
|
16
|
-
import * as i0 from "@angular/core";
|
|
17
|
-
import * as i1 from "@angular/common/http";
|
|
18
|
-
import * as i2 from "../configuration";
|
|
19
|
-
export class TiktokDpaEngagementControllerService {
|
|
20
|
-
constructor(httpClient, basePath, configuration) {
|
|
21
|
-
this.httpClient = httpClient;
|
|
22
|
-
this.basePath = 'http://dev1-intellibid-svc.revx.io';
|
|
23
|
-
this.defaultHeaders = new HttpHeaders();
|
|
24
|
-
this.configuration = new Configuration();
|
|
25
|
-
if (basePath) {
|
|
26
|
-
this.basePath = basePath;
|
|
27
|
-
}
|
|
28
|
-
if (configuration) {
|
|
29
|
-
this.configuration = configuration;
|
|
30
|
-
this.basePath = basePath || configuration.basePath || this.basePath;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* @param consumes string[] mime-types
|
|
35
|
-
* @return true: consumes contains 'multipart/form-data', false: otherwise
|
|
36
|
-
*/
|
|
37
|
-
canConsumeForm(consumes) {
|
|
38
|
-
const form = 'multipart/form-data';
|
|
39
|
-
for (const consume of consumes) {
|
|
40
|
-
if (form === consume) {
|
|
41
|
-
return true;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
return false;
|
|
45
|
-
}
|
|
46
|
-
createDpaEngagement1(body, observe = 'body', reportProgress = false) {
|
|
47
|
-
if (body === null || body === undefined) {
|
|
48
|
-
throw new Error('Required parameter body was null or undefined when calling createDpaEngagement1.');
|
|
49
|
-
}
|
|
50
|
-
let headers = this.defaultHeaders;
|
|
51
|
-
// to determine the Accept header
|
|
52
|
-
let httpHeaderAccepts = [
|
|
53
|
-
'*/*'
|
|
54
|
-
];
|
|
55
|
-
const httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
|
|
56
|
-
if (httpHeaderAcceptSelected != undefined) {
|
|
57
|
-
headers = headers.set('Accept', httpHeaderAcceptSelected);
|
|
58
|
-
}
|
|
59
|
-
// to determine the Content-Type header
|
|
60
|
-
const consumes = [
|
|
61
|
-
'application/json'
|
|
62
|
-
];
|
|
63
|
-
const httpContentTypeSelected = this.configuration.selectHeaderContentType(consumes);
|
|
64
|
-
if (httpContentTypeSelected != undefined) {
|
|
65
|
-
headers = headers.set('Content-Type', httpContentTypeSelected);
|
|
66
|
-
}
|
|
67
|
-
return this.httpClient.request('post', `${this.basePath}/api/dpa-engagement/tiktok`, {
|
|
68
|
-
body: body,
|
|
69
|
-
withCredentials: this.configuration.withCredentials,
|
|
70
|
-
headers: headers,
|
|
71
|
-
observe: observe,
|
|
72
|
-
reportProgress: reportProgress
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
TiktokDpaEngagementControllerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TiktokDpaEngagementControllerService, deps: [{ token: i1.HttpClient }, { token: BASE_PATH, optional: true }, { token: i2.Configuration, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
77
|
-
TiktokDpaEngagementControllerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TiktokDpaEngagementControllerService });
|
|
78
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TiktokDpaEngagementControllerService, decorators: [{
|
|
79
|
-
type: Injectable
|
|
80
|
-
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
|
|
81
|
-
type: Optional
|
|
82
|
-
}, {
|
|
83
|
-
type: Inject,
|
|
84
|
-
args: [BASE_PATH]
|
|
85
|
-
}] }, { type: i2.Configuration, decorators: [{
|
|
86
|
-
type: Optional
|
|
87
|
-
}] }]; } });
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlrdG9rRHBhRW5nYWdlbWVudENvbnRyb2xsZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2FwaS90aWt0b2tEcGFFbmdhZ2VtZW50Q29udHJvbGxlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7O0dBVUcsQ0FBQSx1REFBdUQ7QUFFMUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQTJCLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQWMsV0FBVyxFQUNFLE1BQWdDLHNCQUFzQixDQUFDO0FBUXpGLE9BQU8sRUFBRSxTQUFTLEVBQXNCLE1BQTBCLGNBQWMsQ0FBQztBQUNqRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQTBDLGtCQUFrQixDQUFDOzs7O0FBSXJGLE1BQU0sT0FBTyxvQ0FBb0M7SUFNN0MsWUFBc0IsVUFBc0IsRUFBZ0MsUUFBZ0IsRUFBYyxhQUE0QjtRQUFoSCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBSmxDLGFBQVEsR0FBRyxvQ0FBb0MsQ0FBQztRQUNuRCxtQkFBYyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFDbkMsa0JBQWEsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBR3ZDLElBQUksUUFBUSxFQUFFO1lBQ1YsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7U0FDNUI7UUFDRCxJQUFJLGFBQWEsRUFBRTtZQUNmLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1lBQ25DLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxJQUFJLGFBQWEsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQztTQUN2RTtJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSyxjQUFjLENBQUMsUUFBa0I7UUFDckMsTUFBTSxJQUFJLEdBQUcscUJBQXFCLENBQUM7UUFDbkMsS0FBSyxNQUFNLE9BQU8sSUFBSSxRQUFRLEVBQUU7WUFDNUIsSUFBSSxJQUFJLEtBQUssT0FBTyxFQUFFO2dCQUNsQixPQUFPLElBQUksQ0FBQzthQUNmO1NBQ0o7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBYU0sb0JBQW9CLENBQUMsSUFBMEIsRUFBRSxVQUFlLE1BQU0sRUFBRSxpQkFBMEIsS0FBSztRQUUxRyxJQUFJLElBQUksS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRTtZQUNyQyxNQUFNLElBQUksS0FBSyxDQUFDLGtGQUFrRixDQUFDLENBQUM7U0FDdkc7UUFFRCxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBRWxDLGlDQUFpQztRQUNqQyxJQUFJLGlCQUFpQixHQUFhO1lBQzlCLEtBQUs7U0FDUixDQUFDO1FBQ0YsTUFBTSx3QkFBd0IsR0FBdUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzlHLElBQUksd0JBQXdCLElBQUksU0FBUyxFQUFFO1lBQ3ZDLE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSx3QkFBd0IsQ0FBQyxDQUFDO1NBQzdEO1FBRUQsdUNBQXVDO1FBQ3ZDLE1BQU0sUUFBUSxHQUFhO1lBQ3ZCLGtCQUFrQjtTQUNyQixDQUFDO1FBQ0YsTUFBTSx1QkFBdUIsR0FBdUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN6RyxJQUFJLHVCQUF1QixJQUFJLFNBQVMsRUFBRTtZQUN0QyxPQUFPLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztTQUNsRTtRQUVELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQXdCLE1BQU0sRUFBQyxHQUFHLElBQUksQ0FBQyxRQUFRLDRCQUE0QixFQUNyRztZQUNJLElBQUksRUFBRSxJQUFJO1lBQ1YsZUFBZSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZTtZQUNuRCxPQUFPLEVBQUUsT0FBTztZQUNoQixPQUFPLEVBQUUsT0FBTztZQUNoQixjQUFjLEVBQUUsY0FBYztTQUNqQyxDQUNKLENBQUM7SUFDTixDQUFDOztrSUE1RVEsb0NBQW9DLDRDQU1vQixTQUFTO3NJQU5qRSxvQ0FBb0M7NEZBQXBDLG9DQUFvQztrQkFEaEQsVUFBVTs7MEJBT3dDLFFBQVE7OzBCQUFHLE1BQU07MkJBQUMsU0FBUzs7MEJBQXFCLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEludGVsbGliaWQgQVBJXG4gKiBBUEkgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIEludGVsbGliaWQgcGxhdGZvcm1cbiAqXG4gKiBPcGVuQVBJIHNwZWMgdmVyc2lvbjogMS4wXG4gKiBcbiAqXG4gKiBOT1RFOiBUaGlzIGNsYXNzIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IHRoZSBzd2FnZ2VyIGNvZGUgZ2VuZXJhdG9yIHByb2dyYW0uXG4gKiBodHRwczovL2dpdGh1Yi5jb20vc3dhZ2dlci1hcGkvc3dhZ2dlci1jb2RlZ2VuLmdpdFxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxuICovLyogdHNsaW50OmRpc2FibGU6bm8tdW51c2VkLXZhcmlhYmxlIG1lbWJlci1vcmRlcmluZyAqL1xuXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gICAgICAgICAgICAgICAgICAgICAgZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycywgSHR0cFBhcmFtcyxcbiAgICAgICAgIEh0dHBSZXNwb25zZSwgSHR0cEV2ZW50IH0gICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBDdXN0b21IdHRwVXJsRW5jb2RpbmdDb2RlYyB9ICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSAnLi4vZW5jb2Rlcic7XG5cbmltcG9ydCB7IE9ic2VydmFibGUgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRHBhRW5nYWdlbWVudFJlcXVlc3QgfSBmcm9tICcuLi9tb2RlbC9kcGFFbmdhZ2VtZW50UmVxdWVzdCc7XG5pbXBvcnQgeyBEcGFFbmdhZ2VtZW50UmVzcG9uc2UgfSBmcm9tICcuLi9tb2RlbC9kcGFFbmdhZ2VtZW50UmVzcG9uc2UnO1xuXG5pbXBvcnQgeyBCQVNFX1BBVEgsIENPTExFQ1RJT05fRk9STUFUUyB9ICAgICAgICAgICAgICAgICAgICAgZnJvbSAnLi4vdmFyaWFibGVzJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb24gfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tICcuLi9jb25maWd1cmF0aW9uJztcblxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVGlrdG9rRHBhRW5nYWdlbWVudENvbnRyb2xsZXJTZXJ2aWNlIHtcblxuICAgIHByb3RlY3RlZCBiYXNlUGF0aCA9ICdodHRwOi8vZGV2MS1pbnRlbGxpYmlkLXN2Yy5yZXZ4LmlvJztcbiAgICBwdWJsaWMgZGVmYXVsdEhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKTtcbiAgICBwdWJsaWMgY29uZmlndXJhdGlvbiA9IG5ldyBDb25maWd1cmF0aW9uKCk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaHR0cENsaWVudDogSHR0cENsaWVudCwgQE9wdGlvbmFsKClASW5qZWN0KEJBU0VfUEFUSCkgYmFzZVBhdGg6IHN0cmluZywgQE9wdGlvbmFsKCkgY29uZmlndXJhdGlvbjogQ29uZmlndXJhdGlvbikge1xuICAgICAgICBpZiAoYmFzZVBhdGgpIHtcbiAgICAgICAgICAgIHRoaXMuYmFzZVBhdGggPSBiYXNlUGF0aDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY29uZmlndXJhdGlvbikge1xuICAgICAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uID0gY29uZmlndXJhdGlvbjtcbiAgICAgICAgICAgIHRoaXMuYmFzZVBhdGggPSBiYXNlUGF0aCB8fCBjb25maWd1cmF0aW9uLmJhc2VQYXRoIHx8IHRoaXMuYmFzZVBhdGg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gY29uc3VtZXMgc3RyaW5nW10gbWltZS10eXBlc1xuICAgICAqIEByZXR1cm4gdHJ1ZTogY29uc3VtZXMgY29udGFpbnMgJ211bHRpcGFydC9mb3JtLWRhdGEnLCBmYWxzZTogb3RoZXJ3aXNlXG4gICAgICovXG4gICAgcHJpdmF0ZSBjYW5Db25zdW1lRm9ybShjb25zdW1lczogc3RyaW5nW10pOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgZm9ybSA9ICdtdWx0aXBhcnQvZm9ybS1kYXRhJztcbiAgICAgICAgZm9yIChjb25zdCBjb25zdW1lIG9mIGNvbnN1bWVzKSB7XG4gICAgICAgICAgICBpZiAoZm9ybSA9PT0gY29uc3VtZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cblxuICAgIC8qKlxuICAgICAqIFxuICAgICAqIFxuICAgICAqIEBwYXJhbSBib2R5IFxuICAgICAqIEBwYXJhbSBvYnNlcnZlIHNldCB3aGV0aGVyIG9yIG5vdCB0byByZXR1cm4gdGhlIGRhdGEgT2JzZXJ2YWJsZSBhcyB0aGUgYm9keSwgcmVzcG9uc2Ugb3IgZXZlbnRzLiBkZWZhdWx0cyB0byByZXR1cm5pbmcgdGhlIGJvZHkuXG4gICAgICogQHBhcmFtIHJlcG9ydFByb2dyZXNzIGZsYWcgdG8gcmVwb3J0IHJlcXVlc3QgYW5kIHJlc3BvbnNlIHByb2dyZXNzLlxuICAgICAqL1xuICAgIHB1YmxpYyBjcmVhdGVEcGFFbmdhZ2VtZW50MShib2R5OiBEcGFFbmdhZ2VtZW50UmVxdWVzdCwgb2JzZXJ2ZT86ICdib2R5JywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxEcGFFbmdhZ2VtZW50UmVzcG9uc2U+O1xuICAgIHB1YmxpYyBjcmVhdGVEcGFFbmdhZ2VtZW50MShib2R5OiBEcGFFbmdhZ2VtZW50UmVxdWVzdCwgb2JzZXJ2ZT86ICdyZXNwb25zZScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPERwYUVuZ2FnZW1lbnRSZXNwb25zZT4+O1xuICAgIHB1YmxpYyBjcmVhdGVEcGFFbmdhZ2VtZW50MShib2R5OiBEcGFFbmdhZ2VtZW50UmVxdWVzdCwgb2JzZXJ2ZT86ICdldmVudHMnLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxEcGFFbmdhZ2VtZW50UmVzcG9uc2U+PjtcbiAgICBwdWJsaWMgY3JlYXRlRHBhRW5nYWdlbWVudDEoYm9keTogRHBhRW5nYWdlbWVudFJlcXVlc3QsIG9ic2VydmU6IGFueSA9ICdib2R5JywgcmVwb3J0UHJvZ3Jlc3M6IGJvb2xlYW4gPSBmYWxzZSApOiBPYnNlcnZhYmxlPGFueT4ge1xuXG4gICAgICAgIGlmIChib2R5ID09PSBudWxsIHx8IGJvZHkgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZXF1aXJlZCBwYXJhbWV0ZXIgYm9keSB3YXMgbnVsbCBvciB1bmRlZmluZWQgd2hlbiBjYWxsaW5nIGNyZWF0ZURwYUVuZ2FnZW1lbnQxLicpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGhlYWRlcnMgPSB0aGlzLmRlZmF1bHRIZWFkZXJzO1xuXG4gICAgICAgIC8vIHRvIGRldGVybWluZSB0aGUgQWNjZXB0IGhlYWRlclxuICAgICAgICBsZXQgaHR0cEhlYWRlckFjY2VwdHM6IHN0cmluZ1tdID0gW1xuICAgICAgICAgICAgJyovKidcbiAgICAgICAgXTtcbiAgICAgICAgY29uc3QgaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB0aGlzLmNvbmZpZ3VyYXRpb24uc2VsZWN0SGVhZGVyQWNjZXB0KGh0dHBIZWFkZXJBY2NlcHRzKTtcbiAgICAgICAgaWYgKGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQWNjZXB0JywgaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRvIGRldGVybWluZSB0aGUgQ29udGVudC1UeXBlIGhlYWRlclxuICAgICAgICBjb25zdCBjb25zdW1lczogc3RyaW5nW10gPSBbXG4gICAgICAgICAgICAnYXBwbGljYXRpb24vanNvbidcbiAgICAgICAgXTtcbiAgICAgICAgY29uc3QgaHR0cENvbnRlbnRUeXBlU2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJDb250ZW50VHlwZShjb25zdW1lcyk7XG4gICAgICAgIGlmIChodHRwQ29udGVudFR5cGVTZWxlY3RlZCAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQ29udGVudC1UeXBlJywgaHR0cENvbnRlbnRUeXBlU2VsZWN0ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5yZXF1ZXN0PERwYUVuZ2FnZW1lbnRSZXNwb25zZT4oJ3Bvc3QnLGAke3RoaXMuYmFzZVBhdGh9L2FwaS9kcGEtZW5nYWdlbWVudC90aWt0b2tgLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGJvZHk6IGJvZHksXG4gICAgICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0aGlzLmNvbmZpZ3VyYXRpb24ud2l0aENyZWRlbnRpYWxzLFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IGhlYWRlcnMsXG4gICAgICAgICAgICAgICAgb2JzZXJ2ZTogb2JzZXJ2ZSxcbiAgICAgICAgICAgICAgICByZXBvcnRQcm9ncmVzczogcmVwb3J0UHJvZ3Jlc3NcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbn1cbiJdfQ==
|