@rpgjs/client 5.0.0-alpha.8 → 5.0.0-beta.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/Game/AnimationManager.d.ts +8 -0
- package/dist/Game/AnimationManager.js +26 -0
- package/dist/Game/AnimationManager.js.map +1 -0
- package/dist/Game/Event.d.ts +1 -1
- package/dist/Game/Event.js +12 -0
- package/dist/Game/Event.js.map +1 -0
- package/dist/Game/Map.d.ts +23 -2
- package/dist/Game/Map.js +80 -0
- package/dist/Game/Map.js.map +1 -0
- package/dist/Game/Object.d.ts +157 -0
- package/dist/Game/Object.js +211 -0
- package/dist/Game/Object.js.map +1 -0
- package/dist/Game/Player.d.ts +1 -1
- package/dist/Game/Player.js +12 -0
- package/dist/Game/Player.js.map +1 -0
- package/dist/Gui/Gui.d.ts +177 -5
- package/dist/Gui/Gui.js +445 -0
- package/dist/Gui/Gui.js.map +1 -0
- package/dist/Gui/NotificationManager.d.ts +23 -0
- package/dist/Gui/NotificationManager.js +49 -0
- package/dist/Gui/NotificationManager.js.map +1 -0
- package/dist/Resource.d.ts +97 -0
- package/dist/Resource.js +133 -0
- package/dist/Resource.js.map +1 -0
- package/dist/RpgClient.d.ts +290 -58
- package/dist/RpgClientEngine.d.ts +649 -9
- package/dist/RpgClientEngine.js +1334 -0
- package/dist/RpgClientEngine.js.map +1 -0
- package/dist/Sound.d.ts +199 -0
- package/dist/Sound.js +167 -0
- package/dist/Sound.js.map +1 -0
- package/dist/_virtual/_@oxc-project_runtime@0.122.0/helpers/decorate.js +9 -0
- package/dist/_virtual/_@oxc-project_runtime@0.122.0/helpers/decorateMetadata.js +6 -0
- package/dist/components/animations/animation.ce.js +24 -0
- package/dist/components/animations/animation.ce.js.map +1 -0
- package/dist/components/animations/hit.ce.js +70 -0
- package/dist/components/animations/hit.ce.js.map +1 -0
- package/dist/components/animations/index.d.ts +4 -0
- package/dist/components/animations/index.js +11 -0
- package/dist/components/animations/index.js.map +1 -0
- package/dist/components/character.ce.js +392 -0
- package/dist/components/character.ce.js.map +1 -0
- package/dist/components/dynamics/parse-value.d.ts +1 -0
- package/dist/components/dynamics/parse-value.js +44 -0
- package/dist/components/dynamics/parse-value.js.map +1 -0
- package/dist/components/dynamics/text.ce.js +73 -0
- package/dist/components/dynamics/text.ce.js.map +1 -0
- package/dist/components/gui/box.ce.js +28 -0
- package/dist/components/gui/box.ce.js.map +1 -0
- package/dist/components/gui/dialogbox/index.ce.js +205 -0
- package/dist/components/gui/dialogbox/index.ce.js.map +1 -0
- package/dist/components/gui/gameover.ce.js +193 -0
- package/dist/components/gui/gameover.ce.js.map +1 -0
- package/dist/components/gui/hud/hud.ce.js +92 -0
- package/dist/components/gui/hud/hud.ce.js.map +1 -0
- package/dist/components/gui/index.d.ts +15 -3
- package/dist/components/gui/index.js +14 -0
- package/dist/components/gui/menu/equip-menu.ce.js +481 -0
- package/dist/components/gui/menu/equip-menu.ce.js.map +1 -0
- package/dist/components/gui/menu/exit-menu.ce.js +54 -0
- package/dist/components/gui/menu/exit-menu.ce.js.map +1 -0
- package/dist/components/gui/menu/items-menu.ce.js +344 -0
- package/dist/components/gui/menu/items-menu.ce.js.map +1 -0
- package/dist/components/gui/menu/main-menu.ce.js +417 -0
- package/dist/components/gui/menu/main-menu.ce.js.map +1 -0
- package/dist/components/gui/menu/options-menu.ce.js +48 -0
- package/dist/components/gui/menu/options-menu.ce.js.map +1 -0
- package/dist/components/gui/menu/skills-menu.ce.js +107 -0
- package/dist/components/gui/menu/skills-menu.ce.js.map +1 -0
- package/dist/components/gui/mobile/index.d.ts +8 -0
- package/dist/components/gui/mobile/index.js +21 -0
- package/dist/components/gui/mobile/index.js.map +1 -0
- package/dist/components/gui/mobile/mobile.ce.js +78 -0
- package/dist/components/gui/mobile/mobile.ce.js.map +1 -0
- package/dist/components/gui/notification/notification.ce.js +64 -0
- package/dist/components/gui/notification/notification.ce.js.map +1 -0
- package/dist/components/gui/save-load.ce.js +389 -0
- package/dist/components/gui/save-load.ce.js.map +1 -0
- package/dist/components/gui/shop/shop.ce.js +652 -0
- package/dist/components/gui/shop/shop.ce.js.map +1 -0
- package/dist/components/gui/title-screen.ce.js +190 -0
- package/dist/components/gui/title-screen.ce.js.map +1 -0
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.js +4 -0
- package/dist/components/prebuilt/hp-bar.ce.js +116 -0
- package/dist/components/prebuilt/hp-bar.ce.js.map +1 -0
- package/dist/components/prebuilt/index.d.ts +19 -0
- package/dist/components/prebuilt/index.js +2 -0
- package/dist/components/prebuilt/light-halo.ce.js +94 -0
- package/dist/components/prebuilt/light-halo.ce.js.map +1 -0
- package/dist/components/scenes/canvas.ce.js +60 -0
- package/dist/components/scenes/canvas.ce.js.map +1 -0
- package/dist/components/scenes/draw-map.ce.js +89 -0
- package/dist/components/scenes/draw-map.ce.js.map +1 -0
- package/dist/components/scenes/event-layer.ce.js +28 -0
- package/dist/components/scenes/event-layer.ce.js.map +1 -0
- package/dist/core/inject.js +18 -0
- package/dist/core/inject.js.map +1 -0
- package/dist/core/setup.js +16 -0
- package/dist/core/setup.js.map +1 -0
- package/dist/index.d.ts +15 -1
- package/dist/index.js +44 -14
- package/dist/module.d.ts +43 -4
- package/dist/module.js +176 -0
- package/dist/module.js.map +1 -0
- package/dist/node_modules/.pnpm/@signe_di@2.9.0/node_modules/@signe/di/dist/index.js +277 -0
- package/dist/node_modules/.pnpm/@signe_di@2.9.0/node_modules/@signe/di/dist/index.js.map +1 -0
- package/dist/node_modules/.pnpm/@signe_reactive@2.8.3/node_modules/@signe/reactive/dist/index.js +457 -0
- package/dist/node_modules/.pnpm/@signe_reactive@2.8.3/node_modules/@signe/reactive/dist/index.js.map +1 -0
- package/dist/node_modules/.pnpm/@signe_reactive@2.9.0/node_modules/@signe/reactive/dist/index.js +463 -0
- package/dist/node_modules/.pnpm/@signe_reactive@2.9.0/node_modules/@signe/reactive/dist/index.js.map +1 -0
- package/dist/node_modules/.pnpm/@signe_room@2.9.0/node_modules/@signe/room/dist/index.js +2191 -0
- package/dist/node_modules/.pnpm/@signe_room@2.9.0/node_modules/@signe/room/dist/index.js.map +1 -0
- package/dist/node_modules/.pnpm/@signe_sync@2.9.0/node_modules/@signe/sync/dist/chunk-7QVYU63E.js +10 -0
- package/dist/node_modules/.pnpm/@signe_sync@2.9.0/node_modules/@signe/sync/dist/chunk-7QVYU63E.js.map +1 -0
- package/dist/node_modules/.pnpm/@signe_sync@2.9.0/node_modules/@signe/sync/dist/client/index.js +91 -0
- package/dist/node_modules/.pnpm/@signe_sync@2.9.0/node_modules/@signe/sync/dist/client/index.js.map +1 -0
- package/dist/node_modules/.pnpm/@signe_sync@2.9.0/node_modules/@signe/sync/dist/index.js +325 -0
- package/dist/node_modules/.pnpm/@signe_sync@2.9.0/node_modules/@signe/sync/dist/index.js.map +1 -0
- package/dist/node_modules/.pnpm/dset@3.1.4/node_modules/dset/dist/index.js +14 -0
- package/dist/node_modules/.pnpm/dset@3.1.4/node_modules/dset/dist/index.js.map +1 -0
- package/dist/node_modules/.pnpm/partysocket@1.1.3/node_modules/partysocket/dist/chunk-HAC622V3.js +115 -0
- package/dist/node_modules/.pnpm/partysocket@1.1.3/node_modules/partysocket/dist/chunk-HAC622V3.js.map +1 -0
- package/dist/node_modules/.pnpm/partysocket@1.1.3/node_modules/partysocket/dist/chunk-S74YV6PU.js +401 -0
- package/dist/node_modules/.pnpm/partysocket@1.1.3/node_modules/partysocket/dist/chunk-S74YV6PU.js.map +1 -0
- package/dist/node_modules/.pnpm/partysocket@1.1.3/node_modules/partysocket/dist/index.js +2 -0
- package/dist/node_modules/.pnpm/zod@3.24.2/node_modules/zod/lib/index.js +3756 -0
- package/dist/node_modules/.pnpm/zod@3.24.2/node_modules/zod/lib/index.js.map +1 -0
- package/dist/presets/animation.d.ts +31 -0
- package/dist/presets/animation.js +39 -0
- package/dist/presets/animation.js.map +1 -0
- package/dist/presets/faceset.d.ts +30 -0
- package/dist/presets/faceset.js +51 -0
- package/dist/presets/faceset.js.map +1 -0
- package/dist/presets/icon.d.ts +20 -0
- package/dist/presets/icon.js +15 -0
- package/dist/presets/icon.js.map +1 -0
- package/dist/presets/index.d.ts +123 -0
- package/dist/presets/index.js +17 -0
- package/dist/presets/index.js.map +1 -0
- package/dist/presets/lpc.d.ts +89 -0
- package/dist/presets/lpc.js +98 -0
- package/dist/presets/lpc.js.map +1 -0
- package/dist/presets/rmspritesheet.js +42 -0
- package/dist/presets/rmspritesheet.js.map +1 -0
- package/dist/services/AbstractSocket.d.ts +9 -5
- package/dist/services/AbstractSocket.js +11 -0
- package/dist/services/AbstractSocket.js.map +1 -0
- package/dist/services/keyboardControls.d.ts +15 -0
- package/dist/services/keyboardControls.js +23 -0
- package/dist/services/keyboardControls.js.map +1 -0
- package/dist/services/loadMap.js +123 -0
- package/dist/services/loadMap.js.map +1 -0
- package/dist/services/mmorpg.d.ts +21 -9
- package/dist/services/mmorpg.js +131 -0
- package/dist/services/mmorpg.js.map +1 -0
- package/dist/services/save.d.ts +19 -0
- package/dist/services/save.js +77 -0
- package/dist/services/save.js.map +1 -0
- package/dist/services/standalone.d.ts +67 -7
- package/dist/services/standalone.js +168 -0
- package/dist/services/standalone.js.map +1 -0
- package/dist/utils/getEntityProp.d.ts +39 -0
- package/dist/utils/getEntityProp.js +52 -0
- package/dist/utils/getEntityProp.js.map +1 -0
- package/package.json +13 -9
- package/src/Game/{EffectManager.ts → AnimationManager.ts} +3 -2
- package/src/Game/Event.ts +1 -1
- package/src/Game/Map.ts +95 -3
- package/src/Game/Object.ts +330 -14
- package/src/Game/Player.ts +1 -1
- package/src/Gui/Gui.ts +506 -18
- package/src/Gui/NotificationManager.ts +69 -0
- package/src/Resource.ts +150 -0
- package/src/RpgClient.ts +300 -58
- package/src/RpgClientEngine.ts +1707 -48
- package/src/Sound.ts +253 -0
- package/src/components/{effects → animations}/animation.ce +3 -6
- package/src/components/{effects → animations}/index.ts +1 -1
- package/src/components/character.ce +406 -40
- package/src/components/dynamics/parse-value.ts +80 -0
- package/src/components/dynamics/text.ce +183 -0
- package/src/components/gui/box.ce +17 -0
- package/src/components/gui/dialogbox/index.ce +204 -187
- package/src/components/gui/gameover.ce +158 -0
- package/src/components/gui/hud/hud.ce +61 -0
- package/src/components/gui/index.ts +30 -4
- package/src/components/gui/menu/equip-menu.ce +410 -0
- package/src/components/gui/menu/exit-menu.ce +41 -0
- package/src/components/gui/menu/items-menu.ce +317 -0
- package/src/components/gui/menu/main-menu.ce +294 -0
- package/src/components/gui/menu/options-menu.ce +35 -0
- package/src/components/gui/menu/skills-menu.ce +83 -0
- package/src/components/gui/mobile/index.ts +24 -0
- package/src/components/gui/mobile/mobile.ce +80 -0
- package/src/components/gui/notification/notification.ce +51 -0
- package/src/components/gui/save-load.ce +208 -0
- package/src/components/gui/shop/shop.ce +493 -0
- package/src/components/gui/title-screen.ce +163 -0
- package/src/components/index.ts +3 -0
- package/src/components/prebuilt/hp-bar.ce +255 -0
- package/src/components/prebuilt/index.ts +24 -0
- package/src/components/prebuilt/light-halo.ce +148 -0
- package/src/components/scenes/canvas.ce +20 -15
- package/src/components/scenes/draw-map.ce +60 -13
- package/src/components/scenes/event-layer.ce +9 -2
- package/src/components/scenes/transition.ce +60 -0
- package/src/index.ts +16 -2
- package/src/module.ts +145 -9
- package/src/presets/animation.ts +46 -0
- package/src/presets/faceset.ts +60 -0
- package/src/presets/icon.ts +17 -0
- package/src/presets/index.ts +9 -1
- package/src/presets/lpc.ts +108 -0
- package/src/services/AbstractSocket.ts +10 -2
- package/src/services/keyboardControls.ts +20 -0
- package/src/services/loadMap.ts +1 -1
- package/src/services/mmorpg.ts +100 -12
- package/src/services/save.ts +103 -0
- package/src/services/standalone.ts +110 -18
- package/src/utils/getEntityProp.ts +87 -0
- package/tsconfig.json +1 -1
- package/vite.config.ts +4 -2
- package/dist/Game/EffectManager.d.ts +0 -5
- package/dist/components/effects/index.d.ts +0 -4
- package/dist/index.js.map +0 -1
- package/dist/index10.js +0 -8
- package/dist/index10.js.map +0 -1
- package/dist/index11.js +0 -10
- package/dist/index11.js.map +0 -1
- package/dist/index12.js +0 -8
- package/dist/index12.js.map +0 -1
- package/dist/index13.js +0 -17
- package/dist/index13.js.map +0 -1
- package/dist/index14.js +0 -91
- package/dist/index14.js.map +0 -1
- package/dist/index15.js +0 -50
- package/dist/index15.js.map +0 -1
- package/dist/index16.js +0 -191
- package/dist/index16.js.map +0 -1
- package/dist/index17.js +0 -9
- package/dist/index17.js.map +0 -1
- package/dist/index18.js +0 -387
- package/dist/index18.js.map +0 -1
- package/dist/index19.js +0 -31
- package/dist/index19.js.map +0 -1
- package/dist/index2.js +0 -112
- package/dist/index2.js.map +0 -1
- package/dist/index20.js +0 -24
- package/dist/index20.js.map +0 -1
- package/dist/index21.js +0 -2421
- package/dist/index21.js.map +0 -1
- package/dist/index22.js +0 -114
- package/dist/index22.js.map +0 -1
- package/dist/index23.js +0 -109
- package/dist/index23.js.map +0 -1
- package/dist/index24.js +0 -71
- package/dist/index24.js.map +0 -1
- package/dist/index25.js +0 -21
- package/dist/index25.js.map +0 -1
- package/dist/index26.js +0 -41
- package/dist/index26.js.map +0 -1
- package/dist/index27.js +0 -5
- package/dist/index27.js.map +0 -1
- package/dist/index28.js +0 -322
- package/dist/index28.js.map +0 -1
- package/dist/index29.js +0 -27
- package/dist/index29.js.map +0 -1
- package/dist/index3.js +0 -87
- package/dist/index3.js.map +0 -1
- package/dist/index30.js +0 -11
- package/dist/index30.js.map +0 -1
- package/dist/index31.js +0 -11
- package/dist/index31.js.map +0 -1
- package/dist/index32.js +0 -12
- package/dist/index32.js.map +0 -1
- package/dist/index33.js +0 -4403
- package/dist/index33.js.map +0 -1
- package/dist/index34.js +0 -316
- package/dist/index34.js.map +0 -1
- package/dist/index35.js +0 -174
- package/dist/index35.js.map +0 -1
- package/dist/index36.js +0 -501
- package/dist/index36.js.map +0 -1
- package/dist/index37.js +0 -61
- package/dist/index37.js.map +0 -1
- package/dist/index38.js +0 -20
- package/dist/index38.js.map +0 -1
- package/dist/index39.js +0 -20
- package/dist/index39.js.map +0 -1
- package/dist/index4.js +0 -67
- package/dist/index4.js.map +0 -1
- package/dist/index5.js +0 -16
- package/dist/index5.js.map +0 -1
- package/dist/index6.js +0 -17
- package/dist/index6.js.map +0 -1
- package/dist/index7.js +0 -39
- package/dist/index7.js.map +0 -1
- package/dist/index8.js +0 -90
- package/dist/index8.js.map +0 -1
- package/dist/index9.js +0 -76
- package/dist/index9.js.map +0 -1
- package/src/components/gui/dialogbox/itemMenu.ce +0 -23
- package/src/components/gui/dialogbox/selection.ce +0 -67
- /package/src/components/{effects → animations}/hit.ce +0 -0
package/dist/index18.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index18.js","sources":["../../../node_modules/.pnpm/@signe+sync@2.3.3/node_modules/@signe/sync/dist/index.js"],"sourcesContent":["import {\n __name\n} from \"./chunk-7QVYU63E.js\";\n\n// src/core.ts\nimport { isArraySubject, isObjectSubject, isSignal, isComputed } from \"@signe/reactive\";\n\n// src/utils.ts\nfunction isFunction(val) {\n return {}.toString.call(val) === \"[object Function]\";\n}\n__name(isFunction, \"isFunction\");\nfunction isClass(obj) {\n return typeof obj === \"function\" && obj.prototype && obj.prototype.constructor === obj;\n}\n__name(isClass, \"isClass\");\nvar isObject = /* @__PURE__ */ __name((item) => item && typeof item === \"object\" && !Array.isArray(item) && item !== null, \"isObject\");\nfunction isInstanceOfClass(value) {\n if (value === null || typeof value !== \"object\" || value === void 0 || Array.isArray(value)) {\n return false;\n }\n return Object.getPrototypeOf(value) !== Object.prototype;\n}\n__name(isInstanceOfClass, \"isInstanceOfClass\");\nfunction generateShortUUID() {\n const chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\";\n let uuid = \"\";\n for (let i = 0; i < 8; i++) {\n const randomIndex = Math.floor(Math.random() * chars.length);\n uuid += chars[randomIndex];\n }\n return uuid;\n}\n__name(generateShortUUID, \"generateShortUUID\");\n\n// src/core.ts\nvar DELETE_TOKEN = \"$delete\";\nvar syncClass = /* @__PURE__ */ __name((instance, options = {}) => {\n const cacheSync = /* @__PURE__ */ new Map();\n const cachePersist = /* @__PURE__ */ new Map();\n instance.$valuesChanges = {\n set: /* @__PURE__ */ __name((path, value) => {\n cacheSync.set(path, value);\n options.onSync?.(cacheSync);\n }, \"set\"),\n setPersist: /* @__PURE__ */ __name((path, value) => {\n if (path == \"\") path = \".\";\n cachePersist.set(path, value);\n options.onPersist?.(cachePersist);\n }, \"setPersist\"),\n has: /* @__PURE__ */ __name((path) => {\n return cacheSync.has(path);\n }, \"has\"),\n get: /* @__PURE__ */ __name((path) => {\n return cacheSync.get(path);\n }, \"get\")\n };\n createSyncClass(instance);\n}, \"syncClass\");\nfunction createStatesSnapshot(instance) {\n let persistObject = {};\n if (instance?.$snapshot) {\n for (const key of instance.$snapshot.keys()) {\n const signal = instance.$snapshot.get(key);\n const persist2 = signal.options.persist ?? true;\n let value = signal();\n if (isObject(value) || Array.isArray(value)) {\n continue;\n }\n if (persist2) {\n persistObject[key] = value;\n }\n }\n }\n return persistObject;\n}\n__name(createStatesSnapshot, \"createStatesSnapshot\");\nfunction setMetadata(target, key, value) {\n const meta = target.constructor._propertyMetadata;\n const propId = meta?.get(key);\n if (propId) {\n if (isSignal(target[propId])) {\n target[propId].set(value);\n } else {\n target[propId] = value;\n }\n }\n}\n__name(setMetadata, \"setMetadata\");\nvar createSyncClass = /* @__PURE__ */ __name((currentClass, parentKey = null, parentClass = null, path = \"\") => {\n currentClass.$path = path;\n if (parentClass) {\n currentClass.$valuesChanges = parentClass.$valuesChanges;\n }\n if (parentKey) {\n setMetadata(currentClass, \"id\", parentKey);\n }\n if (currentClass.$snapshot) {\n for (const key of currentClass.$snapshot.keys()) {\n const signal = currentClass.$snapshot.get(key);\n const syncToClient = signal.options?.syncToClient ?? true;\n const persist2 = signal.options?.persist ?? true;\n let signalValue = signal();\n if (isObject(signalValue) || Array.isArray(signalValue)) {\n signalValue = {\n ...signalValue\n };\n }\n const newPath = (path ? path + \".\" : \"\") + key;\n if (syncToClient) {\n currentClass.$valuesChanges.set(newPath, signalValue);\n }\n if (persist2) {\n if (parentClass) currentClass.$valuesChanges.setPersist(path, signalValue);\n }\n if (isComputed(signal)) {\n signal.observable.subscribe((newValue) => {\n if (syncToClient) {\n currentClass.$valuesChanges.set(newPath, newValue);\n }\n });\n }\n }\n }\n}, \"createSyncClass\");\nvar type = /* @__PURE__ */ __name((_signal, path, options = {}, currentInstance) => {\n const { syncToClient = true, persist: persist2 = true } = options;\n let init = true;\n const handleObjectSubject = /* @__PURE__ */ __name((value, propPath) => {\n const newPath = `${propPath}${value.key ? `.${value.key}` : \"\"}`;\n if ([\n \"add\",\n \"reset\",\n \"update\"\n ].includes(value.type)) {\n if (isInstanceOfClass(value.value)) {\n createSyncClass(value.value, value.key, currentInstance, newPath);\n } else if (value.type === \"update\" && (isObject(value.value) || Array.isArray(value.value))) {\n createSyncClass(value.value, value.key, currentInstance, newPath);\n } else {\n savePath(newPath, value.value);\n }\n } else if (value.type === \"remove\") {\n savePath(newPath, DELETE_TOKEN);\n }\n }, \"handleObjectSubject\");\n const handleArraySubject = /* @__PURE__ */ __name((value, propPath) => {\n if (value.type === \"reset\" && Array.isArray(value.items)) {\n value.items.forEach((item, index) => {\n const newPath2 = `${propPath}.${index}`;\n if (isInstanceOfClass(item)) {\n createSyncClass(item, value.key, currentInstance, newPath2);\n } else {\n savePath(newPath2, item);\n }\n });\n return;\n }\n const newPath = `${propPath}.${value.index}`;\n const firstItem = value.items?.[0];\n if ([\n \"add\",\n \"update\"\n ].includes(value.type) && firstItem !== void 0) {\n if (isInstanceOfClass(firstItem)) {\n createSyncClass(firstItem, value.key, currentInstance, newPath);\n } else if (value.type === \"update\" && (isObject(firstItem) || Array.isArray(firstItem))) {\n createSyncClass(firstItem, value.key, currentInstance, newPath);\n } else {\n savePath(newPath, firstItem);\n }\n } else if (value.type === \"remove\") {\n savePath(newPath, DELETE_TOKEN);\n }\n }, \"handleArraySubject\");\n const savePath = /* @__PURE__ */ __name((propPath, value) => {\n if (syncToClient) {\n currentInstance.$valuesChanges.set(propPath, value);\n }\n if (persist2 && currentInstance.$path !== void 0) {\n currentInstance.$valuesChanges.setPersist(value == DELETE_TOKEN ? propPath : currentInstance.$path, value);\n }\n }, \"savePath\");\n const setupSubscription = /* @__PURE__ */ __name((signal, signalPath) => {\n if (!isSignal(signal)) return;\n if (syncToClient && currentInstance.$valuesChanges) {\n const initialValue = signal();\n currentInstance.$valuesChanges.set(signalPath, initialValue);\n }\n signal.options = options;\n signal.observable.subscribe((value) => {\n if (init) return;\n if (currentInstance.$path !== void 0) {\n const fullPath = `${currentInstance.$path ? currentInstance.$path + \".\" : \"\"}${signalPath}`;\n if (isComputed(signal)) {\n savePath(fullPath, value);\n } else if (isObjectSubject(signal._subject)) {\n handleObjectSubject(value, fullPath);\n } else if (isArraySubject(signal._subject)) {\n handleArraySubject(value, fullPath);\n } else {\n savePath(fullPath, value);\n }\n }\n });\n if (!currentInstance.$snapshot) {\n currentInstance.$snapshot = /* @__PURE__ */ new Map();\n }\n currentInstance.$snapshot.set(path, signal);\n }, \"setupSubscription\");\n if (!isSignal(_signal)) {\n if (_signal && typeof _signal === \"object\" && !Array.isArray(_signal)) {\n for (const key in _signal) {\n if (Object.prototype.hasOwnProperty.call(_signal, key)) {\n const value = _signal[key];\n const propertyPath = `${path}.${key}`;\n if (isSignal(value)) {\n setupSubscription(value, propertyPath);\n } else if (value && typeof value === \"object\" && !Array.isArray(value)) {\n type(value, propertyPath, options, currentInstance);\n }\n }\n }\n init = false;\n }\n return _signal;\n }\n setupSubscription(_signal, path);\n init = false;\n return _signal;\n}, \"type\");\n\n// src/decorators.ts\nfunction sync(options) {\n let classType;\n let persist2 = true;\n let syncToClient = true;\n if (typeof options === \"function\") {\n classType = options;\n } else if (typeof options === \"object\") {\n classType = options.classType;\n if (options.hasOwnProperty(\"persist\")) {\n persist2 = options.persist;\n }\n if (options.hasOwnProperty(\"syncToClient\")) {\n syncToClient = options.syncToClient;\n }\n }\n return function(target, propertyKey) {\n const privatePropertyKey = `__${propertyKey}`;\n const getter = /* @__PURE__ */ __name(function() {\n return this[privatePropertyKey];\n }, \"getter\");\n const setter = /* @__PURE__ */ __name(function(newVal) {\n this[privatePropertyKey] = type(newVal, propertyKey, {\n classType,\n persist: persist2,\n syncToClient\n }, this);\n }, \"setter\");\n Object.defineProperty(target, propertyKey, {\n get: getter,\n set: setter,\n enumerable: true,\n configurable: true\n });\n };\n}\n__name(sync, \"sync\");\nfunction id() {\n return function(target, propertyKey) {\n if (!target.constructor._propertyMetadata) {\n target.constructor._propertyMetadata = /* @__PURE__ */ new Map();\n }\n target.constructor._propertyMetadata.set(\"id\", propertyKey);\n };\n}\n__name(id, \"id\");\nfunction users(options) {\n return function(target, propertyKey) {\n if (!target.constructor._propertyMetadata) {\n target.constructor._propertyMetadata = /* @__PURE__ */ new Map();\n }\n target.constructor._propertyMetadata.set(\"users\", propertyKey);\n sync(options)(target, propertyKey);\n };\n}\n__name(users, \"users\");\nfunction persist() {\n return sync({\n persist: true,\n syncToClient: false\n });\n}\n__name(persist, \"persist\");\nfunction connected() {\n return function(target, propertyKey) {\n if (!target.constructor._propertyMetadata) {\n target.constructor._propertyMetadata = /* @__PURE__ */ new Map();\n }\n target.constructor._propertyMetadata.set(\"connected\", propertyKey);\n sync({\n persist: false\n })(target, propertyKey);\n };\n}\n__name(connected, \"connected\");\n\n// src/load.ts\nimport { isSignal as isSignal2 } from \"@signe/reactive\";\nfunction load(rootInstance, values, valueIsObject) {\n if (valueIsObject) {\n loadFromObject(rootInstance, values);\n } else {\n loadFromPaths(rootInstance, values);\n }\n}\n__name(load, \"load\");\nfunction loadFromPaths(rootInstance, values) {\n for (const [path, value] of Object.entries(values)) {\n const parts = path.split(\".\");\n loadValue(rootInstance, parts, value);\n }\n}\n__name(loadFromPaths, \"loadFromPaths\");\nfunction loadFromObject(rootInstance, values, currentPath = \"\") {\n for (let key in values) {\n const value = values[key];\n const newPath = currentPath ? `${currentPath}.${key}` : key;\n if (typeof value === \"object\" && !Array.isArray(value) && value !== null) {\n loadFromObject(rootInstance, value, newPath);\n } else {\n const parts = newPath.split(\".\");\n loadValue(rootInstance, parts, value);\n }\n }\n}\n__name(loadFromObject, \"loadFromObject\");\nfunction loadValue(rootInstance, parts, value) {\n let current = rootInstance;\n for (let i = 0; i < parts.length; i++) {\n const part = parts[i];\n if (i === parts.length - 1) {\n if (value == DELETE_TOKEN) {\n if (isSignal2(current)) {\n current = current();\n }\n Reflect.deleteProperty(current, part);\n } else if (current[part]?._subject) {\n current[part].set(value);\n } else if (isSignal2(current) && Array.isArray(current()) && !isNaN(Number(part))) {\n current()[Number(part)] = value;\n } else {\n current[part] = value;\n }\n } else {\n if (isSignal2(current)) {\n current = current();\n }\n const currentValue = current[part];\n if (currentValue === void 0) {\n const parentInstance = getByPath(rootInstance, parts.slice(0, i).join(\".\"));\n const classType = parentInstance?.options?.classType;\n if (classType) {\n current[part] = !isClass(classType) ? classType(part) : new classType();\n setMetadata(current[part], \"id\", part);\n } else {\n current[part] = {};\n }\n }\n current = current[part];\n }\n }\n}\n__name(loadValue, \"loadValue\");\nfunction getByPath(root, path) {\n const parts = path.split(\".\");\n let current = root;\n for (const part of parts) {\n if (isSignal2(current)) {\n current = current();\n }\n if (current[part]) {\n current = current[part];\n } else {\n return void 0;\n }\n }\n return current;\n}\n__name(getByPath, \"getByPath\");\nexport {\n DELETE_TOKEN,\n connected,\n createStatesSnapshot,\n createSyncClass,\n generateShortUUID,\n getByPath,\n id,\n isClass,\n isFunction,\n isInstanceOfClass,\n isObject,\n load,\n persist,\n setMetadata,\n sync,\n syncClass,\n type,\n users\n};\n//# sourceMappingURL=index.js.map"],"names":["isSignal2"],"mappings":"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","x_google_ignoreList":[0]}
|
package/dist/index19.js
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { RpgCommonMap } from '@rpgjs/common';
|
|
2
|
-
import { sync, users } from './index18.js';
|
|
3
|
-
import { RpgClientPlayer } from './index30.js';
|
|
4
|
-
import { signal } from 'canvasengine';
|
|
5
|
-
import { RpgClientEvent } from './index31.js';
|
|
6
|
-
|
|
7
|
-
var __defProp = Object.defineProperty;
|
|
8
|
-
var __decorateClass = (decorators, target, key, kind) => {
|
|
9
|
-
var result = void 0 ;
|
|
10
|
-
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
11
|
-
if (decorator = decorators[i])
|
|
12
|
-
result = (decorator(target, key, result) ) || result;
|
|
13
|
-
if (result) __defProp(target, key, result);
|
|
14
|
-
return result;
|
|
15
|
-
};
|
|
16
|
-
class RpgClientMap extends RpgCommonMap {
|
|
17
|
-
constructor() {
|
|
18
|
-
super(...arguments);
|
|
19
|
-
this.players = signal({});
|
|
20
|
-
this.events = signal({});
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
__decorateClass([
|
|
24
|
-
users(RpgClientPlayer)
|
|
25
|
-
], RpgClientMap.prototype, "players");
|
|
26
|
-
__decorateClass([
|
|
27
|
-
sync(RpgClientEvent)
|
|
28
|
-
], RpgClientMap.prototype, "events");
|
|
29
|
-
|
|
30
|
-
export { RpgClientMap };
|
|
31
|
-
//# sourceMappingURL=index19.js.map
|
package/dist/index19.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index19.js","sources":["../src/Game/Map.ts"],"sourcesContent":["import { RpgCommonMap } from \"@rpgjs/common\";\nimport { sync, users } from \"@signe/sync\";\nimport { RpgClientPlayer } from \"./Player\";\nimport { Signal, signal } from \"canvasengine\";\nimport { RpgClientEvent } from \"./Event\";\n\nexport class RpgClientMap extends RpgCommonMap<RpgClientPlayer> {\n @users(RpgClientPlayer) players = signal<Record<string, RpgClientPlayer>>({});\n @sync(RpgClientEvent) events = signal<Record<string, RpgClientEvent>>({});\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAMO,MAAM,qBAAqB,YAA8B,CAAA;AAAA,EAAzD,WAAA,GAAA;AAAA,IAAA,KAAA,CAAA,GAAA,SAAA,CAAA;AACmB,IAAU,IAAA,CAAA,OAAA,GAAA,MAAA,CAAwC,EAAE,CAAA;AACtD,IAAS,IAAA,CAAA,MAAA,GAAA,MAAA,CAAuC,EAAE,CAAA;AAAA;AAC1E;AAF0B,eAAA,CAAA;AAAA,EAAvB,MAAM,eAAe;AAAA,CAAA,EADX,YACa,CAAA,SAAA,EAAA,SAAA,CAAA;AACF,eAAA,CAAA;AAAA,EAArB,KAAK,cAAc;AAAA,CAAA,EAFT,YAEW,CAAA,SAAA,EAAA,QAAA,CAAA;;;;"}
|
package/dist/index2.js
DELETED
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
import component from './index15.js';
|
|
2
|
-
import { inject } from './index16.js';
|
|
3
|
-
import { signal, bootstrapCanvas } from 'canvasengine';
|
|
4
|
-
import { WebSocketToken } from './index17.js';
|
|
5
|
-
import { LoadMapToken } from './index7.js';
|
|
6
|
-
import { ModulesToken } from '@rpgjs/common';
|
|
7
|
-
import { load } from './index18.js';
|
|
8
|
-
import { RpgClientMap } from './index19.js';
|
|
9
|
-
import { RpgGui } from './index9.js';
|
|
10
|
-
import { EffectManager } from './index20.js';
|
|
11
|
-
import { lastValueFrom } from 'rxjs';
|
|
12
|
-
import { GlobalConfigToken } from './index8.js';
|
|
13
|
-
|
|
14
|
-
class RpgClientEngine {
|
|
15
|
-
constructor(context) {
|
|
16
|
-
this.context = context;
|
|
17
|
-
this.sceneMap = new RpgClientMap();
|
|
18
|
-
this.stopProcessingInput = false;
|
|
19
|
-
this.width = signal("100%");
|
|
20
|
-
this.height = signal("100%");
|
|
21
|
-
this.spritesheets = /* @__PURE__ */ new Map();
|
|
22
|
-
this.sounds = /* @__PURE__ */ new Map();
|
|
23
|
-
this.effects = [];
|
|
24
|
-
this.particleSettings = {
|
|
25
|
-
emitters: []
|
|
26
|
-
};
|
|
27
|
-
this.webSocket = inject(context, WebSocketToken);
|
|
28
|
-
this.guiService = inject(context, RpgGui);
|
|
29
|
-
this.loadMapService = inject(context, LoadMapToken);
|
|
30
|
-
this.hooks = inject(context, ModulesToken);
|
|
31
|
-
this.globalConfig = inject(context, GlobalConfigToken);
|
|
32
|
-
}
|
|
33
|
-
async start() {
|
|
34
|
-
this.selector = document.body.querySelector("#rpg");
|
|
35
|
-
await bootstrapCanvas(this.selector, component);
|
|
36
|
-
await lastValueFrom(this.hooks.callHooks("client-engine-onStart", this));
|
|
37
|
-
this.hooks.callHooks("client-spritesheets-load", this).subscribe();
|
|
38
|
-
this.hooks.callHooks("client-sounds-load", this).subscribe();
|
|
39
|
-
this.hooks.callHooks("client-gui-load", this).subscribe();
|
|
40
|
-
this.hooks.callHooks("client-particles-load", this).subscribe();
|
|
41
|
-
this.hooks.callHooks("client-effects-load", this).subscribe();
|
|
42
|
-
await this.webSocket.connection(() => {
|
|
43
|
-
this.initListeners();
|
|
44
|
-
this.guiService._initialize();
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
initListeners() {
|
|
48
|
-
this.webSocket.on("sync", (data) => {
|
|
49
|
-
load(this.sceneMap, data, true);
|
|
50
|
-
});
|
|
51
|
-
this.webSocket.on("changeMap", (data) => {
|
|
52
|
-
this.loadScene(data.mapId);
|
|
53
|
-
});
|
|
54
|
-
this.webSocket.on("showEffect", (data) => {
|
|
55
|
-
const { params, object, id } = data;
|
|
56
|
-
if (!object) {
|
|
57
|
-
throw new Error("Object not found");
|
|
58
|
-
}
|
|
59
|
-
const player = this.sceneMap.getObjectById(object);
|
|
60
|
-
this.getEffect(id).displayEffect(params, player);
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
async loadScene(mapId) {
|
|
64
|
-
this.webSocket.updateProperties({ room: mapId });
|
|
65
|
-
await this.webSocket.reconnect(() => {
|
|
66
|
-
this.initListeners();
|
|
67
|
-
this.guiService._initialize();
|
|
68
|
-
});
|
|
69
|
-
const res = await this.loadMapService.load(mapId);
|
|
70
|
-
this.sceneMap.data.set(res);
|
|
71
|
-
this.hooks.callHooks("client-sceneMap-onAfterLoading", this.sceneMap).subscribe();
|
|
72
|
-
}
|
|
73
|
-
addSpriteSheet(spritesheetClass, id) {
|
|
74
|
-
this.spritesheets.set(id || spritesheetClass.id, spritesheetClass);
|
|
75
|
-
return spritesheetClass;
|
|
76
|
-
}
|
|
77
|
-
addSound(sound, id) {
|
|
78
|
-
this.sounds.set(id || sound.id, sound);
|
|
79
|
-
return sound;
|
|
80
|
-
}
|
|
81
|
-
addParticle(particle) {
|
|
82
|
-
this.particleSettings.emitters.push(particle);
|
|
83
|
-
return particle;
|
|
84
|
-
}
|
|
85
|
-
addEffect(effect) {
|
|
86
|
-
const instance = new EffectManager();
|
|
87
|
-
this.effects.push({
|
|
88
|
-
id: effect.id,
|
|
89
|
-
component: effect.component,
|
|
90
|
-
instance,
|
|
91
|
-
current: instance.current
|
|
92
|
-
});
|
|
93
|
-
return effect;
|
|
94
|
-
}
|
|
95
|
-
getEffect(id) {
|
|
96
|
-
const effect = this.effects.find((effect2) => effect2.id === id);
|
|
97
|
-
if (!effect) {
|
|
98
|
-
throw new Error(`Effect with id ${id} not found`);
|
|
99
|
-
}
|
|
100
|
-
return effect.instance;
|
|
101
|
-
}
|
|
102
|
-
processInput({ input }) {
|
|
103
|
-
this.webSocket.emit("move", { input });
|
|
104
|
-
}
|
|
105
|
-
processAction({ action }) {
|
|
106
|
-
if (this.stopProcessingInput) return;
|
|
107
|
-
this.webSocket.emit("action", { action });
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
export { RpgClientEngine };
|
|
112
|
-
//# sourceMappingURL=index2.js.map
|
package/dist/index2.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index2.js","sources":["../src/RpgClientEngine.ts"],"sourcesContent":["import Canvas from \"./components/scenes/canvas.ce\";\nimport { Context, inject } from \"@signe/di\";\nimport { signal, bootstrapCanvas } from \"canvasengine\";\nimport { AbstractWebsocket, WebSocketToken } from \"./services/AbstractSocket\";\nimport { LoadMapService, LoadMapToken } from \"./services/loadMap\";\nimport { Hooks, ModulesToken } from \"@rpgjs/common\";\nimport { load } from \"@signe/sync\";\nimport { RpgClientMap } from \"./Game/Map\"\nimport { RpgGui } from \"./Gui/Gui\";\nimport { EffectManager } from \"./Game/EffectManager\";\nimport { lastValueFrom } from \"rxjs\";\nimport { GlobalConfigToken } from \"./module\";\nimport { ClientIo } from \"@signe/room\";\n\nexport class RpgClientEngine<T = any> {\n private guiService: RpgGui;\n private webSocket: AbstractWebsocket;\n private loadMapService: LoadMapService;\n private hooks: Hooks;\n private sceneMap: RpgClientMap = new RpgClientMap();\n private selector: HTMLElement;\n public globalConfig: T;\n public sceneComponent: any;\n stopProcessingInput = false;\n\n width = signal(\"100%\");\n height = signal(\"100%\");\n spritesheets: Map<string, any> = new Map();\n sounds: Map<string, any> = new Map();\n effects: any[] = [];\n particleSettings: {\n emitters: any[]\n } = {\n emitters: []\n }\n\n constructor(public context: Context) {\n this.webSocket = inject(context, WebSocketToken);\n this.guiService = inject(context, RpgGui);\n this.loadMapService = inject(context, LoadMapToken);\n this.hooks = inject<Hooks>(context, ModulesToken);\n this.globalConfig = inject(context, GlobalConfigToken)\n }\n\n async start() {\n this.selector = document.body.querySelector(\"#rpg\") as HTMLElement;\n\n await bootstrapCanvas(this.selector, Canvas);\n\n await lastValueFrom(this.hooks.callHooks(\"client-engine-onStart\", this));\n\n this.hooks.callHooks(\"client-spritesheets-load\", this).subscribe();\n this.hooks.callHooks(\"client-sounds-load\", this).subscribe();\n this.hooks.callHooks(\"client-gui-load\", this).subscribe();\n this.hooks.callHooks(\"client-particles-load\", this).subscribe();\n this.hooks.callHooks(\"client-effects-load\", this).subscribe();\n\n \n await this.webSocket.connection(() => {\n this.initListeners()\n this.guiService._initialize()\n });\n }\n\n private initListeners() {\n this.webSocket.on(\"sync\", (data) => {\n load(this.sceneMap, data, true);\n });\n\n this.webSocket.on(\"changeMap\", (data) => {\n this.loadScene(data.mapId);\n });\n\n this.webSocket.on(\"showEffect\", (data) => {\n const { params, object, id } = data;\n if (!object) {\n throw new Error(\"Object not found\");\n }\n const player = this.sceneMap.getObjectById(object);\n this.getEffect(id).displayEffect(params, player)\n });\n }\n \n private async loadScene(mapId: string) {\n this.webSocket.updateProperties({ room: mapId })\n await this.webSocket.reconnect(() => {\n this.initListeners()\n this.guiService._initialize()\n })\n const res = await this.loadMapService.load(mapId)\n this.sceneMap.data.set(res)\n this.hooks.callHooks(\"client-sceneMap-onAfterLoading\", this.sceneMap).subscribe();\n //this.sceneMap.loadPhysic()\n }\n\n addSpriteSheet<T = any>(spritesheetClass: any, id?: string): any {\n this.spritesheets.set(id || spritesheetClass.id, spritesheetClass);\n return spritesheetClass as any;\n }\n\n addSound(sound: any, id?: string) {\n this.sounds.set(id || sound.id, sound);\n return sound;\n }\n\n addParticle(particle: any) {\n this.particleSettings.emitters.push(particle)\n return particle;\n }\n\n addEffect(effect: {\n component: any,\n id: string\n }) {\n const instance = new EffectManager()\n this.effects.push({\n id: effect.id,\n component: effect.component,\n instance: instance,\n current: instance.current\n })\n return effect;\n }\n\n getEffect(id: string): EffectManager {\n const effect = this.effects.find((effect) => effect.id === id)\n if (!effect) {\n throw new Error(`Effect with id ${id} not found`)\n }\n return effect.instance\n }\n\n processInput({ input }: { input: number }) {\n this.webSocket.emit('move', { input })\n }\n\n processAction({ action }: { action: number }) {\n if (this.stopProcessingInput) return;\n this.webSocket.emit('action', { action })\n }\n}\n"],"names":["Canvas","effect"],"mappings":"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"}
|
package/dist/index20.js
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { generateUID } from '@rpgjs/common';
|
|
2
|
-
import { signal } from 'canvasengine';
|
|
3
|
-
|
|
4
|
-
class EffectManager {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.current = signal([]);
|
|
7
|
-
}
|
|
8
|
-
displayEffect(params, player) {
|
|
9
|
-
const id = generateUID();
|
|
10
|
-
this.current().push({
|
|
11
|
-
...params,
|
|
12
|
-
id,
|
|
13
|
-
x: player.x,
|
|
14
|
-
y: player.y,
|
|
15
|
-
onFinish: () => {
|
|
16
|
-
const index = this.current().findIndex((value) => value.id === id);
|
|
17
|
-
this.current().splice(index, 1);
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
export { EffectManager };
|
|
24
|
-
//# sourceMappingURL=index20.js.map
|
package/dist/index20.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index20.js","sources":["../src/Game/EffectManager.ts"],"sourcesContent":["import { generateUID, RpgCommonPlayer } from \"@rpgjs/common\";\nimport { signal } from \"canvasengine\";\n\nexport class EffectManager {\n current = signal<any[]>([]);\n\n displayEffect(params: any, player: RpgCommonPlayer) {\n const id = generateUID();\n this.current().push({\n ...params,\n id,\n x: player.x,\n y: player.y,\n onFinish: () => {\n const index = this.current().findIndex((value) => value.id === id);\n this.current().splice(index, 1);\n },\n });\n }\n}\n"],"names":[],"mappings":";;;AAGO,MAAM,aAAc,CAAA;AAAA,EAApB,WAAA,GAAA;AACL,IAAU,IAAA,CAAA,OAAA,GAAA,MAAA,CAAc,EAAE,CAAA;AAAA;AAAA,EAE1B,aAAA,CAAc,QAAa,MAAyB,EAAA;AAClD,IAAA,MAAM,KAAK,WAAY,EAAA;AACvB,IAAK,IAAA,CAAA,OAAA,GAAU,IAAK,CAAA;AAAA,MAClB,GAAG,MAAA;AAAA,MACH,EAAA;AAAA,MACA,GAAG,MAAO,CAAA,CAAA;AAAA,MACV,GAAG,MAAO,CAAA,CAAA;AAAA,MACV,UAAU,MAAM;AACd,QAAM,MAAA,KAAA,GAAQ,KAAK,OAAQ,EAAA,CAAE,UAAU,CAAC,KAAA,KAAU,KAAM,CAAA,EAAA,KAAO,EAAE,CAAA;AACjE,QAAA,IAAA,CAAK,OAAQ,EAAA,CAAE,MAAO,CAAA,KAAA,EAAO,CAAC,CAAA;AAAA;AAChC,KACD,CAAA;AAAA;AAEL;;;;"}
|