fleek-track-analytics 0.0.21 → 0.0.24
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/analytics-tool/lazy-load-tool.d.ts +1 -1
- package/dist/analytics-tool/lazy-load-tool.js +29 -9
- package/dist/analytics-tool/lazy-load-tool.js.map +1 -1
- package/dist/analytics-tool/react-native-segment.js +17 -5
- package/dist/analytics-tool/react-native-segment.js.map +1 -1
- package/dist/event-map/event-map.d.ts +7 -1
- package/dist/event-map/event-map.js +1 -0
- package/dist/event-map/event-map.js.map +1 -1
- package/dist/init/init.js +2 -2
- package/dist/init/init.js.map +1 -1
- package/dist/init/types.d.ts +1 -1
- package/dist/track-analytics/track-analytics.d.ts +1 -1
- package/dist/track-analytics/track-analytics.js +2 -3
- package/dist/track-analytics/track-analytics.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { tAPP, tPLATFORM } from '../types';
|
|
2
|
-
export declare const lazyLoadTool: (platform: tPLATFORM, app: tAPP) => import("../init/types").IAnalyticsWrapper | null
|
|
2
|
+
export declare const lazyLoadTool: (platform: tPLATFORM, app: tAPP) => Promise<import("../init/types").IAnalyticsWrapper | null>;
|
|
@@ -1,15 +1,36 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
2
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
26
|
exports.lazyLoadTool = void 0;
|
|
4
|
-
const
|
|
5
|
-
const web_segment_1 = require("./web-segment");
|
|
6
|
-
const getAnalyticsToolWrapper = (platform) => {
|
|
27
|
+
const getAnalyticsToolWrapper = async (platform) => {
|
|
7
28
|
try {
|
|
8
29
|
if (platform === 'REACT_NATIVE') {
|
|
9
|
-
return
|
|
30
|
+
return (await Promise.resolve().then(() => __importStar(require('./react-native-segment')))).reactNativeSegment;
|
|
10
31
|
}
|
|
11
32
|
if (platform === 'NODE' || platform === 'WEB') {
|
|
12
|
-
return
|
|
33
|
+
return (await Promise.resolve().then(() => __importStar(require('./web-segment')))).webSegment;
|
|
13
34
|
}
|
|
14
35
|
return null;
|
|
15
36
|
}
|
|
@@ -21,18 +42,17 @@ const getAnalyticsToolWrapper = (platform) => {
|
|
|
21
42
|
const ERROR_MESSAGES = {
|
|
22
43
|
TOOL_INIT_FAILED_AT_LAZY_LOAD: 'TOOL_INIT_FAILED_AT_LAZY_LOAD',
|
|
23
44
|
};
|
|
24
|
-
const lazyLoadTool = (platform, app) => {
|
|
45
|
+
const lazyLoadTool = async (platform, app) => {
|
|
25
46
|
let tool = null;
|
|
26
47
|
try {
|
|
27
|
-
const toolWrapper = getAnalyticsToolWrapper(platform);
|
|
48
|
+
const toolWrapper = await getAnalyticsToolWrapper(platform);
|
|
28
49
|
if (toolWrapper) {
|
|
29
|
-
tool = toolWrapper(app);
|
|
50
|
+
tool = await Promise.resolve(toolWrapper(app));
|
|
30
51
|
}
|
|
31
52
|
}
|
|
32
53
|
catch (e) {
|
|
33
54
|
console.error(ERROR_MESSAGES.TOOL_INIT_FAILED_AT_LAZY_LOAD, { platform, app });
|
|
34
55
|
}
|
|
35
|
-
console.log('Reutning tool from lazy load', tool);
|
|
36
56
|
return tool;
|
|
37
57
|
};
|
|
38
58
|
exports.lazyLoadTool = lazyLoadTool;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lazy-load-tool.js","sourceRoot":"","sources":["../../src/analytics-tool/lazy-load-tool.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lazy-load-tool.js","sourceRoot":"","sources":["../../src/analytics-tool/lazy-load-tool.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,MAAM,uBAAuB,GAAG,KAAK,EAAE,QAAmB,EAAE,EAAE;IAC5D,IAAI,CAAC;QACH,IAAI,QAAQ,KAAK,cAAc,EAAE,CAAC;YAChC,OAAO,CAAC,wDAAa,wBAAwB,GAAC,CAAC,CAAC,kBAAkB,CAAC;QACrE,CAAC;QACD,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;YAC9C,OAAO,CAAC,wDAAa,eAAe,GAAC,CAAC,CAAC,UAAU,CAAC;QACpD,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG;IACrB,6BAA6B,EAAE,+BAA+B;CAC/D,CAAC;AAEK,MAAM,YAAY,GAAG,KAAK,EAAE,QAAmB,EAAE,GAAS,EAAE,EAAE;IACnE,IAAI,IAAI,GAAG,IAAI,CAAC;IAChB,IAAI,CAAC;QACH,MAAM,WAAW,GAA+B,MAAM,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QACxF,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,6BAA6B,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAZW,QAAA,YAAY,gBAYvB"}
|
|
@@ -5,26 +5,38 @@ const analytics_react_native_1 = require("@segment/analytics-react-native");
|
|
|
5
5
|
const getSegmentKey_1 = require("./utils/getSegmentKey");
|
|
6
6
|
const types_1 = require("../init/types");
|
|
7
7
|
const reactNativeSegment = (APP) => {
|
|
8
|
-
console.log('reactNativeSegment');
|
|
9
8
|
const segmentKey = (0, getSegmentKey_1.getSegmentKey)(APP);
|
|
10
9
|
const client = (0, analytics_react_native_1.createClient)({
|
|
11
10
|
writeKey: segmentKey,
|
|
12
11
|
trackAppLifecycleEvents: true,
|
|
12
|
+
debug: true,
|
|
13
|
+
logger: {
|
|
14
|
+
info: (...params) => {
|
|
15
|
+
console.log('TEST INFO', params);
|
|
16
|
+
},
|
|
17
|
+
warn: (...params) => {
|
|
18
|
+
console.log('TEST Warn', params);
|
|
19
|
+
},
|
|
20
|
+
error: (...params) => {
|
|
21
|
+
console.log('TEST INFO', params);
|
|
22
|
+
},
|
|
23
|
+
enable: () => { },
|
|
24
|
+
disable: () => { },
|
|
25
|
+
},
|
|
13
26
|
});
|
|
14
27
|
const { track, screen, identify } = client;
|
|
15
|
-
console.log('reactNativeSegment', client);
|
|
16
28
|
const trackWrapper = (eventName, eventParams) => {
|
|
17
29
|
const data = eventParams;
|
|
18
|
-
track(eventName, data);
|
|
30
|
+
track(eventName, Object.assign(Object.assign({}, data), { analyticsLib: true }));
|
|
19
31
|
};
|
|
20
32
|
const identifyWrapper = (id, traits) => {
|
|
21
|
-
identify(id, traits);
|
|
33
|
+
identify(id, Object.assign(Object.assign({}, traits), { avatar: 'ANALYTICS_LIB' }));
|
|
22
34
|
};
|
|
23
35
|
return {
|
|
24
36
|
track: trackWrapper,
|
|
25
37
|
screen: (params) => {
|
|
26
38
|
if (!(0, types_1.isScreenWeb)(params, 'REACT_NATIVE')) {
|
|
27
|
-
screen(params.name, params.properties);
|
|
39
|
+
screen(params.name, Object.assign(Object.assign({}, params.properties), { analyticsLib: true }));
|
|
28
40
|
}
|
|
29
41
|
},
|
|
30
42
|
identify: identifyWrapper,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-native-segment.js","sourceRoot":"","sources":["../../src/analytics-tool/react-native-segment.ts"],"names":[],"mappings":";;;AAAA,4EAA+D;AAC/D,yDAAsD;AAGtD,yCAA+D;AAGxD,MAAM,kBAAkB,GAAwB,CAAC,GAAS,EAAE,EAAE;IACnE,
|
|
1
|
+
{"version":3,"file":"react-native-segment.js","sourceRoot":"","sources":["../../src/analytics-tool/react-native-segment.ts"],"names":[],"mappings":";;;AAAA,4EAA+D;AAC/D,yDAAsD;AAGtD,yCAA+D;AAGxD,MAAM,kBAAkB,GAAwB,CAAC,GAAS,EAAE,EAAE;IACnE,MAAM,UAAU,GAAG,IAAA,6BAAa,EAAC,GAAG,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,IAAA,qCAAY,EAAC;QAC1B,QAAQ,EAAE,UAAU;QACpB,uBAAuB,EAAE,IAAI;QAC7B,KAAK,EAAE,IAAI;QACX,MAAM,EAAE;YACN,IAAI,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE;gBAClB,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YACnC,CAAC;YACD,IAAI,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE;gBAClB,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YACnC,CAAC;YACD,KAAK,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE;gBACnB,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YACnC,CAAC;YACD,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC;YAChB,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;SAClB;KACF,CAAC,CAAC;IAEH,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAE3C,MAAM,YAAY,GAAW,CAAC,SAAS,EAAE,WAAW,EAAE,EAAE;QAEtD,MAAM,IAAI,GAAG,WAA2C,CAAC;QAEzD,KAAK,CAAC,SAAS,kCAAO,IAAI,KAAE,YAAY,EAAE,IAAI,IAAG,CAAC;IACpD,CAAC,CAAC;IAEF,MAAM,eAAe,GAAc,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE;QAChD,QAAQ,CAAC,EAAY,EAAE,gCAAK,MAAM,KAAE,MAAM,EAAE,eAAe,GAAkB,CAAC,CAAC;IACjF,CAAC,CAAC;IAEF,OAAO;QACL,KAAK,EAAE,YAAY;QACnB,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;YACjB,IAAI,CAAC,IAAA,mBAAW,EAAC,MAAM,EAAE,cAAc,CAAC,EAAE,CAAC;gBACzC,MAAM,CAAC,MAAM,CAAC,IAAI,kCAAO,MAAM,CAAC,UAAU,KAAE,YAAY,EAAE,IAAI,IAAG,CAAC;YACpE,CAAC;QACH,CAAC;QACD,QAAQ,EAAE,eAAe;QACzB,IAAI,EAAE,YAAY;QAClB,aAAa,EAAE,MAAM;KACtB,CAAC;AACJ,CAAC,CAAC;AA7CW,QAAA,kBAAkB,sBA6C7B"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export declare enum EVENT_NAMES {
|
|
2
|
-
ADD_TO_CART = "ADD_TO_CART"
|
|
2
|
+
ADD_TO_CART = "ADD_TO_CART",
|
|
3
|
+
TEST_LIB_EVENT_TRACK = "TEST_LIB_EVENT_TRACK"
|
|
3
4
|
}
|
|
4
5
|
export interface ProductCartEventData {
|
|
5
6
|
value: number;
|
|
@@ -20,6 +21,11 @@ export interface ProductCartEventData {
|
|
|
20
21
|
productName: string;
|
|
21
22
|
grade: string;
|
|
22
23
|
}
|
|
24
|
+
export interface TestEventProps {
|
|
25
|
+
value1: string;
|
|
26
|
+
value2: string;
|
|
27
|
+
}
|
|
23
28
|
export interface EVENT_MAP {
|
|
24
29
|
[EVENT_NAMES.ADD_TO_CART]: ProductCartEventData;
|
|
30
|
+
[EVENT_NAMES.TEST_LIB_EVENT_TRACK]: TestEventProps;
|
|
25
31
|
}
|
|
@@ -4,5 +4,6 @@ exports.EVENT_NAMES = void 0;
|
|
|
4
4
|
var EVENT_NAMES;
|
|
5
5
|
(function (EVENT_NAMES) {
|
|
6
6
|
EVENT_NAMES["ADD_TO_CART"] = "ADD_TO_CART";
|
|
7
|
+
EVENT_NAMES["TEST_LIB_EVENT_TRACK"] = "TEST_LIB_EVENT_TRACK";
|
|
7
8
|
})(EVENT_NAMES || (exports.EVENT_NAMES = EVENT_NAMES = {}));
|
|
8
9
|
//# sourceMappingURL=event-map.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-map.js","sourceRoot":"","sources":["../../src/event-map/event-map.ts"],"names":[],"mappings":";;;AAAA,IAAY,
|
|
1
|
+
{"version":3,"file":"event-map.js","sourceRoot":"","sources":["../../src/event-map/event-map.ts"],"names":[],"mappings":";;;AAAA,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,0CAA2B,CAAA;IAC3B,4DAA6C,CAAA;AAC/C,CAAC,EAHW,WAAW,2BAAX,WAAW,QAGtB"}
|
package/dist/init/init.js
CHANGED
|
@@ -8,10 +8,10 @@ const failedAnalyticsReurn = {
|
|
|
8
8
|
screen: () => { },
|
|
9
9
|
type: 'FAILED_INIT',
|
|
10
10
|
};
|
|
11
|
-
const init = (params) => {
|
|
11
|
+
const init = async (params) => {
|
|
12
12
|
console.log(params);
|
|
13
13
|
try {
|
|
14
|
-
const analyticsWrapper = (0, lazy_load_tool_1.lazyLoadTool)(params.platform, params.App);
|
|
14
|
+
const analyticsWrapper = await (0, lazy_load_tool_1.lazyLoadTool)(params.platform, params.App);
|
|
15
15
|
if (!analyticsWrapper) {
|
|
16
16
|
console.log('ANALYTICS_WRAPPER_NULL');
|
|
17
17
|
}
|
package/dist/init/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/init/init.ts"],"names":[],"mappings":";;;AAAA,qEAAgE;AAGhE,MAAM,oBAAoB,GAAsB;IAC9C,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;IACf,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC;IAClB,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC;IAChB,IAAI,EAAE,aAAa;CACpB,CAAC;AAEK,MAAM,IAAI,GAAuB,
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/init/init.ts"],"names":[],"mappings":";;;AAAA,qEAAgE;AAGhE,MAAM,oBAAoB,GAAsB;IAC9C,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;IACf,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC;IAClB,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC;IAChB,IAAI,EAAE,aAAa;CACpB,CAAC;AAEK,MAAM,IAAI,GAAuB,KAAK,EAAE,MAAM,EAAE,EAAE;IACvD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAGpB,IAAI,CAAC;QACH,MAAM,gBAAgB,GAAG,MAAM,IAAA,6BAAY,EAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;QACzE,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,gBAAgB,IAAI,oBAAoB,CAAC;IAClD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,OAAO,oBAAoB,CAAC;IAC9B,CAAC;AACH,CAAC,CAAC;AAdW,QAAA,IAAI,QAcf"}
|
package/dist/init/types.d.ts
CHANGED
|
@@ -30,5 +30,5 @@ export interface IAnalyticsWrapper {
|
|
|
30
30
|
segmentClient?: SegmentClient;
|
|
31
31
|
}
|
|
32
32
|
export declare const isScreenWeb: (params: IWebScreenParams | IRNScreenParams, platform: tPLATFORM) => params is IWebScreenParams;
|
|
33
|
-
type tInit = (params: IAnalyticsInit) => IAnalyticsWrapper
|
|
33
|
+
type tInit = (params: IAnalyticsInit) => Promise<IAnalyticsWrapper>;
|
|
34
34
|
export { tInit as trackAnalyticsInit };
|
|
@@ -6,7 +6,7 @@ declare class TrackAnalytics {
|
|
|
6
6
|
private analyticsWrapper;
|
|
7
7
|
reactNativeSegmentClient?: SegmentClient;
|
|
8
8
|
constructor(params: IAnalyticsInit);
|
|
9
|
-
initAnalytics: () => void
|
|
9
|
+
initAnalytics: () => Promise<void>;
|
|
10
10
|
private checkInitDone;
|
|
11
11
|
track: tTrack;
|
|
12
12
|
identify: tIdentify;
|
|
@@ -7,10 +7,9 @@ const init_1 = require("../init/init");
|
|
|
7
7
|
class TrackAnalytics {
|
|
8
8
|
constructor(params) {
|
|
9
9
|
this.analyticsWrapper = null;
|
|
10
|
-
this.initAnalytics = () => {
|
|
10
|
+
this.initAnalytics = async () => {
|
|
11
11
|
try {
|
|
12
|
-
this.analyticsWrapper = (0, init_1.init)(this.initParams);
|
|
13
|
-
console.log('Inside lib', this.analyticsWrapper);
|
|
12
|
+
this.analyticsWrapper = await (0, init_1.init)(this.initParams);
|
|
14
13
|
if (this.initParams.platform === 'REACT_NATIVE') {
|
|
15
14
|
this.reactNativeSegmentClient = this.analyticsWrapper.segmentClient;
|
|
16
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"track-analytics.js","sourceRoot":"","sources":["../../src/track-analytics/track-analytics.ts"],"names":[],"mappings":";;;AAAA,4CAA6C;AAE7C,yCAAqH;AACrH,uCAAoC;AAGpC,MAAM,cAAc;IAKlB,YAAY,MAAsB;QAH1B,qBAAgB,GAA6B,IAAI,CAAC;QAO1D,kBAAa,GAAG,
|
|
1
|
+
{"version":3,"file":"track-analytics.js","sourceRoot":"","sources":["../../src/track-analytics/track-analytics.ts"],"names":[],"mappings":";;;AAAA,4CAA6C;AAE7C,yCAAqH;AACrH,uCAAoC;AAGpC,MAAM,cAAc;IAKlB,YAAY,MAAsB;QAH1B,qBAAgB,GAA6B,IAAI,CAAC;QAO1D,kBAAa,GAAG,KAAK,IAAI,EAAE;YACzB,IAAI,CAAC;gBACH,IAAI,CAAC,gBAAgB,GAAG,MAAM,IAAA,WAAI,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACpD,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,KAAK,cAAc,EAAE,CAAC;oBAChD,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC;gBACtE,CAAC;YACH,CAAC;YAAC,OAAO,CAAU,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,yBAAa,CAAC,qBAAqB,CAAC,CAAC;YACvD,CAAC;QACH,CAAC,CAAC;QAWF,UAAK,GAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;;YAC/B,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;gBACzB,MAAA,IAAI,CAAC,gBAAgB,0CAAE,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC,CAAC;QAEF,aAAQ,GAAc,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE;;YACnC,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;gBACzB,MAAA,IAAI,CAAC,gBAAgB,0CAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC,CAAC;QAEF,WAAM,GAAG,CAAC,MAA0C,EAAE,EAAE;;YACtD,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;gBACzB,IAAI,IAAA,mBAAW,EAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAClD,MAAA,IAAI,CAAC,gBAAgB,0CAAE,MAAM,CAAC,MAAM,CAAC,CAAC;gBACxC,CAAC;qBAAM,CAAC;oBACN,MAAA,IAAI,CAAC,gBAAgB,0CAAE,MAAM,CAAC,MAAM,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QA3CA,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;IAC3B,CAAC;IAaO,aAAa;QACnB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,yBAAa,CAAC,4BAA4B,CAAC,CAAC;YAC1D,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;CAuBF;AAEQ,wCAAc"}
|