@segment/action-destinations 3.267.1-staging-376209a3a → 3.267.1-staging.1
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/dist/destinations/amazon-ads/generated-types.d.ts +0 -9
- package/dist/destinations/amazon-ads/index.d.ts +2 -2
- package/dist/destinations/amazon-ads/index.js +6 -164
- package/dist/destinations/amazon-ads/index.js.map +1 -1
- package/dist/destinations/amazon-ads/syncAudiences/generated-types.d.ts +0 -13
- package/dist/destinations/amazon-ads/syncAudiences/index.js +7 -201
- package/dist/destinations/amazon-ads/syncAudiences/index.js.map +1 -1
- package/dist/destinations/amazon-ads/types.d.ts +0 -25
- package/dist/destinations/engage/utils/track.d.ts +9 -9
- package/dist/destinations/index.js.map +1 -1
- package/dist/destinations/moloco-rmp/common/convert.js +17 -29
- package/dist/destinations/moloco-rmp/common/convert.js.map +1 -1
- package/dist/destinations/xtremepush/identify/index.js +2 -2
- package/dist/destinations/xtremepush/identify/index.js.map +1 -1
- package/dist/destinations/xtremepush/index.js.map +1 -1
- package/dist/destinations/xtremepush/track/index.js +2 -2
- package/dist/destinations/xtremepush/track/index.js.map +1 -1
- package/package.json +4 -4
- package/dist/destinations/amazon-ads/utils.d.ts +0 -31
- package/dist/destinations/amazon-ads/utils.js +0 -18
- package/dist/destinations/amazon-ads/utils.js.map +0 -1
- package/dist/destinations/dynamic-yield-audiences/syncAudience/types.d.ts +0 -22
- package/dist/destinations/dynamic-yield-audiences/syncAudience/types.js +0 -3
- package/dist/destinations/dynamic-yield-audiences/syncAudience/types.js.map +0 -1
- package/dist/destinations/dynamic-yield-audiences/types.d.ts +0 -8
- package/dist/destinations/dynamic-yield-audiences/types.js +0 -12
- package/dist/destinations/dynamic-yield-audiences/types.js.map +0 -1
- package/dist/destinations/engage/sendgrid/Profile.d.ts +0 -6
- package/dist/destinations/engage/sendgrid/Profile.js +0 -3
- package/dist/destinations/engage/sendgrid/Profile.js.map +0 -1
- package/dist/destinations/engage/sendgrid/previewApiLookup/api-lookups.d.ts +0 -21
- package/dist/destinations/engage/sendgrid/previewApiLookup/api-lookups.js +0 -174
- package/dist/destinations/engage/sendgrid/previewApiLookup/api-lookups.js.map +0 -1
- package/dist/destinations/mixpanel/utils.d.ts +0 -13
- package/dist/destinations/mixpanel/utils.js +0 -117
- package/dist/destinations/mixpanel/utils.js.map +0 -1
- package/dist/destinations/responsys/asyncMergePetRecords/generated-types.d.ts +0 -14
- package/dist/destinations/responsys/asyncMergePetRecords/generated-types.js +0 -3
- package/dist/destinations/responsys/asyncMergePetRecords/generated-types.js.map +0 -1
- package/dist/destinations/responsys/asyncMergePetRecords/index.d.ts +0 -5
- package/dist/destinations/responsys/asyncMergePetRecords/index.js +0 -113
- package/dist/destinations/responsys/asyncMergePetRecords/index.js.map +0 -1
- package/dist/destinations/responsys/asyncMergeProfileListMembers/generated-types.d.ts +0 -20
- package/dist/destinations/responsys/asyncMergeProfileListMembers/generated-types.js +0 -3
- package/dist/destinations/responsys/asyncMergeProfileListMembers/generated-types.js.map +0 -1
- package/dist/destinations/responsys/asyncMergeProfileListMembers/index.d.ts +0 -5
- package/dist/destinations/responsys/asyncMergeProfileListMembers/index.js +0 -174
- package/dist/destinations/responsys/asyncMergeProfileListMembers/index.js.map +0 -1
- package/dist/destinations/responsys/rsp-operations.d.ts +0 -14
- package/dist/destinations/responsys/rsp-operations.js +0 -33
- package/dist/destinations/responsys/rsp-operations.js.map +0 -1
- package/dist/destinations/responsys/rsp-properties.d.ts +0 -4
- package/dist/destinations/responsys/rsp-properties.js +0 -27
- package/dist/destinations/responsys/rsp-properties.js.map +0 -1
- package/dist/destinations/snap-conversions-api/_tests_/capiV2tests.d.ts +0 -1
- package/dist/destinations/snap-conversions-api/_tests_/capiV2tests.js +0 -381
- package/dist/destinations/snap-conversions-api/_tests_/capiV2tests.js.map +0 -1
- package/dist/destinations/snap-conversions-api/_tests_/capiV3tests.d.ts +0 -1
- package/dist/destinations/snap-conversions-api/_tests_/capiV3tests.js +0 -581
- package/dist/destinations/snap-conversions-api/_tests_/capiV3tests.js.map +0 -1
- package/dist/destinations/snap-conversions-api/reportConversionEvent/snap-capi-v2.d.ts +0 -4
- package/dist/destinations/snap-conversions-api/reportConversionEvent/snap-capi-v2.js +0 -97
- package/dist/destinations/snap-conversions-api/reportConversionEvent/snap-capi-v2.js.map +0 -1
- package/dist/destinations/snap-conversions-api/snap-capi-properties.d.ts +0 -30
- package/dist/destinations/snap-conversions-api/snap-capi-properties.js +0 -316
- package/dist/destinations/snap-conversions-api/snap-capi-properties.js.map +0 -1
- package/dist/destinations/tiktok-conversions/reportWebEvent/formatter.d.ts +0 -3
- package/dist/destinations/tiktok-conversions/reportWebEvent/formatter.js +0 -34
- package/dist/destinations/tiktok-conversions/reportWebEvent/formatter.js.map +0 -1
- package/dist/destinations/tiktok-offline-conversions/reportOfflineEvent/formatter.d.ts +0 -3
- package/dist/destinations/tiktok-offline-conversions/reportOfflineEvent/formatter.js +0 -43
- package/dist/destinations/tiktok-offline-conversions/reportOfflineEvent/formatter.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { AudienceDestinationDefinition } from '@segment/actions-core';
|
|
2
|
-
import type { Settings
|
|
3
|
-
declare const destination: AudienceDestinationDefinition<Settings
|
|
2
|
+
import type { Settings } from './generated-types';
|
|
3
|
+
declare const destination: AudienceDestinationDefinition<Settings>;
|
|
4
4
|
export default destination;
|
|
@@ -4,7 +4,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const actions_core_1 = require("@segment/actions-core");
|
|
7
|
-
const utils_1 = require("./utils");
|
|
8
7
|
const syncAudiences_1 = __importDefault(require("./syncAudiences"));
|
|
9
8
|
const destination = {
|
|
10
9
|
name: 'Amazon Ads',
|
|
@@ -21,17 +20,17 @@ const destination = {
|
|
|
21
20
|
{ label: 'Europe (EU)', value: 'https://advertising-api-eu.amazon.com' },
|
|
22
21
|
{ label: 'Far East (FE)', value: 'https://advertising-api-fe.amazon.com' }
|
|
23
22
|
],
|
|
24
|
-
default: '
|
|
23
|
+
default: 'North America (NA)',
|
|
25
24
|
type: 'string',
|
|
26
25
|
required: true
|
|
27
26
|
}
|
|
28
27
|
},
|
|
29
|
-
testAuthentication: async (request, { auth
|
|
28
|
+
testAuthentication: async (request, { auth }) => {
|
|
30
29
|
if (!auth?.accessToken) {
|
|
31
30
|
throw new actions_core_1.InvalidAuthenticationError('Please authenticate via Oauth before enabling the destination.');
|
|
32
31
|
}
|
|
33
32
|
try {
|
|
34
|
-
await request(
|
|
33
|
+
await request('https://advertising-api.amazon.com/v2/profiles', {
|
|
35
34
|
method: 'GET'
|
|
36
35
|
});
|
|
37
36
|
}
|
|
@@ -43,16 +42,11 @@ const destination = {
|
|
|
43
42
|
throw e;
|
|
44
43
|
}
|
|
45
44
|
},
|
|
46
|
-
refreshAccessToken: async (request, { auth
|
|
47
|
-
const endpoint = utils_1.AUTHORIZATION_URL[`${settings.region}`];
|
|
45
|
+
refreshAccessToken: async (request, { auth }) => {
|
|
48
46
|
let res;
|
|
49
|
-
console.log(settings.region, auth, endpoint);
|
|
50
47
|
try {
|
|
51
48
|
res = await request('https://api.amazon.com/auth/o2/token', {
|
|
52
49
|
method: 'POST',
|
|
53
|
-
headers: {
|
|
54
|
-
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'
|
|
55
|
-
},
|
|
56
50
|
body: new URLSearchParams({
|
|
57
51
|
refresh_token: auth.refreshToken,
|
|
58
52
|
client_id: auth.clientId,
|
|
@@ -62,7 +56,6 @@ const destination = {
|
|
|
62
56
|
});
|
|
63
57
|
}
|
|
64
58
|
catch (e) {
|
|
65
|
-
console.log(e);
|
|
66
59
|
const error = e;
|
|
67
60
|
if (error.response?.data?.error === 'invalid_grant') {
|
|
68
61
|
throw new actions_core_1.IntegrationError(`Invalid Authentication: Your refresh token is invalid or expired. Please re-authenticate to fetch a new refresh token.`, actions_core_1.ErrorCodes.REFRESH_TOKEN_EXPIRED, 401);
|
|
@@ -75,166 +68,15 @@ const destination = {
|
|
|
75
68
|
extendRequest({ auth }) {
|
|
76
69
|
return {
|
|
77
70
|
headers: {
|
|
78
|
-
authorization: `Bearer ${auth?.accessToken}
|
|
79
|
-
'Amazon-Advertising-API-ClientID': process.env.ACTIONS_AMAZON_ADS_CLIENT_ID || ''
|
|
71
|
+
authorization: `Bearer ${auth?.accessToken}`
|
|
80
72
|
}
|
|
81
73
|
};
|
|
82
74
|
},
|
|
83
|
-
audienceFields: {
|
|
84
|
-
description: {
|
|
85
|
-
type: 'string',
|
|
86
|
-
label: 'Description',
|
|
87
|
-
required: true,
|
|
88
|
-
description: 'The audience description. Must be an alphanumeric, non-null string between 0 to 1000 characters in length.'
|
|
89
|
-
},
|
|
90
|
-
countryCode: {
|
|
91
|
-
type: 'string',
|
|
92
|
-
label: 'Country Code',
|
|
93
|
-
required: true,
|
|
94
|
-
description: 'A String value representing ISO 3166-1 alpha-2 country code for the members in this audience.'
|
|
95
|
-
},
|
|
96
|
-
externalAudienceId: {
|
|
97
|
-
type: 'string',
|
|
98
|
-
label: 'External Audience Id',
|
|
99
|
-
required: true,
|
|
100
|
-
description: 'The user-defined audience identifier.'
|
|
101
|
-
},
|
|
102
|
-
cpmCents: {
|
|
103
|
-
label: 'CPM Cents',
|
|
104
|
-
type: 'number',
|
|
105
|
-
description: `Cost per thousand impressions (CPM) in cents. For example, $1.00 = 100 cents.`
|
|
106
|
-
},
|
|
107
|
-
currency: {
|
|
108
|
-
label: 'Currency',
|
|
109
|
-
type: 'string',
|
|
110
|
-
description: `The price paid. Base units depend on the currency. As an example, USD should be reported as Dollars.Cents, whereas JPY should be reported as a whole number of Yen. All provided values will be rounded to two digits with toFixed(2).Refer [Aamzon Ads Documentation](https://advertising.amazon.com/API/docs/en-us/amc-advertiser-audience#tag/Audience-Metadata/operation/CreateAudienceMetadataV2) to view supported Currency`
|
|
111
|
-
},
|
|
112
|
-
ttl: {
|
|
113
|
-
type: 'number',
|
|
114
|
-
label: 'Time-to-live',
|
|
115
|
-
required: false,
|
|
116
|
-
description: 'Time-to-live in seconds. The amount of time the record is associated with the audience.'
|
|
117
|
-
},
|
|
118
|
-
advertiserId: {
|
|
119
|
-
label: 'Advertiser ID',
|
|
120
|
-
description: 'Advertiser Id',
|
|
121
|
-
type: 'string',
|
|
122
|
-
required: true
|
|
123
|
-
}
|
|
124
|
-
},
|
|
75
|
+
audienceFields: {},
|
|
125
76
|
audienceConfig: {
|
|
126
77
|
mode: {
|
|
127
78
|
type: 'synced',
|
|
128
79
|
full_audience_sync: false
|
|
129
|
-
},
|
|
130
|
-
async createAudience(request, createAudienceInput) {
|
|
131
|
-
const { audienceName, statsContext, audienceSettings } = createAudienceInput;
|
|
132
|
-
const { statsClient, tags: statsTags } = statsContext || {};
|
|
133
|
-
const statsName = 'createAmazonAudience';
|
|
134
|
-
statsTags?.push(`slug:${destination.slug}`);
|
|
135
|
-
statsClient?.incr(`${statsName}.intialise`, 1, statsTags);
|
|
136
|
-
const endpoint = createAudienceInput.settings.region;
|
|
137
|
-
const description = audienceSettings?.description;
|
|
138
|
-
const advertiser_id = audienceSettings?.advertiserId;
|
|
139
|
-
const external_audience_id = audienceSettings?.externalAudienceId;
|
|
140
|
-
const country_code = audienceSettings?.countryCode;
|
|
141
|
-
const ttl = audienceSettings?.ttl;
|
|
142
|
-
const currency = audienceSettings?.currency;
|
|
143
|
-
const cpm_cents = audienceSettings?.cpmCents;
|
|
144
|
-
if (!advertiser_id) {
|
|
145
|
-
throw new actions_core_1.IntegrationError('Missing advertiserId Value', 'MISSING_REQUIRED_FIELD', 400);
|
|
146
|
-
}
|
|
147
|
-
if (!description) {
|
|
148
|
-
throw new actions_core_1.IntegrationError('Missing description Value', 'MISSING_REQUIRED_FIELD', 400);
|
|
149
|
-
}
|
|
150
|
-
if (!external_audience_id) {
|
|
151
|
-
throw new actions_core_1.IntegrationError('Missing externalAudienceId Value', 'MISSING_REQUIRED_FIELD', 400);
|
|
152
|
-
}
|
|
153
|
-
if (!audienceName) {
|
|
154
|
-
throw new actions_core_1.IntegrationError('Missing audienceName Value', 'MISSING_REQUIRED_FIELD', 400);
|
|
155
|
-
}
|
|
156
|
-
if (!country_code) {
|
|
157
|
-
throw new actions_core_1.IntegrationError('Missing countryCode Value', 'MISSING_REQUIRED_FIELD', 400);
|
|
158
|
-
}
|
|
159
|
-
const payload = {
|
|
160
|
-
name: audienceName,
|
|
161
|
-
description: description,
|
|
162
|
-
targetResource: {
|
|
163
|
-
advertiserId: advertiser_id
|
|
164
|
-
},
|
|
165
|
-
metadata: {
|
|
166
|
-
externalAudienceId: external_audience_id
|
|
167
|
-
},
|
|
168
|
-
countryCode: country_code
|
|
169
|
-
};
|
|
170
|
-
if (ttl) {
|
|
171
|
-
payload.metadata.ttl = ttl;
|
|
172
|
-
}
|
|
173
|
-
if (cpm_cents && currency) {
|
|
174
|
-
if (!utils_1.CURRENCY.includes(currency)) {
|
|
175
|
-
throw new actions_core_1.IntegrationError('Invalid Currency Value', 'INVALID_CURRENCY_VALUE', 400);
|
|
176
|
-
}
|
|
177
|
-
payload.metadata.audienceFees = [];
|
|
178
|
-
payload.metadata?.audienceFees.push({
|
|
179
|
-
currency,
|
|
180
|
-
cpmCents: cpm_cents
|
|
181
|
-
});
|
|
182
|
-
}
|
|
183
|
-
statsTags?.push(`slug:${destination.slug}`);
|
|
184
|
-
statsClient?.incr(`${statsName}.call`, 1, statsTags);
|
|
185
|
-
try {
|
|
186
|
-
let payloadString = JSON.stringify(payload);
|
|
187
|
-
const regex = /"advertiserId":"(\d+)"/;
|
|
188
|
-
payloadString = payloadString.replace(regex, '"advertiserId":$1');
|
|
189
|
-
const response = await request(`${endpoint}/amc/audiences/metadata`, {
|
|
190
|
-
method: 'POST',
|
|
191
|
-
body: payloadString,
|
|
192
|
-
headers: {
|
|
193
|
-
'Content-Type': 'application/vnd.amcaudiences.v1+json'
|
|
194
|
-
}
|
|
195
|
-
});
|
|
196
|
-
const res = await response.text();
|
|
197
|
-
const resString = res.replace(/"audienceId":(\d+)/, '"audienceId":"$1"');
|
|
198
|
-
const externalId = JSON.parse(resString)['audienceId'];
|
|
199
|
-
statsClient?.incr(`${statsName}.success`, 1, statsTags);
|
|
200
|
-
return {
|
|
201
|
-
externalId
|
|
202
|
-
};
|
|
203
|
-
}
|
|
204
|
-
catch (e) {
|
|
205
|
-
statsTags?.push(`error:${e}`);
|
|
206
|
-
statsClient?.incr(`${statsName}.error`, 1, statsTags);
|
|
207
|
-
throw e;
|
|
208
|
-
}
|
|
209
|
-
},
|
|
210
|
-
async getAudience(request, getAudienceInput) {
|
|
211
|
-
const { statsContext } = getAudienceInput;
|
|
212
|
-
const audience_id = getAudienceInput.externalId;
|
|
213
|
-
const endpoint = getAudienceInput.settings.region;
|
|
214
|
-
const { statsClient, tags: statsTags } = statsContext || {};
|
|
215
|
-
const statsName = 'getAudience';
|
|
216
|
-
statsTags?.push(`slug:${destination.slug}`);
|
|
217
|
-
statsClient?.incr(`${statsName}.call`, 1, statsTags);
|
|
218
|
-
if (!audience_id) {
|
|
219
|
-
throw new actions_core_1.IntegrationError('Missing audienceId value', 'MISSING_REQUIRED_FIELD', 400);
|
|
220
|
-
}
|
|
221
|
-
try {
|
|
222
|
-
const response = await request(`${endpoint}/amc/audiences/metadata/${audience_id}`, {
|
|
223
|
-
method: 'GET'
|
|
224
|
-
});
|
|
225
|
-
const res = await response.text();
|
|
226
|
-
const resString = res.replace(/"audienceId":(\d+)/, '"audienceId":"$1"');
|
|
227
|
-
const externalId = JSON.parse(resString)['audienceId'];
|
|
228
|
-
statsClient?.incr(`${statsName}.success`, 1, statsTags);
|
|
229
|
-
return {
|
|
230
|
-
externalId
|
|
231
|
-
};
|
|
232
|
-
}
|
|
233
|
-
catch (e) {
|
|
234
|
-
statsTags?.push(`error:${e}`);
|
|
235
|
-
statsClient?.incr(`${statsName}.error`, 1, statsTags);
|
|
236
|
-
throw e;
|
|
237
|
-
}
|
|
238
80
|
}
|
|
239
81
|
},
|
|
240
82
|
actions: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/amazon-ads/index.ts"],"names":[],"mappings":";;;;;AACA,wDAAgG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/amazon-ads/index.ts"],"names":[],"mappings":";;;;;AACA,wDAAgG;AAIhG,oEAA2C;AAG3C,MAAM,WAAW,GAA4C;IAC3D,IAAI,EAAE,YAAY;IAClB,IAAI,EAAE,oBAAoB;IAC1B,IAAI,EAAE,OAAO;IAEb,cAAc,EAAE;QACd,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE;YACN,MAAM,EAAE;gBACN,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,6CAA6C;gBAC1D,OAAO,EAAE;oBACP,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,oCAAoC,EAAE;oBAC5E,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,uCAAuC,EAAE;oBACxE,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,uCAAuC,EAAE;iBAC3E;gBACD,OAAO,EAAE,oBAAoB;gBAC7B,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;SACF;QACD,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;YAC9C,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE;gBACtB,MAAM,IAAI,yCAA0B,CAAC,gEAAgE,CAAC,CAAA;aACvG;YAED,IAAI;gBACF,MAAM,OAAO,CAAuB,gDAAgD,EAAE;oBACpF,MAAM,EAAE,KAAK;iBACd,CAAC,CAAA;aACH;YAAC,OAAO,CAAM,EAAE;gBACf,MAAM,KAAK,GAAG,CAAkC,CAAA;gBAChD,IAAI,KAAK,CAAC,OAAO,KAAK,cAAc,EAAE;oBACpC,MAAM,IAAI,KAAK,CACb,4HAA4H,CAC7H,CAAA;iBACF;gBACD,MAAM,CAAC,CAAA;aACR;QACH,CAAC;QACD,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;YAC9C,IAAI,GAAG,CAAA;YAEP,IAAI;gBACF,GAAG,GAAG,MAAM,OAAO,CAAuB,sCAAsC,EAAE;oBAChF,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,IAAI,eAAe,CAAC;wBACxB,aAAa,EAAE,IAAI,CAAC,YAAY;wBAChC,SAAS,EAAE,IAAI,CAAC,QAAQ;wBACxB,aAAa,EAAE,IAAI,CAAC,YAAY;wBAChC,UAAU,EAAE,eAAe;qBAC5B,CAAC;iBACH,CAAC,CAAA;aACH;YAAC,OAAO,CAAM,EAAE;gBACf,MAAM,KAAK,GAAG,CAA4B,CAAA;gBAC1C,IAAI,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,KAAK,eAAe,EAAE;oBACnD,MAAM,IAAI,+BAAgB,CACxB,wHAAwH,EACxH,yBAAU,CAAC,qBAAqB,EAChC,GAAG,CACJ,CAAA;iBACF;gBAED,MAAM,IAAI,+BAAgB,CACxB,+CAA+C,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,EAC5E,yBAAU,CAAC,oBAAoB,EAC/B,GAAG,CACJ,CAAA;aACF;YAED,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,CAAA;QACjD,CAAC;KACF;IACD,aAAa,CAAC,EAAE,IAAI,EAAE;QACpB,OAAO;YACL,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,IAAI,EAAE,WAAW,EAAE;aAC7C;SACF,CAAA;IACH,CAAC;IAED,cAAc,EAAE,EAAE;IAElB,cAAc,EAAE;QACd,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,kBAAkB,EAAE,KAAK;SAC1B;KAWF;IACD,OAAO,EAAE;QACP,aAAa,EAAb,uBAAa;KACd;CACF,CAAA;AAED,kBAAe,WAAW,CAAA"}
|
|
@@ -1,15 +1,2 @@
|
|
|
1
1
|
export interface Payload {
|
|
2
|
-
event_name?: string;
|
|
3
|
-
externalUserId: string;
|
|
4
|
-
email?: string;
|
|
5
|
-
firstName?: string;
|
|
6
|
-
lastName?: string;
|
|
7
|
-
phone?: string;
|
|
8
|
-
postal?: string;
|
|
9
|
-
state?: string;
|
|
10
|
-
city?: string;
|
|
11
|
-
address?: string;
|
|
12
|
-
audienceId: string;
|
|
13
|
-
enable_batching: boolean;
|
|
14
|
-
batch_size?: number;
|
|
15
2
|
}
|
|
@@ -1,209 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const actions_core_1 = require("@segment/actions-core");
|
|
4
|
-
const utils_1 = require("../utils");
|
|
5
|
-
const crypto_1 = require("crypto");
|
|
6
3
|
const action = {
|
|
7
|
-
title: 'Sync
|
|
4
|
+
title: 'Sync Audiences',
|
|
8
5
|
description: 'Sync audiences from Segment to Amazon Ads Audience.',
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
type: 'string',
|
|
15
|
-
unsafe_hidden: true,
|
|
16
|
-
default: {
|
|
17
|
-
'@path': '$.event'
|
|
18
|
-
}
|
|
19
|
-
},
|
|
20
|
-
externalUserId: {
|
|
21
|
-
label: 'External User ID',
|
|
22
|
-
description: 'This is an external user identifier defined by data providers.',
|
|
23
|
-
type: 'string',
|
|
24
|
-
required: true,
|
|
25
|
-
default: { '@path': '$.userId' }
|
|
26
|
-
},
|
|
27
|
-
email: {
|
|
28
|
-
label: 'Email',
|
|
29
|
-
description: 'User email address. Vaule will be hashed before sending to Amazon.',
|
|
30
|
-
type: 'string',
|
|
31
|
-
required: false,
|
|
32
|
-
default: { '@path': '$.properties.email' }
|
|
33
|
-
},
|
|
34
|
-
firstName: {
|
|
35
|
-
label: 'First name',
|
|
36
|
-
description: 'User first name. Vaue will be hashed before sending to Amazon.',
|
|
37
|
-
type: 'string',
|
|
38
|
-
required: false,
|
|
39
|
-
default: { '@path': '$.properties.first_name' }
|
|
40
|
-
},
|
|
41
|
-
lastName: {
|
|
42
|
-
label: 'Last name',
|
|
43
|
-
description: 'User Last name. Vaue will be hashed before sending to Amazon.',
|
|
44
|
-
type: 'string',
|
|
45
|
-
required: false,
|
|
46
|
-
default: { '@path': '$.properties.last_name' }
|
|
47
|
-
},
|
|
48
|
-
phone: {
|
|
49
|
-
label: 'Phone',
|
|
50
|
-
description: 'Phone Number. Vaue will be hashed before sending to Amazon.',
|
|
51
|
-
type: 'string',
|
|
52
|
-
required: false,
|
|
53
|
-
default: { '@path': '$.properties.phone' }
|
|
54
|
-
},
|
|
55
|
-
postal: {
|
|
56
|
-
label: 'Postal',
|
|
57
|
-
description: 'POstal Code. Vaue will be hashed before sending to Amazon.',
|
|
58
|
-
type: 'string',
|
|
59
|
-
required: false,
|
|
60
|
-
default: { '@path': '$.properties.postal' }
|
|
61
|
-
},
|
|
62
|
-
state: {
|
|
63
|
-
label: 'Postal',
|
|
64
|
-
description: 'State Code. Vaue will be hashed before sending to Amazon.',
|
|
65
|
-
type: 'string',
|
|
66
|
-
required: false,
|
|
67
|
-
default: { '@path': '$.properties.state' }
|
|
68
|
-
},
|
|
69
|
-
city: {
|
|
70
|
-
label: 'City',
|
|
71
|
-
description: 'City name. Vaue will be hashed before sending to Amazon.',
|
|
72
|
-
type: 'string',
|
|
73
|
-
required: false,
|
|
74
|
-
default: { '@path': '$.properties.city' }
|
|
75
|
-
},
|
|
76
|
-
address: {
|
|
77
|
-
label: 'Address',
|
|
78
|
-
description: 'Address Code. Value will be hashed before sending to Amazon.',
|
|
79
|
-
type: 'string',
|
|
80
|
-
required: false,
|
|
81
|
-
default: { '@path': '$.properties.address' }
|
|
82
|
-
},
|
|
83
|
-
audienceId: {
|
|
84
|
-
label: 'Audience ID',
|
|
85
|
-
type: 'string',
|
|
86
|
-
required: true,
|
|
87
|
-
unsafe_hidden: true,
|
|
88
|
-
description: 'An number value representing the Amazon audience identifier. This is the identifier that is returned during audience creation.',
|
|
89
|
-
default: {
|
|
90
|
-
'@path': '$.context.personas.external_audience_id'
|
|
91
|
-
}
|
|
92
|
-
},
|
|
93
|
-
enable_batching: {
|
|
94
|
-
label: 'Enable Batching',
|
|
95
|
-
description: 'When enabled,segment will send data in batching',
|
|
96
|
-
type: 'boolean',
|
|
97
|
-
required: true,
|
|
98
|
-
default: true
|
|
99
|
-
},
|
|
100
|
-
batch_size: {
|
|
101
|
-
label: 'Batch Size',
|
|
102
|
-
description: 'Maximum number of events to include in each batch. Actual batch sizes may be lower.',
|
|
103
|
-
type: 'number',
|
|
104
|
-
unsafe_hidden: true,
|
|
105
|
-
required: false,
|
|
106
|
-
default: 10000
|
|
107
|
-
}
|
|
108
|
-
},
|
|
109
|
-
perform: (request, { settings, payload, statsContext, audienceSettings }) => {
|
|
110
|
-
return processPayload(request, settings, [payload], statsContext, audienceSettings);
|
|
111
|
-
},
|
|
112
|
-
performBatch: (request, { settings, payload: payloads, statsContext, audienceSettings }) => {
|
|
113
|
-
return processPayload(request, settings, payloads, statsContext, audienceSettings);
|
|
114
|
-
}
|
|
115
|
-
};
|
|
116
|
-
async function processPayload(request, settings, payload, statsContext, audienceSettings) {
|
|
117
|
-
const { statsClient, tags: statsTags } = statsContext || {};
|
|
118
|
-
const statsName = 'syncAmazonAdsAudience';
|
|
119
|
-
statsClient?.incr(`${statsName}.intialise`, 1, statsTags);
|
|
120
|
-
try {
|
|
121
|
-
const payloadRecord = createPayloadToUploadRecords(payload, audienceSettings);
|
|
122
|
-
const payloadString = JSON.stringify(payloadRecord).replace(/"audienceId":"(\d+)"/, '"audienceId":$1');
|
|
123
|
-
const response = await request(`${settings.region}/amc/audiences/records`, {
|
|
124
|
-
method: 'POST',
|
|
125
|
-
body: payloadString,
|
|
126
|
-
headers: {
|
|
127
|
-
'Content-Type': 'application/vnd.amcaudiences.v1+json'
|
|
128
|
-
}
|
|
6
|
+
fields: {},
|
|
7
|
+
perform: (request, data) => {
|
|
8
|
+
return request('https://example.com', {
|
|
9
|
+
method: 'post',
|
|
10
|
+
json: data.payload
|
|
129
11
|
});
|
|
130
|
-
const result = await response.json();
|
|
131
|
-
const jobRequestId = result?.jobRequestId;
|
|
132
|
-
statsTags?.push(`jobRequestId:${jobRequestId}`);
|
|
133
|
-
statsClient?.incr(`${statsName}.success`, 1, statsTags);
|
|
134
|
-
if (!jobRequestId) {
|
|
135
|
-
throw new actions_core_1.IntegrationError('Invalid response from upload audinece record call', 'INVALID_RESPONSE', 400);
|
|
136
|
-
}
|
|
137
|
-
return {
|
|
138
|
-
result
|
|
139
|
-
};
|
|
140
12
|
}
|
|
141
|
-
|
|
142
|
-
if (e instanceof utils_1.AmazonAdsError) {
|
|
143
|
-
const message = JSON.parse(e.response?.data?.message || '');
|
|
144
|
-
statsTags?.push(`error:${message}`);
|
|
145
|
-
statsClient?.incr(`${statsName}.error`, 1, statsTags);
|
|
146
|
-
throw new actions_core_1.APIError(message, e.response?.status);
|
|
147
|
-
}
|
|
148
|
-
else if (e instanceof actions_core_1.IntegrationError) {
|
|
149
|
-
statsTags?.push(`error:${e.message}`);
|
|
150
|
-
statsClient?.incr(`${statsName}.error`, 1, statsTags);
|
|
151
|
-
throw new actions_core_1.APIError(e.message, 400);
|
|
152
|
-
}
|
|
153
|
-
else {
|
|
154
|
-
statsTags?.push(`error:${e}`);
|
|
155
|
-
statsClient?.incr(`${statsName}.error`, 1, statsTags);
|
|
156
|
-
throw e;
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
function createPayloadToUploadRecords(payloads, audienceSettings) {
|
|
161
|
-
const records = [];
|
|
162
|
-
const { audienceId } = payloads[0];
|
|
163
|
-
payloads.forEach((payload) => {
|
|
164
|
-
const hashedPII = {};
|
|
165
|
-
if (payload.firstName) {
|
|
166
|
-
hashedPII.firstname = normalizeAndHash(payload.firstName);
|
|
167
|
-
}
|
|
168
|
-
if (payload.lastName) {
|
|
169
|
-
hashedPII.lastname = normalizeAndHash(payload.lastName);
|
|
170
|
-
}
|
|
171
|
-
if (payload.address) {
|
|
172
|
-
hashedPII.address = normalizeAndHash(payload.address);
|
|
173
|
-
}
|
|
174
|
-
if (payload.postal) {
|
|
175
|
-
hashedPII.postal = normalizeAndHash(payload.postal);
|
|
176
|
-
}
|
|
177
|
-
if (payload.phone) {
|
|
178
|
-
hashedPII.phone = normalizeAndHash(payload.phone);
|
|
179
|
-
}
|
|
180
|
-
if (payload.city) {
|
|
181
|
-
hashedPII.city = normalizeAndHash(payload.city);
|
|
182
|
-
}
|
|
183
|
-
if (payload.state) {
|
|
184
|
-
hashedPII.state = normalizeAndHash(payload.state);
|
|
185
|
-
}
|
|
186
|
-
if (payload.email) {
|
|
187
|
-
hashedPII.email = normalizeAndHash(payload.email);
|
|
188
|
-
}
|
|
189
|
-
const payloadRecord = {
|
|
190
|
-
externalUserId: payload.externalUserId,
|
|
191
|
-
countryCode: audienceSettings.countryCode,
|
|
192
|
-
action: payload.event_name == 'Audience Entered' ? utils_1.CONSTANTS.CREATE : utils_1.CONSTANTS.DELETE,
|
|
193
|
-
hashedPII: [hashedPII]
|
|
194
|
-
};
|
|
195
|
-
records.push(payloadRecord);
|
|
196
|
-
});
|
|
197
|
-
return {
|
|
198
|
-
records: records,
|
|
199
|
-
audienceId: audienceId
|
|
200
|
-
};
|
|
201
|
-
}
|
|
202
|
-
function normalizeAndHash(data) {
|
|
203
|
-
const normalizedData = data.toLowerCase().trim();
|
|
204
|
-
const hash = crypto_1.createHash('sha256');
|
|
205
|
-
hash.update(normalizedData);
|
|
206
|
-
return hash.digest('hex');
|
|
207
|
-
}
|
|
13
|
+
};
|
|
208
14
|
exports.default = action;
|
|
209
15
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/amazon-ads/syncAudiences/index.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/amazon-ads/syncAudiences/index.ts"],"names":[],"mappings":";;AAIA,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,gBAAgB;IACvB,WAAW,EAAE,qDAAqD;IAClE,MAAM,EAAE,EAAE;IACV,OAAO,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE;QACzB,OAAO,OAAO,CAAC,qBAAqB,EAAE;YACpC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,OAAO;SACnB,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
|
|
@@ -20,28 +20,3 @@ export declare class AmazonRefreshTokenError extends HTTPError {
|
|
|
20
20
|
};
|
|
21
21
|
};
|
|
22
22
|
}
|
|
23
|
-
export interface HashedPIIObject {
|
|
24
|
-
firstname?: string;
|
|
25
|
-
lastname?: string;
|
|
26
|
-
phone?: string;
|
|
27
|
-
city?: string;
|
|
28
|
-
state?: string;
|
|
29
|
-
postal?: string;
|
|
30
|
-
email?: string;
|
|
31
|
-
address?: string;
|
|
32
|
-
}
|
|
33
|
-
export interface AudienceRecord {
|
|
34
|
-
hashedPII?: HashedPIIObject[];
|
|
35
|
-
externalUserId: string;
|
|
36
|
-
countryCode: string;
|
|
37
|
-
action: string;
|
|
38
|
-
}
|
|
39
|
-
export interface TargetResourceRecords {
|
|
40
|
-
connectionId: string;
|
|
41
|
-
targetTypes: string[];
|
|
42
|
-
}
|
|
43
|
-
export interface AudienceRecordPayload {
|
|
44
|
-
records: AudienceRecord[];
|
|
45
|
-
targetResource: TargetResourceRecords;
|
|
46
|
-
audienceId: number;
|
|
47
|
-
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { ContextFromDecorator } from './operationTracking';
|
|
2
2
|
export declare const track: ((decoratorArgs?: ({
|
|
3
3
|
onError?: ((ctx: import("./operationTracking").OperationErrorHandlerContext<import("./operationTracking").TryCatchFinallyContext<(this: any, ...args: any[]) => any>>) => void) | undefined;
|
|
4
|
-
} & {
|
|
4
|
+
} & import("./operationTracking").OperationLoggerDecoratorArgs & {
|
|
5
5
|
onTry?: ((ctx: import("./operationTracking").TryCatchFinallyContext<(this: any, ...args: any[]) => any>) => void) | undefined;
|
|
6
6
|
onFinally?: ((ctx: import("./operationTracking").TryCatchFinallyContext<(this: any, ...args: any[]) => any>) => void) | undefined;
|
|
7
|
-
} &
|
|
7
|
+
} & {
|
|
8
8
|
shouldStats?: ((args: import("./operationTracking").OperationStatsEventArgs) => boolean | void) | undefined;
|
|
9
9
|
} & {
|
|
10
10
|
wrapIntegrationError?: ((ctx: import("./operationTracking").TryCatchFinallyContext<(this: any, ...args: any[]) => any>) => import("@segment/actions-core/*").IntegrationError | [message: string, code: string, status: number]) | undefined;
|
|
@@ -15,6 +15,9 @@ export declare const track: ((decoratorArgs?: ({
|
|
|
15
15
|
}) | undefined;
|
|
16
16
|
} & {
|
|
17
17
|
_contextType: import("./operationTracking").TryCatchFinallyContext<(this: any, ...args: any[]) => any> & {
|
|
18
|
+
start?: number | undefined;
|
|
19
|
+
duration?: number | undefined;
|
|
20
|
+
} & {
|
|
18
21
|
decoratorArgs?: {
|
|
19
22
|
onError?: ((ctx: import("./operationTracking").OperationErrorHandlerContext<import("./operationTracking").TryCatchFinallyContext<(this: any, ...args: any[]) => any>>) => void) | undefined;
|
|
20
23
|
} | undefined;
|
|
@@ -22,19 +25,16 @@ export declare const track: ((decoratorArgs?: ({
|
|
|
22
25
|
parent?: (import("./operationTracking").TryCatchFinallyContext<(this: any, ...args: any[]) => any> & any) | undefined;
|
|
23
26
|
sharedContext: {};
|
|
24
27
|
} & {
|
|
25
|
-
|
|
26
|
-
|
|
28
|
+
logs: string[];
|
|
29
|
+
logMetadata?: Record<string, unknown> | undefined;
|
|
30
|
+
decoratorArgs?: import("./operationTracking").OperationLoggerDecoratorArgs | undefined;
|
|
31
|
+
sharedContext: import("./operationTracking").OperationLoggerSharedContext;
|
|
27
32
|
} & {
|
|
28
33
|
onFinally: (() => void)[];
|
|
29
34
|
decoratorArgs?: {
|
|
30
35
|
onTry?: ((ctx: import("./operationTracking").TryCatchFinallyContext<(this: any, ...args: any[]) => any>) => void) | undefined;
|
|
31
36
|
onFinally?: ((ctx: import("./operationTracking").TryCatchFinallyContext<(this: any, ...args: any[]) => any>) => void) | undefined;
|
|
32
37
|
} | undefined;
|
|
33
|
-
} & {
|
|
34
|
-
logs: string[];
|
|
35
|
-
logMetadata?: Record<string, unknown> | undefined;
|
|
36
|
-
decoratorArgs?: import("./operationTracking").OperationLoggerDecoratorArgs | undefined;
|
|
37
|
-
sharedContext: import("./operationTracking").OperationLoggerSharedContext;
|
|
38
38
|
} & {
|
|
39
39
|
tags: string[];
|
|
40
40
|
sharedContext: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/destinations/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/destinations/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA,wDAAmD;AACnD,gDAAuB;AAWV,QAAA,YAAY,GAA0C,EAAE,CAAA;AACxD,QAAA,QAAQ,GAAsC,EAAE,CAAA;AAW7D,QAAQ,CAAC,0BAA0B,EAAE,UAAU,CAAC,CAAA;AAChD,QAAQ,CAAC,0BAA0B,EAAE,sBAAsB,CAAC,CAAA;AAC5D,QAAQ,CAAC,0BAA0B,EAAE,gBAAgB,CAAC,CAAA;AACtD,QAAQ,CAAC,0BAA0B,EAAE,aAAa,CAAC,CAAA;AACnD,QAAQ,CAAC,0BAA0B,EAAE,SAAS,CAAC,CAAA;AAC/C,QAAQ,CAAC,0BAA0B,EAAE,aAAa,CAAC,CAAA;AACnD,QAAQ,CAAC,0BAA0B,EAAE,SAAS,CAAC,CAAA;AAC/C,QAAQ,CAAC,0BAA0B,EAAE,WAAW,CAAC,CAAA;AACjD,QAAQ,CAAC,0BAA0B,EAAE,oBAAoB,CAAC,CAAA;AAC1D,QAAQ,CAAC,0BAA0B,EAAE,cAAc,CAAC,CAAA;AACpD,QAAQ,CAAC,0BAA0B,EAAE,WAAW,CAAC,CAAA;AACjD,QAAQ,CAAC,0BAA0B,EAAE,6BAA6B,CAAC,CAAA;AACnE,QAAQ,CAAC,0BAA0B,EAAE,2BAA2B,CAAC,CAAA;AACjE,QAAQ,CAAC,0BAA0B,EAAE,4BAA4B,CAAC,CAAA;AAClE,QAAQ,CAAC,0BAA0B,EAAE,6BAA6B,CAAC,CAAA;AACnE,QAAQ,CAAC,0BAA0B,EAAE,aAAa,CAAC,CAAA;AACnD,QAAQ,CAAC,0BAA0B,EAAE,aAAa,CAAC,CAAA;AACnD,QAAQ,CAAC,0BAA0B,EAAE,6BAA6B,CAAC,CAAA;AACnE,QAAQ,CAAC,0BAA0B,EAAE,sBAAsB,CAAC,CAAA;AAC5D,QAAQ,CAAC,0BAA0B,EAAE,+BAA+B,CAAC,CAAA;AACrE,QAAQ,CAAC,0BAA0B,EAAE,iBAAiB,CAAC,CAAA;AACvD,QAAQ,CAAC,0BAA0B,EAAE,QAAQ,CAAC,CAAA;AAC9C,QAAQ,CAAC,0BAA0B,EAAE,gBAAgB,CAAC,CAAA;AACtD,QAAQ,CAAC,0BAA0B,EAAE,SAAS,CAAC,CAAA;AAC/C,QAAQ,CAAC,0BAA0B,EAAE,sBAAsB,CAAC,CAAA;AAC5D,QAAQ,CAAC,0BAA0B,EAAE,YAAY,CAAC,CAAA;AAClD,QAAQ,CAAC,0BAA0B,EAAE,aAAa,CAAC,CAAA;AACnD,QAAQ,CAAC,0BAA0B,EAAE,YAAY,CAAC,CAAA;AAClD,QAAQ,CAAC,0BAA0B,EAAE,kBAAkB,CAAC,CAAA;AACxD,QAAQ,CAAC,0BAA0B,EAAE,aAAa,CAAC,CAAA;AACnD,QAAQ,CAAC,0BAA0B,EAAE,aAAa,CAAC,CAAA;AACnD,QAAQ,CAAC,0BAA0B,EAAE,QAAQ,CAAC,CAAA;AAC9C,QAAQ,CAAC,0BAA0B,EAAE,cAAc,CAAC,CAAA;AACpD,QAAQ,CAAC,0BAA0B,EAAE,8BAA8B,CAAC,CAAA;AACpE,QAAQ,CAAC,0BAA0B,EAAE,SAAS,CAAC,CAAA;AAC/C,QAAQ,CAAC,0BAA0B,EAAE,wBAAwB,CAAC,CAAA;AAC9D,QAAQ,CAAC,0BAA0B,EAAE,aAAa,CAAC,CAAA;AACnD,QAAQ,CAAC,0BAA0B,EAAE,sBAAsB,CAAC,CAAA;AAC5D,QAAQ,CAAC,0BAA0B,EAAE,oBAAoB,CAAC,CAAA;AAC1D,QAAQ,CAAC,0BAA0B,EAAE,UAAU,CAAC,CAAA;AAChD,QAAQ,CAAC,0BAA0B,EAAE,WAAW,CAAC,CAAA;AACjD,QAAQ,CAAC,0BAA0B,EAAE,UAAU,CAAC,CAAA;AAChD,QAAQ,CAAC,0BAA0B,EAAE,cAAc,CAAC,CAAA;AACpD,QAAQ,CAAC,0BAA0B,EAAE,YAAY,CAAC,CAAA;AAClD,QAAQ,CAAC,0BAA0B,EAAE,YAAY,CAAC,CAAA;AAClD,QAAQ,CAAC,0BAA0B,EAAE,YAAY,CAAC,CAAA;AAClD,QAAQ,CAAC,0BAA0B,EAAE,WAAW,CAAC,CAAA;AACjD,QAAQ,CAAC,0BAA0B,EAAE,oBAAoB,CAAC,CAAA;AAC1D,QAAQ,CAAC,0BAA0B,EAAE,WAAW,CAAC,CAAA;AACjD,QAAQ,CAAC,0BAA0B,EAAE,qBAAqB,CAAC,CAAA;AAC3D,QAAQ,CAAC,0BAA0B,EAAE,iBAAiB,CAAC,CAAA;AACvD,QAAQ,CAAC,0BAA0B,EAAE,oBAAoB,CAAC,CAAA;AAC1D,QAAQ,CAAC,0BAA0B,EAAE,OAAO,CAAC,CAAA;AAC7C,QAAQ,CAAC,0BAA0B,EAAE,cAAc,CAAC,CAAA;AACpD,QAAQ,CAAC,0BAA0B,EAAE,aAAa,CAAC,CAAA;AACnD,QAAQ,CAAC,0BAA0B,EAAE,kBAAkB,CAAC,CAAA;AACxD,QAAQ,CAAC,0BAA0B,EAAE,iBAAiB,CAAC,CAAA;AACvD,QAAQ,CAAC,0BAA0B,EAAE,8BAA8B,CAAC,CAAA;AACpE,QAAQ,CAAC,0BAA0B,EAAE,yBAAyB,CAAC,CAAA;AAC/D,QAAQ,CAAC,0BAA0B,EAAE,oBAAoB,CAAC,CAAA;AAC1D,QAAQ,CAAC,0BAA0B,EAAE,aAAa,CAAC,CAAA;AACnD,QAAQ,CAAC,0BAA0B,EAAE,WAAW,CAAC,CAAA;AACjD,QAAQ,CAAC,0BAA0B,EAAE,QAAQ,CAAC,CAAA;AAC9C,QAAQ,CAAC,0BAA0B,EAAE,YAAY,CAAC,CAAA;AAClD,QAAQ,CAAC,0BAA0B,EAAE,UAAU,CAAC,CAAA;AAChD,QAAQ,CAAC,0BAA0B,EAAE,QAAQ,CAAC,CAAA;AAC9C,QAAQ,CAAC,0BAA0B,EAAE,YAAY,CAAC,CAAA;AAClD,QAAQ,CAAC,0BAA0B,EAAE,YAAY,CAAC,CAAA;AAClD,QAAQ,CAAC,0BAA0B,EAAE,8CAA8C,CAAC,CAAA;AACpF,QAAQ,CAAC,0BAA0B,EAAE,kBAAkB,CAAC,CAAA;AACxD,QAAQ,CAAC,0BAA0B,EAAE,WAAW,CAAC,CAAA;AACjD,QAAQ,CAAC,0BAA0B,EAAE,qBAAqB,CAAC,CAAA;AAC3D,QAAQ,CAAC,0BAA0B,EAAE,aAAa,CAAC,CAAA;AACnD,QAAQ,CAAC,0BAA0B,EAAE,aAAa,CAAC,CAAA;AACnD,QAAQ,CAAC,0BAA0B,EAAE,sBAAsB,CAAC,CAAA;AAC5D,QAAQ,CAAC,0BAA0B,EAAE,8BAA8B,CAAC,CAAA;AACpE,QAAQ,CAAC,0BAA0B,EAAE,YAAY,CAAC,CAAA;AAClD,QAAQ,CAAC,0BAA0B,EAAE,sBAAsB,CAAC,CAAA;AAC5D,QAAQ,CAAC,0BAA0B,EAAE,QAAQ,CAAC,CAAA;AAC9C,QAAQ,CAAC,0BAA0B,EAAE,YAAY,CAAC,CAAA;AAClD,QAAQ,CAAC,0BAA0B,EAAE,QAAQ,CAAC,CAAA;AAC9C,QAAQ,CAAC,0BAA0B,EAAE,WAAW,CAAC,CAAA;AACjD,QAAQ,CAAC,0BAA0B,EAAE,SAAS,CAAC,CAAA;AAC/C,QAAQ,CAAC,0BAA0B,EAAE,aAAa,CAAC,CAAA;AACnD,QAAQ,CAAC,0BAA0B,EAAE,mBAAmB,CAAC,CAAA;AACzD,QAAQ,CAAC,0BAA0B,EAAE,SAAS,CAAC,CAAA;AAC/C,QAAQ,CAAC,0BAA0B,EAAE,OAAO,CAAC,CAAA;AAC7C,QAAQ,CAAC,0BAA0B,EAAE,oBAAoB,CAAC,CAAA;AAC1D,QAAQ,CAAC,0BAA0B,EAAE,UAAU,CAAC,CAAA;AAChD,QAAQ,CAAC,0BAA0B,EAAE,qBAAqB,CAAC,CAAA;AAC3D,QAAQ,CAAC,0BAA0B,EAAE,WAAW,CAAC,CAAA;AACjD,QAAQ,CAAC,0BAA0B,EAAE,SAAS,CAAC,CAAA;AAC/C,QAAQ,CAAC,0BAA0B,EAAE,WAAW,CAAC,CAAA;AACjD,QAAQ,CAAC,0BAA0B,EAAE,QAAQ,CAAC,CAAA;AAC9C,QAAQ,CAAC,0BAA0B,EAAE,UAAU,CAAC,CAAA;AAChD,QAAQ,CAAC,0BAA0B,EAAE,SAAS,CAAC,CAAA;AAC/C,QAAQ,CAAC,0BAA0B,EAAE,cAAc,CAAC,CAAA;AACpD,QAAQ,CAAC,0BAA0B,EAAE,YAAY,CAAC,CAAA;AAClD,QAAQ,CAAC,0BAA0B,EAAE,aAAa,CAAC,CAAA;AACnD,QAAQ,CAAC,0BAA0B,EAAE,0BAA0B,CAAC,CAAA;AAChE,QAAQ,CAAC,0BAA0B,EAAE,iBAAiB,CAAC,CAAA;AACvD,QAAQ,CAAC,0BAA0B,EAAE,0CAA0C,CAAC,CAAA;AAChF,QAAQ,CAAC,0BAA0B,EAAE,2BAA2B,CAAC,CAAA;AACjE,QAAQ,CAAC,0BAA0B,EAAE,aAAa,CAAC,CAAA;AACnD,QAAQ,CAAC,0BAA0B,EAAE,mBAAmB,CAAC,CAAA;AACzD,QAAQ,CAAC,0BAA0B,EAAE,WAAW,CAAC,CAAA;AACjD,QAAQ,CAAC,0BAA0B,EAAE,4BAA4B,CAAC,CAAA;AAClE,QAAQ,CAAC,0BAA0B,EAAE,eAAe,CAAC,CAAA;AACrD,QAAQ,CAAC,0BAA0B,EAAE,WAAW,CAAC,CAAA;AACjD,QAAQ,CAAC,0BAA0B,EAAE,wBAAwB,CAAC,CAAA;AAC9D,QAAQ,CAAC,0BAA0B,EAAE,aAAa,CAAC,CAAA;AACnD,QAAQ,CAAC,0BAA0B,EAAE,wBAAwB,CAAC,CAAA;AAC9D,QAAQ,CAAC,0BAA0B,EAAE,qBAAqB,CAAC,CAAA;AAC3D,QAAQ,CAAC,0BAA0B,EAAE,YAAY,CAAC,CAAA;AAClD,QAAQ,CAAC,0BAA0B,EAAE,eAAe,CAAC,CAAA;AACrD,QAAQ,CAAC,0BAA0B,EAAE,cAAc,CAAC,CAAA;AACpD,QAAQ,CAAC,0BAA0B,EAAE,UAAU,CAAC,CAAA;AAChD,QAAQ,CAAC,0BAA0B,EAAE,SAAS,CAAC,CAAA;AAC/C,QAAQ,CAAC,0BAA0B,EAAE,SAAS,CAAC,CAAA;AAC/C,QAAQ,CAAC,0BAA0B,EAAE,mBAAmB,CAAC,CAAA;AACzD,QAAQ,CAAC,0BAA0B,EAAE,UAAU,CAAC,CAAA;AAChD,QAAQ,CAAC,0BAA0B,EAAE,cAAc,CAAC,CAAA;AACpD,QAAQ,CAAC,0BAA0B,EAAE,aAAa,CAAC,CAAA;AACnD,QAAQ,CAAC,0BAA0B,EAAE,WAAW,CAAC,CAAA;AACjD,QAAQ,CAAC,0BAA0B,EAAE,sCAAsC,CAAC,CAAA;AAC5E,QAAQ,CAAC,0BAA0B,EAAE,8BAA8B,CAAC,CAAA;AACpE,QAAQ,CAAC,0BAA0B,EAAE,iBAAiB,CAAC,CAAA;AACvD,QAAQ,CAAC,0BAA0B,EAAE,OAAO,CAAC,CAAA;AAC7C,QAAQ,CAAC,0BAA0B,EAAE,cAAc,CAAC,CAAA;AACpD,QAAQ,CAAC,0BAA0B,EAAE,oBAAoB,CAAC,CAAA;AAC1D,QAAQ,CAAC,0BAA0B,EAAE,SAAS,CAAC,CAAA;AAC/C,QAAQ,CAAC,0BAA0B,EAAE,kBAAkB,CAAC,CAAA;AACxD,QAAQ,CAAC,0BAA0B,EAAE,cAAc,CAAC,CAAA;AACpD,QAAQ,CAAC,0BAA0B,EAAE,aAAa,CAAC,CAAA;AACnD,QAAQ,CAAC,0BAA0B,EAAE,SAAS,CAAC,CAAA;AAC/C,QAAQ,CAAC,0BAA0B,EAAE,UAAU,CAAC,CAAA;AAChD,QAAQ,CAAC,0BAA0B,EAAE,cAAc,CAAC,CAAA;AACpD,QAAQ,CAAC,0BAA0B,EAAE,cAAc,CAAC,CAAA;AACpD,QAAQ,CAAC,0BAA0B,EAAE,UAAU,CAAC,CAAA;AAChD,QAAQ,CAAC,0BAA0B,EAAE,cAAc,CAAC,CAAA;AACpD,QAAQ,CAAC,0BAA0B,EAAE,eAAe,CAAC,CAAA;AAGrD,SAAS,QAAQ,CAAC,EAAc,EAAE,eAAuB;IAEvD,MAAM,UAAU,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,OAAO,CAAA;IACnD,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;IACrD,MAAM,CAAC,SAAS,CAAC,GAAG,cAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAA;IAExE,gBAAQ,CAAC,EAAE,CAAC,GAAG;QACb,UAAU;QACV,SAAS;QACT,IAAI,EAAE,YAAY;KACnB,CAAA;IAID,oBAAY,CAAC,SAAS,CAAC,GAAG,UAAwC,CAAA;AACpE,CAAC;AAGD,KAAK,UAAU,kBAAkB,CAAC,IAAY;IAC5C,MAAM,WAAW,GAAG,MAAM,kDAAO,KAAK,IAAI,EAAE,IAAE,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAGxE,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,OAAO,WAAW,EAAE,OAAO,KAAK,QAAQ,EAAE;QAClE,OAAO,IAAI,CAAA;KACZ;IAED,OAAO,WAAW,CAAA;AACpB,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,GAAW;IAChD,MAAM,WAAW,GAAG,oBAAY,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAA;IAExE,IAAI,CAAC,WAAW,EAAE;QAChB,OAAO,IAAI,CAAA;KACZ;IAGD,OAAO,IAAI,0BAAW,CAAC,WAAyC,CAAC,CAAA;AACnE,CAAC;AAED,SAAgB,kBAAkB,CAAC,EAAU;IAC3C,MAAM,WAAW,GAAG,gBAAQ,CAAC,EAAE,CAAC,CAAA;IAEhC,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE;QAC5B,OAAO,IAAI,CAAA;KACZ;IAED,OAAO,IAAI,0BAAW,CAAC,WAAW,CAAC,UAAU,CAAC,CAAA;AAChD,CAAC;AARD,gDAQC;AAEM,KAAK,UAAU,uBAAuB,CAAC,WAAmB;IAC/D,OAAO,kBAAkB,CAAC,WAAW,CAAC,IAAI,uBAAuB,CAAC,WAAW,CAAC,CAAA;AAChF,CAAC;AAFD,0DAEC"}
|