@cloudcare/cocos-sdk 0.1.1-alpha.2 → 0.1.1-alpha.4
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/creator2/core/auto-tracking.d.ts +3 -1
- package/dist/creator2/core/auto-tracking.d.ts.map +1 -1
- package/dist/creator2/core/auto-tracking.js +360 -164
- package/dist/creator2/core/auto-tracking.js.map +1 -1
- package/dist/creator2/core/client.d.ts.map +1 -1
- package/dist/creator2/core/client.js +1 -3
- package/dist/creator2/core/client.js.map +1 -1
- package/dist/creator2/core/modules.d.ts.map +1 -1
- package/dist/creator2/core/modules.js +2 -2
- package/dist/creator2/core/modules.js.map +1 -1
- package/dist/creator2/core/observation.d.ts +25 -0
- package/dist/creator2/core/observation.d.ts.map +1 -0
- package/dist/creator2/core/observation.js +93 -0
- package/dist/creator2/core/observation.js.map +1 -0
- package/dist/creator2/core/platform-runtime.d.ts +2 -1
- package/dist/creator2/core/platform-runtime.d.ts.map +1 -1
- package/dist/creator2/core/platform-runtime.js.map +1 -1
- package/dist/creator2/core/types.d.ts +9 -0
- package/dist/creator2/core/types.d.ts.map +1 -1
- package/dist/creator2/core/types.js.map +1 -1
- package/dist/creator2/core/validation.d.ts +1 -0
- package/dist/creator2/core/validation.d.ts.map +1 -1
- package/dist/creator2/core/validation.js +13 -0
- package/dist/creator2/core/validation.js.map +1 -1
- package/dist/creator2/core/version.d.ts +1 -3
- package/dist/creator2/core/version.d.ts.map +1 -1
- package/dist/creator2/core/version.js +2 -4
- package/dist/creator2/core/version.js.map +1 -1
- package/dist/creator2/creator2/auto.js +14 -5
- package/dist/creator2/creator2/auto.js.map +1 -1
- package/dist/creator2/native/bootstrap.js +3 -2
- package/dist/creator2/native/bootstrap.js.map +1 -1
- package/dist/creator2/native/error-bootstrap.d.ts +2 -0
- package/dist/creator2/native/error-bootstrap.d.ts.map +1 -0
- package/dist/creator2/native/error-bootstrap.js +7 -0
- package/dist/creator2/native/error-bootstrap.js.map +1 -0
- package/dist/creator2/native/jsb-errors.d.ts +21 -0
- package/dist/creator2/native/jsb-errors.d.ts.map +1 -0
- package/dist/creator2/native/jsb-errors.js +91 -0
- package/dist/creator2/native/jsb-errors.js.map +1 -0
- package/dist/creator2/web/runtime.d.ts.map +1 -1
- package/dist/creator2/web/runtime.js +0 -1
- package/dist/creator2/web/runtime.js.map +1 -1
- package/dist/creator3/core/auto-tracking.d.ts +3 -1
- package/dist/creator3/core/auto-tracking.d.ts.map +1 -1
- package/dist/creator3/core/auto-tracking.js +327 -91
- package/dist/creator3/core/auto-tracking.js.map +1 -1
- package/dist/creator3/core/client.d.ts.map +1 -1
- package/dist/creator3/core/client.js +1 -3
- package/dist/creator3/core/client.js.map +1 -1
- package/dist/creator3/core/modules.d.ts.map +1 -1
- package/dist/creator3/core/modules.js +4 -9
- package/dist/creator3/core/modules.js.map +1 -1
- package/dist/creator3/core/observation.d.ts +25 -0
- package/dist/creator3/core/observation.d.ts.map +1 -0
- package/dist/creator3/core/observation.js +84 -0
- package/dist/creator3/core/observation.js.map +1 -0
- package/dist/creator3/core/platform-runtime.d.ts +2 -1
- package/dist/creator3/core/platform-runtime.d.ts.map +1 -1
- package/dist/creator3/core/platform-runtime.js.map +1 -1
- package/dist/creator3/core/types.d.ts +9 -0
- package/dist/creator3/core/types.d.ts.map +1 -1
- package/dist/creator3/core/validation.d.ts +1 -0
- package/dist/creator3/core/validation.d.ts.map +1 -1
- package/dist/creator3/core/validation.js +11 -0
- package/dist/creator3/core/validation.js.map +1 -1
- package/dist/creator3/core/version.d.ts +1 -3
- package/dist/creator3/core/version.d.ts.map +1 -1
- package/dist/creator3/core/version.js +1 -3
- package/dist/creator3/core/version.js.map +1 -1
- package/dist/creator3/creator3/index.js +2 -2
- package/dist/creator3/creator3/index.js.map +1 -1
- package/dist/creator3/native/bootstrap.js +2 -2
- package/dist/creator3/native/bootstrap.js.map +1 -1
- package/dist/creator3/native/error-bootstrap.d.ts +2 -0
- package/dist/creator3/native/error-bootstrap.d.ts.map +1 -0
- package/dist/creator3/native/error-bootstrap.js +5 -0
- package/dist/creator3/native/error-bootstrap.js.map +1 -0
- package/dist/creator3/native/jsb-errors.d.ts +21 -0
- package/dist/creator3/native/jsb-errors.d.ts.map +1 -0
- package/dist/creator3/native/jsb-errors.js +82 -0
- package/dist/creator3/native/jsb-errors.js.map +1 -0
- package/dist/creator3/web/runtime.d.ts.map +1 -1
- package/dist/creator3/web/runtime.js +1 -2
- package/dist/creator3/web/runtime.js.map +1 -1
- package/extensions/creator2/install-native.cjs +19 -1
- package/extensions/creator3/install-native.cjs +19 -1
- package/native/android/src/main/java/com/ft/sdk/cocos/FTCocosBridge.java +7 -10
- package/native/ios/FTCocosBridge.m +6 -4
- package/native/ios/FTCocosBridge.podspec +1 -1
- package/native/jsb-errors.js +266 -0
- package/package.json +1 -1
- package/runtime/native.js +511 -243
- package/web/bootstrap.js +17 -6
- package/web/bootstrap.js.map +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../../../src/web/runtime.ts"],"names":[],"mappings":"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","sourcesContent":["import type { FTAttributes, FTUserData } from '../core/types.js';\nimport { samplingPercentage, samplingRate } from '../core/validation.js';\nimport { FT_COCOS_SDK_BRIDGE_INFO_KEY, FT_COCOS_SDK_VERSION, FT_COCOS_SDK_VERSION_KEY } from '../core/version.js';\nimport type { FTBrowserLogs, FTBrowserRum, FTCocosWebConfig, FTWebPageRuntime, FTWebWindow } from './types.js';\n\nconst TRACE_TYPES = {\n ddTrace: 'ddtrace', zipkinMultiHeader: 'zipkin', zipkinSingleHeader: 'zipkin_single_header',\n traceparent: 'w3c_traceparent', skywalking: 'skywalking_v3', jaeger: 'jaeger',\n};\n\n/** Owns page initialization once. Browser collectors live until the page is unloaded. */\nexport class FTWebRuntime implements FTWebPageRuntime {\n readonly protocol = 1 as const;\n private owner: object | undefined;\n private privacyCheck: (() => boolean) | undefined;\n private replayStarted = false;\n private readonly rum: FTBrowserRum | undefined;\n private readonly logs: FTBrowserLogs | undefined;\n\n constructor(readonly config: FTCocosWebConfig, target: FTWebWindow, beforeEngine = false) {\n // Keep later caller mutations from changing filtering or privacy after init.\n config = JSON.parse(JSON.stringify(config)) as FTCocosWebConfig;\n this.config = config;\n const web = config.web;\n if (!web) throw new Error('Configure web explicitly before starting the Web SDK');\n const connection = reportingConnection(web);\n const replay = web.replay;\n if (replay) {\n const keys = ['enabled', 'sessionReplaySamplingRate', 'sessionReplayOnErrorSamplingRate', 'canvasPrivacy', 'canvasId', 'captureFps', 'maxImageDimension', 'quality', 'maxFrameBytes'];\n for (const key of Object.keys(replay)) if (!keys.includes(key)) throw new Error(`Unsupported web.replay.${key}`);\n }\n if (!config.rum && !config.logger) throw new Error('Enable rum or logger for Web collection');\n if (!config.rum && (config.autoTrack?.scenes || config.autoTrack?.actions || config.autoTrack?.errors || config.autoTrack?.network)) throw new Error('Cocos RUM tracking requires rum configuration');\n if (config.trace && !config.rum) throw new Error('Web tracing requires RUM');\n if (config.autoTrack?.console && !config.logger) throw new Error('Console tracking requires logger');\n if (replay && (!beforeEngine || !config.rum)) throw new Error('Web Replay must be configured before engine boot with RUM enabled');\n if (replay && replay.enabled !== true) throw new Error('Web Replay requires enabled: true');\n if (replay?.canvasPrivacy !== undefined && !['block', 'allow'].includes(replay.canvasPrivacy)) {\n throw new Error('web.replay.canvasPrivacy must be block or allow');\n }\n const fps = integer(replay?.captureFps, 1, 5, 1, 'captureFps');\n const dimension = integer(replay?.maxImageDimension, 1, 2048, 720, 'maxImageDimension');\n if (web.outsideViewName !== undefined && !web.outsideViewName.trim()) throw new Error('outsideViewName must not be empty');\n if (web.allowedTracingUrls?.some(url => typeof url !== 'string' || !/^https?:\\/\\//.test(url))) {\n throw new Error('allowedTracingUrls must contain absolute HTTP(S) URL prefixes');\n }\n if (replay?.quality !== undefined && !(typeof replay.quality === 'number'\n ? Number.isFinite(replay.quality) && replay.quality >= 0 && replay.quality <= 1\n : ['low', 'medium', 'high'].includes(replay.quality))) throw new Error('web.replay.quality must be low, medium, high, or a number between 0 and 1');\n const quality = replay?.quality === 'low' ? 0.25 : replay?.quality === 'medium' ? 0.4 : replay?.quality === 'high' ? 0.5 : replay?.quality ?? 0.4;\n const maxBytes = integer(replay?.maxFrameBytes, 1024, 1048576, 40000, 'web.replay.maxFrameBytes');\n const common = { ...connection, service: config.sdk?.serviceName, env: config.sdk?.env, telemetrySampleRate: 0 };\n const rumConfig = config.rum ? {\n ...common,\n applicationId: required(web.applicationId, 'web.applicationId'),\n sessionSampleRate: percentage(config.rum.sessionSamplingRate, config.rum.sampleRate, 100, 'sessionSamplingRate'),\n sessionOnErrorSampleRate: percentage(config.rum.sessionOnErrorSamplingRate, config.rum.sessionOnErrorSampleRate, 0, 'sessionOnErrorSamplingRate'),\n trackViewsManually: true,\n trackUserInteractions: false,\n sessionReplaySampleRate: percentage(replay?.sessionReplaySamplingRate, undefined, replay ? 100 : 0, 'sessionReplaySamplingRate'),\n sessionReplayOnErrorSampleRate: percentage(replay?.sessionReplayOnErrorSamplingRate, undefined, 0, 'sessionReplayOnErrorSamplingRate'),\n allowedTracingUrls: config.trace ? web.allowedTracingUrls || [] : [],\n tracingSampleRate: percentage(config.trace?.traceSamplingRate, config.trace?.sampleRate, 100, 'traceSamplingRate'),\n traceType: TRACE_TYPES[config.trace?.traceType || 'ddTrace'],\n replayCanvasEnabled: !!replay,\n replayCanvasMode: 'auto',\n replayCanvasSampling: fps,\n replayCanvasAutoInterval: 1000 / fps,\n // The WebGL plugin otherwise retains a 1000ms cooldown, overriding higher target FPS.\n // One in-flight encode and the capture interval bound load; 1ms is the minimum accepted cooldown.\n replayCanvasAutoCooldown: 1,\n replayCanvasQuality: quality,\n replayCanvasMaxEncodedBytes: maxBytes,\n replayCanvasMaxCanvasSize: dimension,\n replayCanvasMaxConcurrentEncodes: 1,\n replayCanvasAutoMaxPerRun: 1,\n defaultPrivacyLevel: 'mask',\n shouldRecordCanvas: (canvas: HTMLCanvasElement) => {\n if (!this.replayStarted || replay?.canvasPrivacy !== 'allow' || canvas.id !== (replay.canvasId || 'GameCanvas')) return false;\n // Fail closed until the engine has registered a fresh scene privacy check.\n try { return this.privacyCheck?.() === true; } catch { return false; }\n },\n beforeSend: (event: { type?: string; context?: FTAttributes }) => {\n const manual = !!event.context?.[FT_COCOS_SDK_BRIDGE_INFO_KEY];\n if (event.type === 'resource') return config.autoTrack?.network === true;\n if (event.type === 'error') return manual || config.autoTrack?.errors === true;\n if (event.type === 'long_task') return web.trackLongTasks === true;\n return true;\n },\n } : undefined;\n const logsConfig = config.logger ? {\n ...common,\n sessionSampleRate: percentage(config.logger.logSamplingRate, config.logger.sampleRate, 100, 'logSamplingRate'),\n forwardErrorsToLogs: false,\n forwardConsoleLogs: [],\n forwardReports: [],\n } : undefined;\n this.rum = rumConfig ? target.DATAFLUX_RUM : undefined;\n this.logs = logsConfig ? target.DATAFLUX_LOGS : undefined;\n // Preflight every dependency before the first irreversible Browser init.\n if (rumConfig && (!this.rum || typeof this.rum.getInitConfiguration !== 'function')) throw new Error('Load the Browser RUM bundle before Cocos');\n if (logsConfig && (!this.logs || typeof this.logs.getInitConfiguration !== 'function')) throw new Error('Load the Browser Logs bundle before Cocos');\n if (this.rum?.getInitConfiguration() || this.logs?.getInitConfiguration()) throw new Error('Browser SDK already initialized; use the page bootstrap and attach()');\n if (replay && !target.DATAFLUX_RUM_WEBGL?.webglReplayPlugin) throw new Error('Load the Browser WebGL bundle before Cocos');\n if (rumConfig && this.rum) {\n let accepted = false;\n const ownershipPlugin = { name: 'cocos-adapter', onInit: (): void => { accepted = true; } };\n this.rum.init({\n ...rumConfig,\n plugins: [ownershipPlugin, ...(replay ? [target.DATAFLUX_RUM_WEBGL!.webglReplayPlugin()] : [])],\n });\n // A host awaiting its first manual view can still return undefined from getInitConfiguration().\n if (!accepted) throw new Error('Browser RUM is already initialized or did not accept Cocos initialization');\n this.setContext(this.rum, { ...config.sdk?.globalContext, ...config.rum?.globalContext });\n // Browser 3.3 exposes its public init configuration only after the first manual view.\n this.rum.startView({ name: web.outsideViewName || 'CocosInactive' });\n if (!this.rum.getInitConfiguration()) throw new Error('Browser RUM rejected its configuration');\n this.rum.stopSessionReplayRecording();\n }\n if (logsConfig && this.logs) {\n this.logs.init(logsConfig);\n if (!this.logs.getInitConfiguration()) throw new Error('Browser Logs rejected its configuration');\n this.setContext(this.logs, { ...config.sdk?.globalContext, ...config.logger?.globalContext });\n }\n }\n\n claim(owner: object): void {\n if (this.owner && this.owner !== owner) throw new Error('Another Cocos facade already owns this page attachment');\n this.owner = owner;\n }\n release(owner: object): void {\n if (this.owner !== owner) return;\n this.stopReplay();\n this.privacyCheck = undefined;\n this.owner = undefined;\n }\n setPrivacyCheck(owner: object, check: (() => boolean) | undefined): void {\n if (this.owner !== owner) throw new Error('Attach the Web SDK before configuring privacy');\n this.privacyCheck = check;\n }\n startReplay(): void {\n if (!this.config.web.replay) throw new Error('Configure Web Replay in the pre-engine bootstrap');\n this.replayStarted = true;\n this.rum!.startSessionReplayRecording();\n }\n stopReplay(): void {\n if (!this.replayStarted) return;\n this.replayStarted = false;\n this.rum?.stopSessionReplayRecording();\n }\n isRecording(): boolean { return this.replayStarted && !!this.rum?.isRecording(); }\n\n invoke<T>(method: string, input?: unknown): T | undefined {\n const data = (input || {}) as Record<string, any>;\n switch (method) {\n case 'sdk.bindUser': {\n const user = data as FTUserData;\n const identity = { ...user.extra, id: required(user.userId, 'userId'), name: user.userName, email: user.userEmail };\n this.rum?.setUser(identity); this.logs?.setUser(identity); break;\n }\n case 'sdk.unbindUser': this.rum?.clearUser(); this.logs?.clearUser(); break;\n case 'rum.startView': this.requireRum().startView({ name: data.name, context: data.attributes }); break;\n case 'rum.stopView': this.requireRum().startView({ name: this.config.web.outsideViewName || 'CocosInactive', context: data.attributes }); break;\n case 'rum.addAction': this.requireRum().addTypeAction(data.name, data.type, data.attributes); break;\n case 'rum.addError': {\n const error = new Error(data.message); error.name = data.type; error.stack = data.stack;\n this.requireRum().addError(error, { ...data.attributes, cocos_error_state: data.state }); break;\n }\n case 'logger.log': {\n if (!this.logs) throw new Error('Web logging was not enabled');\n const config = this.config.logger!;\n if (config.enableCustomLog === false || (config.logLevelFilters && config.logLevelFilters.indexOf(data.level) < 0)) break;\n const status = data.level === 'warning' ? 'warn' : data.level;\n if (['ok', 'debug', 'info', 'notice', 'warn', 'error', 'critical', 'alert', 'emerg'].indexOf(status) < 0) {\n throw new Error(`Unsupported Browser log level: ${data.level}`);\n }\n this.logs.logger.log(data.content, data.attributes, status); break;\n }\n default: throw new Error(`${method} is not supported on Web. Configure collectors at page bootstrap; use Browser automatic network/trace collection and detach() for Cocos cleanup.`);\n }\n return undefined;\n }\n private requireRum(): FTBrowserRum {\n if (!this.rum) throw new Error('Web RUM was not enabled');\n return this.rum;\n }\n private setContext(api: FTBrowserRum | FTBrowserLogs, context: Record<string, unknown>): void {\n Object.keys(context).forEach(key => api.setGlobalContextProperty(key, context[key]));\n api.setGlobalContextProperty(FT_COCOS_SDK_VERSION_KEY, FT_COCOS_SDK_VERSION);\n }\n}\n\nexport function bootstrapWeb(config: FTCocosWebConfig, target: FTWebWindow = window as FTWebWindow): FTWebPageRuntime {\n if (target.__FT_COCOS_WEB__) throw new Error('Cocos Web bootstrap already initialized');\n const runtime = new FTWebRuntime(config, target, true);\n target.__FT_COCOS_WEB__ = runtime;\n return runtime;\n}\nfunction required(value: string | undefined, name: string): string {\n if (typeof value !== 'string' || !value.trim()) throw new Error(`${name} is required`);\n return value;\n}\nfunction reportingConnection(web: FTCocosWebConfig['web']): Record<string, string> {\n if (web.datakitOrigin && (web.site || web.clientToken)) throw new Error('Choose datakitOrigin or site with clientToken');\n const origin = required(web.datakitOrigin || web.site, 'web.datakitOrigin or web.site');\n if (!/^https?:\\/\\/[^/?#@]+\\/?$/.test(origin)) throw new Error('Browser reporting endpoint must be an HTTP(S) origin without a path, credentials, query or fragment');\n return web.datakitOrigin ? { datakitOrigin: origin } : { site: origin, clientToken: required(web.clientToken, 'web.clientToken') };\n}\nfunction percentage(value: number | undefined, legacy: number | undefined, fallback: number, name: string): number {\n return value !== undefined ? samplingPercentage(value, name)! : legacy !== undefined ? samplingRate(legacy, name)! * 100 : fallback;\n}\nfunction integer(value: number | undefined, min: number, max: number, fallback: number, name: string): number {\n if (value === undefined) return fallback;\n if (!Number.isInteger(value) || value < min || value > max) throw new RangeError(`${name} must be an integer between ${min} and ${max}`);\n return value;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../../../src/web/runtime.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AA+LA,oCAKC;AAnMD,uDAAyE;AACzE,iDAAkE;AAGlE,IAAM,WAAW,GAAG;IAClB,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,sBAAsB;IAC3F,WAAW,EAAE,iBAAiB,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ;CAC9E,CAAC;AAEF,yFAAyF;AACzF;IAQE,sBAAqB,MAAwB,EAAE,MAAmB,EAAE,YAAoB;QAApB,6BAAA,EAAA,oBAAoB;QAAxF,iBAyGC;;QAzGoB,WAAM,GAAN,MAAM,CAAkB;QAPpC,aAAQ,GAAG,CAAU,CAAC;QAGvB,kBAAa,GAAG,KAAK,CAAC;QAK5B,6EAA6E;QAC7E,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAqB,CAAC;QAChE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAClF,IAAM,UAAU,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QAC1B,IAAI,MAAM,EAAE,CAAC;YACX,IAAM,IAAI,GAAG,CAAC,SAAS,EAAE,2BAA2B,EAAE,kCAAkC,EAAE,eAAe,EAAE,UAAU,EAAE,YAAY,EAAE,mBAAmB,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;YACtL,KAAkB,UAAmB,EAAnB,KAAA,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAnB,cAAmB,EAAnB,IAAmB;gBAAhC,IAAM,GAAG,SAAA;gBAAyB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,iCAA0B,GAAG,CAAE,CAAC,CAAC;aAAA;QACnH,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC9F,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAA,MAAA,MAAM,CAAC,SAAS,0CAAE,MAAM,MAAI,MAAA,MAAM,CAAC,SAAS,0CAAE,OAAO,CAAA,KAAI,MAAA,MAAM,CAAC,SAAS,0CAAE,MAAM,CAAA,KAAI,MAAA,MAAM,CAAC,SAAS,0CAAE,OAAO,CAAA,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACtM,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC7E,IAAI,CAAA,MAAA,MAAM,CAAC,SAAS,0CAAE,OAAO,KAAI,CAAC,MAAM,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACrG,IAAI,MAAM,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;QACnI,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAC5F,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,MAAK,SAAS,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;YAC9F,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QACD,IAAM,GAAG,GAAG,OAAO,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC;QAC/D,IAAM,SAAS,GAAG,OAAO,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,iBAAiB,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,mBAAmB,CAAC,CAAC;QACxF,IAAI,GAAG,CAAC,eAAe,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAC3H,IAAI,MAAA,GAAG,CAAC,kBAAkB,0CAAE,IAAI,CAAC,UAAA,GAAG,IAAI,OAAA,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAApD,CAAoD,CAAC,EAAE,CAAC;YAC9F,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;QACnF,CAAC;QACD,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,MAAK,SAAS,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;YACvE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,IAAI,CAAC;YAC/E,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;QACtJ,IAAM,OAAO,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,MAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,MAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,MAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,mCAAI,GAAG,CAAC;QAClJ,IAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,0BAA0B,CAAC,CAAC;QAClG,IAAM,MAAM,yBAAQ,UAAU,KAAE,OAAO,EAAE,MAAA,MAAM,CAAC,GAAG,0CAAE,WAAW,EAAE,GAAG,EAAE,MAAA,MAAM,CAAC,GAAG,0CAAE,GAAG,EAAE,mBAAmB,EAAE,CAAC,GAAE,CAAC;QACjH,IAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,uBACzB,MAAM,KACT,aAAa,EAAE,QAAQ,CAAC,GAAG,CAAC,aAAa,EAAE,mBAAmB,CAAC,EAC/D,iBAAiB,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,EAAE,qBAAqB,CAAC,EAChH,wBAAwB,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,0BAA0B,EAAE,MAAM,CAAC,GAAG,CAAC,wBAAwB,EAAE,CAAC,EAAE,4BAA4B,CAAC,EACjJ,kBAAkB,EAAE,IAAI,EACxB,qBAAqB,EAAE,KAAK,EAC5B,uBAAuB,EAAE,UAAU,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,yBAAyB,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,2BAA2B,CAAC,EAChI,8BAA8B,EAAE,UAAU,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,gCAAgC,EAAE,SAAS,EAAE,CAAC,EAAE,kCAAkC,CAAC,EACtI,kBAAkB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EACpE,iBAAiB,EAAE,UAAU,CAAC,MAAA,MAAM,CAAC,KAAK,0CAAE,iBAAiB,EAAE,MAAA,MAAM,CAAC,KAAK,0CAAE,UAAU,EAAE,GAAG,EAAE,mBAAmB,CAAC,EAClH,SAAS,EAAE,WAAW,CAAC,CAAA,MAAA,MAAM,CAAC,KAAK,0CAAE,SAAS,KAAI,SAAS,CAAC,EAC5D,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAC7B,gBAAgB,EAAE,MAAM,EACxB,oBAAoB,EAAE,GAAG,EACzB,wBAAwB,EAAE,IAAI,GAAG,GAAG;YACpC,sFAAsF;YACtF,kGAAkG;YAClG,wBAAwB,EAAE,CAAC,EAC3B,mBAAmB,EAAE,OAAO,EAC5B,2BAA2B,EAAE,QAAQ,EACrC,yBAAyB,EAAE,SAAS,EACpC,gCAAgC,EAAE,CAAC,EACnC,yBAAyB,EAAE,CAAC,EAC5B,mBAAmB,EAAE,MAAM,EAC3B,kBAAkB,EAAE,UAAC,MAAyB;;gBAC5C,IAAI,CAAC,KAAI,CAAC,aAAa,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,MAAK,OAAO,IAAI,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,IAAI,YAAY,CAAC;oBAAE,OAAO,KAAK,CAAC;gBAC9H,2EAA2E;gBAC3E,IAAI,CAAC;oBAAC,OAAO,CAAA,MAAA,KAAI,CAAC,YAAY,qDAAI,MAAK,IAAI,CAAC;gBAAC,CAAC;gBAAC,WAAM,CAAC;oBAAC,OAAO,KAAK,CAAC;gBAAC,CAAC;YACxE,CAAC,EACD,UAAU,EAAE,UAAC,KAAgD;;gBAC3D,IAAM,MAAM,GAAG,CAAC,CAAC,CAAA,MAAA,KAAK,CAAC,OAAO,0CAAG,yCAA4B,CAAC,CAAA,CAAC;gBAC/D,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU;oBAAE,OAAO,CAAA,MAAA,MAAM,CAAC,SAAS,0CAAE,OAAO,MAAK,IAAI,CAAC;gBACzE,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;oBAAE,OAAO,MAAM,IAAI,CAAA,MAAA,MAAM,CAAC,SAAS,0CAAE,MAAM,MAAK,IAAI,CAAC;gBAC/E,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW;oBAAE,OAAO,GAAG,CAAC,cAAc,KAAK,IAAI,CAAC;gBACnE,OAAO,IAAI,CAAC;YACd,CAAC,IACD,CAAC,CAAC,SAAS,CAAC;QACd,IAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,uBAC7B,MAAM,KACT,iBAAiB,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,EAAE,iBAAiB,CAAC,EAC9G,mBAAmB,EAAE,KAAK,EAC1B,kBAAkB,EAAE,EAAE,EACtB,cAAc,EAAE,EAAE,IAClB,CAAC,CAAC,SAAS,CAAC;QACd,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;QACvD,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1D,yEAAyE;QACzE,IAAI,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,oBAAoB,KAAK,UAAU,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QACjJ,IAAI,UAAU,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,oBAAoB,KAAK,UAAU,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QACrJ,IAAI,CAAA,MAAA,IAAI,CAAC,GAAG,0CAAE,oBAAoB,EAAE,MAAI,MAAA,IAAI,CAAC,IAAI,0CAAE,oBAAoB,EAAE,CAAA;YAAE,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;QACnK,IAAI,MAAM,IAAI,CAAC,CAAA,MAAA,MAAM,CAAC,kBAAkB,0CAAE,iBAAiB,CAAA;YAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAC3H,IAAI,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YAC1B,IAAI,UAAQ,GAAG,KAAK,CAAC;YACrB,IAAM,eAAe,GAAG,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,UAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5F,IAAI,CAAC,GAAG,CAAC,IAAI,uBACR,SAAS,KACZ,OAAO,iBAAG,eAAe,GAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAmB,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,WAC9F,CAAC;YACH,gGAAgG;YAChG,IAAI,CAAC,UAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;YAC5G,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,wBAAO,MAAA,MAAM,CAAC,GAAG,0CAAE,aAAa,GAAK,MAAA,MAAM,CAAC,GAAG,0CAAE,aAAa,EAAG,CAAC;YAC1F,sFAAsF;YACtF,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,eAAe,IAAI,eAAe,EAAE,CAAC,CAAC;YACrE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;YAChG,IAAI,CAAC,GAAG,CAAC,0BAA0B,EAAE,CAAC;QACxC,CAAC;QACD,IAAI,UAAU,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;YAClG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,wBAAO,MAAA,MAAM,CAAC,GAAG,0CAAE,aAAa,GAAK,MAAA,MAAM,CAAC,MAAM,0CAAE,aAAa,EAAG,CAAC;QAChG,CAAC;IACH,CAAC;IAED,4BAAK,GAAL,UAAM,KAAa;QACjB,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAClH,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IACD,8BAAO,GAAP,UAAQ,KAAa;QACnB,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK;YAAE,OAAO;QACjC,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;IACzB,CAAC;IACD,sCAAe,GAAf,UAAgB,KAAa,EAAE,KAAkC;QAC/D,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QAC3F,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5B,CAAC;IACD,kCAAW,GAAX;QACE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACjG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,GAAI,CAAC,2BAA2B,EAAE,CAAC;IAC1C,CAAC;IACD,iCAAU,GAAV;;QACE,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO;QAChC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,MAAA,IAAI,CAAC,GAAG,0CAAE,0BAA0B,EAAE,CAAC;IACzC,CAAC;IACD,kCAAW,GAAX,sBAAyB,OAAO,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC,CAAA,MAAA,IAAI,CAAC,GAAG,0CAAE,WAAW,EAAE,CAAA,CAAC,CAAC,CAAC;IAElF,6BAAM,GAAN,UAAU,MAAc,EAAE,KAAe;;QACvC,IAAM,IAAI,GAAG,CAAC,KAAK,IAAI,EAAE,CAAwB,CAAC;QAClD,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,IAAM,IAAI,GAAG,IAAkB,CAAC;gBAChC,IAAM,QAAQ,yBAAQ,IAAI,CAAC,KAAK,KAAE,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,GAAE,CAAC;gBACpH,MAAA,IAAI,CAAC,GAAG,0CAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAAC,MAAA,IAAI,CAAC,IAAI,0CAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAAC,MAAM;YACnE,CAAC;YACD,KAAK,gBAAgB;gBAAE,MAAA,IAAI,CAAC,GAAG,0CAAE,SAAS,EAAE,CAAC;gBAAC,MAAA,IAAI,CAAC,IAAI,0CAAE,SAAS,EAAE,CAAC;gBAAC,MAAM;YAC5E,KAAK,eAAe;gBAAE,IAAI,CAAC,UAAU,EAAE,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;gBAAC,MAAM;YACxG,KAAK,cAAc;gBAAE,IAAI,CAAC,UAAU,EAAE,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,IAAI,eAAe,EAAE,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;gBAAC,MAAM;YAChJ,KAAK,eAAe;gBAAE,IAAI,CAAC,UAAU,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;gBAAC,MAAM;YACpG,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,IAAM,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBACxF,IAAI,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,KAAK,wBAAO,IAAI,CAAC,UAAU,KAAE,iBAAiB,EAAE,IAAI,CAAC,KAAK,IAAG,CAAC;gBAAC,MAAM;YAClG,CAAC;YACD,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,IAAI,CAAC,IAAI,CAAC,IAAI;oBAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;gBAC/D,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAO,CAAC;gBACnC,IAAI,MAAM,CAAC,eAAe,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAAE,MAAM;gBAC1H,IAAM,QAAM,GAAG,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC9D,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,QAAM,CAAC,GAAG,CAAC,EAAE,CAAC;oBACzG,MAAM,IAAI,KAAK,CAAC,yCAAkC,IAAI,CAAC,KAAK,CAAE,CAAC,CAAC;gBAClE,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,QAAM,CAAC,CAAC;gBAAC,MAAM;YACrE,CAAC;YACD,OAAO,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,UAAG,MAAM,qJAAkJ,CAAC,CAAC;QACxL,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACO,iCAAU,GAAlB;QACE,IAAI,CAAC,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IACO,iCAAU,GAAlB,UAAmB,GAAiC,EAAE,OAAgC;QACpF,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,wBAAwB,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,EAA/C,CAA+C,CAAC,CAAC;IACvF,CAAC;IACH,mBAAC;AAAD,CAAC,AAlLD,IAkLC;AAlLY,oCAAY;AAoLzB,SAAgB,YAAY,CAAC,MAAwB,EAAE,MAA2C;IAA3C,uBAAA,EAAA,SAAsB,MAAqB;IAChG,IAAI,MAAM,CAAC,gBAAgB;QAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IACxF,IAAM,OAAO,GAAG,IAAI,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACvD,MAAM,CAAC,gBAAgB,GAAG,OAAO,CAAC;IAClC,OAAO,OAAO,CAAC;AACjB,CAAC;AACD,SAAS,QAAQ,CAAC,KAAyB,EAAE,IAAY;IACvD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,UAAG,IAAI,iBAAc,CAAC,CAAC;IACvF,OAAO,KAAK,CAAC;AACf,CAAC;AACD,SAAS,mBAAmB,CAAC,GAA4B;IACvD,IAAI,GAAG,CAAC,aAAa,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,WAAW,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACzH,IAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,IAAI,EAAE,+BAA+B,CAAC,CAAC;IACxF,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,qGAAqG,CAAC,CAAC;IACrK,OAAO,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,iBAAiB,CAAC,EAAE,CAAC;AACrI,CAAC;AACD,SAAS,UAAU,CAAC,KAAyB,EAAE,MAA0B,EAAE,QAAgB,EAAE,IAAY;IACvG,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAA,kCAAkB,EAAC,KAAK,EAAE,IAAI,CAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAA,4BAAY,EAAC,MAAM,EAAE,IAAI,CAAE,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;AACtI,CAAC;AACD,SAAS,OAAO,CAAC,KAAyB,EAAE,GAAW,EAAE,GAAW,EAAE,QAAgB,EAAE,IAAY;IAClG,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IACzC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,GAAG,IAAI,KAAK,GAAG,GAAG;QAAE,MAAM,IAAI,UAAU,CAAC,UAAG,IAAI,yCAA+B,GAAG,kBAAQ,GAAG,CAAE,CAAC,CAAC;IACzI,OAAO,KAAK,CAAC;AACf,CAAC","sourcesContent":["import type { FTAttributes, FTUserData } from '../core/types.js';\nimport { samplingPercentage, samplingRate } from '../core/validation.js';\nimport { FT_COCOS_SDK_BRIDGE_INFO_KEY } from '../core/version.js';\nimport type { FTBrowserLogs, FTBrowserRum, FTCocosWebConfig, FTWebPageRuntime, FTWebWindow } from './types.js';\n\nconst TRACE_TYPES = {\n ddTrace: 'ddtrace', zipkinMultiHeader: 'zipkin', zipkinSingleHeader: 'zipkin_single_header',\n traceparent: 'w3c_traceparent', skywalking: 'skywalking_v3', jaeger: 'jaeger',\n};\n\n/** Owns page initialization once. Browser collectors live until the page is unloaded. */\nexport class FTWebRuntime implements FTWebPageRuntime {\n readonly protocol = 1 as const;\n private owner: object | undefined;\n private privacyCheck: (() => boolean) | undefined;\n private replayStarted = false;\n private readonly rum: FTBrowserRum | undefined;\n private readonly logs: FTBrowserLogs | undefined;\n\n constructor(readonly config: FTCocosWebConfig, target: FTWebWindow, beforeEngine = false) {\n // Keep later caller mutations from changing filtering or privacy after init.\n config = JSON.parse(JSON.stringify(config)) as FTCocosWebConfig;\n this.config = config;\n const web = config.web;\n if (!web) throw new Error('Configure web explicitly before starting the Web SDK');\n const connection = reportingConnection(web);\n const replay = web.replay;\n if (replay) {\n const keys = ['enabled', 'sessionReplaySamplingRate', 'sessionReplayOnErrorSamplingRate', 'canvasPrivacy', 'canvasId', 'captureFps', 'maxImageDimension', 'quality', 'maxFrameBytes'];\n for (const key of Object.keys(replay)) if (!keys.includes(key)) throw new Error(`Unsupported web.replay.${key}`);\n }\n if (!config.rum && !config.logger) throw new Error('Enable rum or logger for Web collection');\n if (!config.rum && (config.autoTrack?.scenes || config.autoTrack?.actions || config.autoTrack?.errors || config.autoTrack?.network)) throw new Error('Cocos RUM tracking requires rum configuration');\n if (config.trace && !config.rum) throw new Error('Web tracing requires RUM');\n if (config.autoTrack?.console && !config.logger) throw new Error('Console tracking requires logger');\n if (replay && (!beforeEngine || !config.rum)) throw new Error('Web Replay must be configured before engine boot with RUM enabled');\n if (replay && replay.enabled !== true) throw new Error('Web Replay requires enabled: true');\n if (replay?.canvasPrivacy !== undefined && !['block', 'allow'].includes(replay.canvasPrivacy)) {\n throw new Error('web.replay.canvasPrivacy must be block or allow');\n }\n const fps = integer(replay?.captureFps, 1, 5, 1, 'captureFps');\n const dimension = integer(replay?.maxImageDimension, 1, 2048, 720, 'maxImageDimension');\n if (web.outsideViewName !== undefined && !web.outsideViewName.trim()) throw new Error('outsideViewName must not be empty');\n if (web.allowedTracingUrls?.some(url => typeof url !== 'string' || !/^https?:\\/\\//.test(url))) {\n throw new Error('allowedTracingUrls must contain absolute HTTP(S) URL prefixes');\n }\n if (replay?.quality !== undefined && !(typeof replay.quality === 'number'\n ? Number.isFinite(replay.quality) && replay.quality >= 0 && replay.quality <= 1\n : ['low', 'medium', 'high'].includes(replay.quality))) throw new Error('web.replay.quality must be low, medium, high, or a number between 0 and 1');\n const quality = replay?.quality === 'low' ? 0.25 : replay?.quality === 'medium' ? 0.4 : replay?.quality === 'high' ? 0.5 : replay?.quality ?? 0.4;\n const maxBytes = integer(replay?.maxFrameBytes, 1024, 1048576, 40000, 'web.replay.maxFrameBytes');\n const common = { ...connection, service: config.sdk?.serviceName, env: config.sdk?.env, telemetrySampleRate: 0 };\n const rumConfig = config.rum ? {\n ...common,\n applicationId: required(web.applicationId, 'web.applicationId'),\n sessionSampleRate: percentage(config.rum.sessionSamplingRate, config.rum.sampleRate, 100, 'sessionSamplingRate'),\n sessionOnErrorSampleRate: percentage(config.rum.sessionOnErrorSamplingRate, config.rum.sessionOnErrorSampleRate, 0, 'sessionOnErrorSamplingRate'),\n trackViewsManually: true,\n trackUserInteractions: false,\n sessionReplaySampleRate: percentage(replay?.sessionReplaySamplingRate, undefined, replay ? 100 : 0, 'sessionReplaySamplingRate'),\n sessionReplayOnErrorSampleRate: percentage(replay?.sessionReplayOnErrorSamplingRate, undefined, 0, 'sessionReplayOnErrorSamplingRate'),\n allowedTracingUrls: config.trace ? web.allowedTracingUrls || [] : [],\n tracingSampleRate: percentage(config.trace?.traceSamplingRate, config.trace?.sampleRate, 100, 'traceSamplingRate'),\n traceType: TRACE_TYPES[config.trace?.traceType || 'ddTrace'],\n replayCanvasEnabled: !!replay,\n replayCanvasMode: 'auto',\n replayCanvasSampling: fps,\n replayCanvasAutoInterval: 1000 / fps,\n // The WebGL plugin otherwise retains a 1000ms cooldown, overriding higher target FPS.\n // One in-flight encode and the capture interval bound load; 1ms is the minimum accepted cooldown.\n replayCanvasAutoCooldown: 1,\n replayCanvasQuality: quality,\n replayCanvasMaxEncodedBytes: maxBytes,\n replayCanvasMaxCanvasSize: dimension,\n replayCanvasMaxConcurrentEncodes: 1,\n replayCanvasAutoMaxPerRun: 1,\n defaultPrivacyLevel: 'mask',\n shouldRecordCanvas: (canvas: HTMLCanvasElement) => {\n if (!this.replayStarted || replay?.canvasPrivacy !== 'allow' || canvas.id !== (replay.canvasId || 'GameCanvas')) return false;\n // Fail closed until the engine has registered a fresh scene privacy check.\n try { return this.privacyCheck?.() === true; } catch { return false; }\n },\n beforeSend: (event: { type?: string; context?: FTAttributes }) => {\n const manual = !!event.context?.[FT_COCOS_SDK_BRIDGE_INFO_KEY];\n if (event.type === 'resource') return config.autoTrack?.network === true;\n if (event.type === 'error') return manual || config.autoTrack?.errors === true;\n if (event.type === 'long_task') return web.trackLongTasks === true;\n return true;\n },\n } : undefined;\n const logsConfig = config.logger ? {\n ...common,\n sessionSampleRate: percentage(config.logger.logSamplingRate, config.logger.sampleRate, 100, 'logSamplingRate'),\n forwardErrorsToLogs: false,\n forwardConsoleLogs: [],\n forwardReports: [],\n } : undefined;\n this.rum = rumConfig ? target.DATAFLUX_RUM : undefined;\n this.logs = logsConfig ? target.DATAFLUX_LOGS : undefined;\n // Preflight every dependency before the first irreversible Browser init.\n if (rumConfig && (!this.rum || typeof this.rum.getInitConfiguration !== 'function')) throw new Error('Load the Browser RUM bundle before Cocos');\n if (logsConfig && (!this.logs || typeof this.logs.getInitConfiguration !== 'function')) throw new Error('Load the Browser Logs bundle before Cocos');\n if (this.rum?.getInitConfiguration() || this.logs?.getInitConfiguration()) throw new Error('Browser SDK already initialized; use the page bootstrap and attach()');\n if (replay && !target.DATAFLUX_RUM_WEBGL?.webglReplayPlugin) throw new Error('Load the Browser WebGL bundle before Cocos');\n if (rumConfig && this.rum) {\n let accepted = false;\n const ownershipPlugin = { name: 'cocos-adapter', onInit: (): void => { accepted = true; } };\n this.rum.init({\n ...rumConfig,\n plugins: [ownershipPlugin, ...(replay ? [target.DATAFLUX_RUM_WEBGL!.webglReplayPlugin()] : [])],\n });\n // A host awaiting its first manual view can still return undefined from getInitConfiguration().\n if (!accepted) throw new Error('Browser RUM is already initialized or did not accept Cocos initialization');\n this.setContext(this.rum, { ...config.sdk?.globalContext, ...config.rum?.globalContext });\n // Browser 3.3 exposes its public init configuration only after the first manual view.\n this.rum.startView({ name: web.outsideViewName || 'CocosInactive' });\n if (!this.rum.getInitConfiguration()) throw new Error('Browser RUM rejected its configuration');\n this.rum.stopSessionReplayRecording();\n }\n if (logsConfig && this.logs) {\n this.logs.init(logsConfig);\n if (!this.logs.getInitConfiguration()) throw new Error('Browser Logs rejected its configuration');\n this.setContext(this.logs, { ...config.sdk?.globalContext, ...config.logger?.globalContext });\n }\n }\n\n claim(owner: object): void {\n if (this.owner && this.owner !== owner) throw new Error('Another Cocos facade already owns this page attachment');\n this.owner = owner;\n }\n release(owner: object): void {\n if (this.owner !== owner) return;\n this.stopReplay();\n this.privacyCheck = undefined;\n this.owner = undefined;\n }\n setPrivacyCheck(owner: object, check: (() => boolean) | undefined): void {\n if (this.owner !== owner) throw new Error('Attach the Web SDK before configuring privacy');\n this.privacyCheck = check;\n }\n startReplay(): void {\n if (!this.config.web.replay) throw new Error('Configure Web Replay in the pre-engine bootstrap');\n this.replayStarted = true;\n this.rum!.startSessionReplayRecording();\n }\n stopReplay(): void {\n if (!this.replayStarted) return;\n this.replayStarted = false;\n this.rum?.stopSessionReplayRecording();\n }\n isRecording(): boolean { return this.replayStarted && !!this.rum?.isRecording(); }\n\n invoke<T>(method: string, input?: unknown): T | undefined {\n const data = (input || {}) as Record<string, any>;\n switch (method) {\n case 'sdk.bindUser': {\n const user = data as FTUserData;\n const identity = { ...user.extra, id: required(user.userId, 'userId'), name: user.userName, email: user.userEmail };\n this.rum?.setUser(identity); this.logs?.setUser(identity); break;\n }\n case 'sdk.unbindUser': this.rum?.clearUser(); this.logs?.clearUser(); break;\n case 'rum.startView': this.requireRum().startView({ name: data.name, context: data.attributes }); break;\n case 'rum.stopView': this.requireRum().startView({ name: this.config.web.outsideViewName || 'CocosInactive', context: data.attributes }); break;\n case 'rum.addAction': this.requireRum().addTypeAction(data.name, data.type, data.attributes); break;\n case 'rum.addError': {\n const error = new Error(data.message); error.name = data.type; error.stack = data.stack;\n this.requireRum().addError(error, { ...data.attributes, cocos_error_state: data.state }); break;\n }\n case 'logger.log': {\n if (!this.logs) throw new Error('Web logging was not enabled');\n const config = this.config.logger!;\n if (config.enableCustomLog === false || (config.logLevelFilters && config.logLevelFilters.indexOf(data.level) < 0)) break;\n const status = data.level === 'warning' ? 'warn' : data.level;\n if (['ok', 'debug', 'info', 'notice', 'warn', 'error', 'critical', 'alert', 'emerg'].indexOf(status) < 0) {\n throw new Error(`Unsupported Browser log level: ${data.level}`);\n }\n this.logs.logger.log(data.content, data.attributes, status); break;\n }\n default: throw new Error(`${method} is not supported on Web. Configure collectors at page bootstrap; use Browser automatic network/trace collection and detach() for Cocos cleanup.`);\n }\n return undefined;\n }\n private requireRum(): FTBrowserRum {\n if (!this.rum) throw new Error('Web RUM was not enabled');\n return this.rum;\n }\n private setContext(api: FTBrowserRum | FTBrowserLogs, context: Record<string, unknown>): void {\n Object.keys(context).forEach(key => api.setGlobalContextProperty(key, context[key]));\n }\n}\n\nexport function bootstrapWeb(config: FTCocosWebConfig, target: FTWebWindow = window as FTWebWindow): FTWebPageRuntime {\n if (target.__FT_COCOS_WEB__) throw new Error('Cocos Web bootstrap already initialized');\n const runtime = new FTWebRuntime(config, target, true);\n target.__FT_COCOS_WEB__ = runtime;\n return runtime;\n}\nfunction required(value: string | undefined, name: string): string {\n if (typeof value !== 'string' || !value.trim()) throw new Error(`${name} is required`);\n return value;\n}\nfunction reportingConnection(web: FTCocosWebConfig['web']): Record<string, string> {\n if (web.datakitOrigin && (web.site || web.clientToken)) throw new Error('Choose datakitOrigin or site with clientToken');\n const origin = required(web.datakitOrigin || web.site, 'web.datakitOrigin or web.site');\n if (!/^https?:\\/\\/[^/?#@]+\\/?$/.test(origin)) throw new Error('Browser reporting endpoint must be an HTTP(S) origin without a path, credentials, query or fragment');\n return web.datakitOrigin ? { datakitOrigin: origin } : { site: origin, clientToken: required(web.clientToken, 'web.clientToken') };\n}\nfunction percentage(value: number | undefined, legacy: number | undefined, fallback: number, name: string): number {\n return value !== undefined ? samplingPercentage(value, name)! : legacy !== undefined ? samplingRate(legacy, name)! * 100 : fallback;\n}\nfunction integer(value: number | undefined, min: number, max: number, fallback: number, name: string): number {\n if (value === undefined) return fallback;\n if (!Number.isInteger(value) || value < min || value > max) throw new RangeError(`${name} must be an integer between ${min} and ${max}`);\n return value;\n}\n"]}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { FTLogger, FTRUM, FTTrace } from './modules.js';
|
|
2
2
|
import type { FTAutoTrackingController, FTAutoTrackingScope } from './client.js';
|
|
3
3
|
import type { FTAutoTrackingConfig, FTAttributes } from './types.js';
|
|
4
|
+
import type { FTJsbErrorGlobal } from '../native/jsb-errors.js';
|
|
4
5
|
export interface FTEngineTrackingHooks {
|
|
5
6
|
onSceneChanged(callback: (name: string) => void, includeCurrent?: boolean): () => void;
|
|
6
7
|
onAction(callback: (name: string, attributes?: FTAttributes) => void): () => void;
|
|
7
8
|
}
|
|
8
|
-
interface FTGlobalWithFetch {
|
|
9
|
+
interface FTGlobalWithFetch extends FTJsbErrorGlobal {
|
|
9
10
|
fetch?: typeof fetch;
|
|
10
11
|
XMLHttpRequest?: typeof XMLHttpRequest;
|
|
11
12
|
console?: Console;
|
|
@@ -21,6 +22,7 @@ export declare class FTDefaultAutoTracking implements FTAutoTrackingController {
|
|
|
21
22
|
private stops;
|
|
22
23
|
private networkStops;
|
|
23
24
|
private activeView;
|
|
25
|
+
private readonly observations;
|
|
24
26
|
constructor(rum: FTRUM, logger: FTLogger, trace: FTTrace, hooks: FTEngineTrackingHooks, target?: FTGlobalWithFetch);
|
|
25
27
|
start(config: FTAutoTrackingConfig, viewName?: string, scope?: FTAutoTrackingScope): void;
|
|
26
28
|
stop(scope?: FTAutoTrackingScope): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-tracking.d.ts","sourceRoot":"","sources":["../../../../../src/core/auto-tracking.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,KAAK,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"auto-tracking.d.ts","sourceRoot":"","sources":["../../../../../src/core/auto-tracking.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,KAAK,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAGhE,MAAM,WAAW,qBAAqB;IACpC,cAAc,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,GAAG,MAAM,IAAI,CAAC;IACvF,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,YAAY,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;CACnF;AAED,UAAU,iBAAkB,SAAQ,gBAAgB;IAClD,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,cAAc,CAAC;IACvC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,UAAU,CAAC,gBAAgB,CAAC;IACtD,mBAAmB,CAAC,EAAE,OAAO,UAAU,CAAC,mBAAmB,CAAC;CAC7D;AAED,qBAAa,qBAAsB,YAAW,wBAAwB;IAOlE,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAVzB,OAAO,CAAC,KAAK,CAAyB;IACtC,OAAO,CAAC,YAAY,CAAyB;IAC7C,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;gBAG/B,GAAG,EAAE,KAAK,EACV,MAAM,EAAE,QAAQ,EAChB,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,qBAAqB,EAC5B,MAAM,GAAE,iBAA8B;IAKzD,KAAK,CAAC,MAAM,EAAE,oBAAoB,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,GAAE,mBAA2B,GAAG,IAAI;IAoBhG,IAAI,CAAC,KAAK,GAAE,mBAA2B,GAAG,IAAI;IAiB9C,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,qBAAqB;IAM7B,OAAO,CAAC,oBAAoB;IA6C5B,OAAO,CAAC,sBAAsB;IAiD9B,OAAO,CAAC,oBAAoB;IAgF5B,OAAO,CAAC,kBAAkB;CAiH3B"}
|