@woosh/meep-engine 2.126.12 → 2.126.15
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/package.json +1 -1
- package/src/core/binary/BinaryBuffer.d.ts +11 -1
- package/src/core/binary/BinaryBuffer.d.ts.map +1 -1
- package/src/core/binary/BinaryBuffer.js +18 -8
- package/src/core/collection/array/array_push_if_unique.d.ts +4 -3
- package/src/core/collection/array/array_push_if_unique.d.ts.map +1 -1
- package/src/core/collection/array/array_push_if_unique.js +4 -3
- package/src/core/geom/3d/quaternion/quat_decode_from_uint32.d.ts +4 -0
- package/src/core/geom/3d/quaternion/quat_decode_from_uint32.d.ts.map +1 -1
- package/src/core/geom/3d/quaternion/quat_decode_from_uint32.js +4 -0
- package/src/core/geom/3d/quaternion/quat_encode_to_uint32.d.ts +4 -0
- package/src/core/geom/3d/quaternion/quat_encode_to_uint32.d.ts.map +1 -1
- package/src/core/geom/3d/quaternion/quat_encode_to_uint32.js +4 -0
- package/src/core/geom/Vector3.d.ts +2 -1
- package/src/core/geom/Vector3.d.ts.map +1 -1
- package/src/core/geom/Vector3.js +2 -1
- package/src/engine/ecs/EntityComponentDataset.d.ts.map +1 -1
- package/src/engine/ecs/EntityComponentDataset.js +1 -0
- package/src/engine/ecs/EntityManager.d.ts +3 -0
- package/src/engine/ecs/EntityManager.d.ts.map +1 -1
- package/src/engine/ecs/EntityManager.js +3 -0
- package/src/engine/ecs/EntityObserver.d.ts.map +1 -1
- package/src/engine/ecs/EntityObserver.js +3 -0
- package/src/engine/ecs/EntityReference.d.ts +10 -8
- package/src/engine/ecs/EntityReference.d.ts.map +1 -1
- package/src/engine/ecs/EntityReference.js +10 -8
- package/src/engine/ecs/System.d.ts.map +1 -1
- package/src/engine/ecs/System.js +3 -0
- package/src/engine/ecs/parent/ParentEntity.d.ts.map +1 -1
- package/src/engine/ecs/parent/ParentEntity.js +4 -1
- package/src/engine/ecs/storage/BinaryBufferDeSerializer.d.ts +17 -1
- package/src/engine/ecs/storage/BinaryBufferDeSerializer.d.ts.map +1 -1
- package/src/engine/ecs/storage/BinaryBufferDeSerializer.js +20 -1
- package/src/engine/ecs/storage/BinaryBufferSerializer.d.ts +17 -0
- package/src/engine/ecs/storage/BinaryBufferSerializer.d.ts.map +1 -1
- package/src/engine/ecs/storage/BinaryBufferSerializer.js +31 -7
- package/src/engine/ecs/transform/Transform.d.ts +0 -1
- package/src/engine/ecs/transform/Transform.d.ts.map +1 -1
- package/src/engine/ecs/transform/Transform.js +0 -1
- package/src/engine/graphics/texture/sampler/Sampler2D.d.ts +2 -0
- package/src/engine/graphics/texture/sampler/Sampler2D.d.ts.map +1 -1
- package/src/engine/graphics/texture/sampler/Sampler2D.js +2 -0
- package/src/engine/input/devices/InputDeviceSwitch.d.ts.map +1 -1
- package/src/engine/input/devices/InputDeviceSwitch.js +3 -0
- package/src/engine/input/devices/KeyboardDevice.d.ts.map +1 -1
- package/src/engine/input/devices/KeyboardDevice.js +5 -1
- package/src/engine/input/devices/PointerDevice.d.ts.map +1 -1
- package/src/engine/input/devices/PointerDevice.js +3 -0
- package/src/engine/intelligence/behavior/Behavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/Behavior.js +3 -1
- package/src/engine/intelligence/behavior/SelectorBehavior.d.ts +2 -0
- package/src/engine/intelligence/behavior/SelectorBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/SelectorBehavior.js +2 -0
- package/src/engine/intelligence/behavior/behavior_to_dot.d.ts +4 -0
- package/src/engine/intelligence/behavior/behavior_to_dot.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/behavior_to_dot.js +4 -0
- package/src/engine/intelligence/behavior/composite/CompositeBehavior.d.ts +3 -0
- package/src/engine/intelligence/behavior/composite/CompositeBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/composite/CompositeBehavior.js +3 -0
- package/src/engine/intelligence/behavior/composite/ParallelBehavior.d.ts +3 -0
- package/src/engine/intelligence/behavior/composite/ParallelBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/composite/ParallelBehavior.js +3 -0
- package/src/engine/intelligence/behavior/composite/SequenceBehavior.d.ts +3 -0
- package/src/engine/intelligence/behavior/composite/SequenceBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/composite/SequenceBehavior.js +3 -0
- package/src/engine/intelligence/behavior/decorator/AbstractDecoratorBehavior.d.ts +5 -0
- package/src/engine/intelligence/behavior/decorator/AbstractDecoratorBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/decorator/AbstractDecoratorBehavior.js +6 -1
- package/src/engine/intelligence/behavior/decorator/IgnoreFailureBehavior.d.ts +5 -0
- package/src/engine/intelligence/behavior/decorator/IgnoreFailureBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/decorator/IgnoreFailureBehavior.js +6 -1
- package/src/engine/intelligence/behavior/decorator/InvertStatusBehavior.d.ts +3 -0
- package/src/engine/intelligence/behavior/decorator/InvertStatusBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/decorator/InvertStatusBehavior.js +3 -0
- package/src/engine/intelligence/behavior/decorator/RepeatBehavior.d.ts +3 -0
- package/src/engine/intelligence/behavior/decorator/RepeatBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/decorator/RepeatBehavior.js +3 -0
- package/src/engine/intelligence/behavior/decorator/RepeatUntilFailureBehavior.d.ts +3 -0
- package/src/engine/intelligence/behavior/decorator/RepeatUntilFailureBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/decorator/RepeatUntilFailureBehavior.js +3 -0
- package/src/engine/intelligence/behavior/decorator/RepeatUntilSuccessBehavior.d.ts +5 -0
- package/src/engine/intelligence/behavior/decorator/RepeatUntilSuccessBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/decorator/RepeatUntilSuccessBehavior.js +6 -1
- package/src/engine/intelligence/behavior/ecs/BehaviorComponent.d.ts +3 -0
- package/src/engine/intelligence/behavior/ecs/BehaviorComponent.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/ecs/BehaviorComponent.js +3 -0
- package/src/engine/intelligence/behavior/ecs/BehaviorSystem.d.ts +3 -0
- package/src/engine/intelligence/behavior/ecs/BehaviorSystem.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/ecs/BehaviorSystem.js +3 -0
- package/src/engine/intelligence/behavior/ecs/DieBehavior.d.ts +3 -0
- package/src/engine/intelligence/behavior/ecs/DieBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/ecs/DieBehavior.js +3 -0
- package/src/engine/intelligence/behavior/ecs/EntityBehavior.d.ts +5 -0
- package/src/engine/intelligence/behavior/ecs/EntityBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/ecs/EntityBehavior.js +8 -3
- package/src/engine/intelligence/behavior/ecs/KillBehavior.d.ts +2 -0
- package/src/engine/intelligence/behavior/ecs/KillBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/ecs/KillBehavior.js +2 -0
- package/src/engine/intelligence/behavior/ecs/SendEventBehavior.d.ts +2 -0
- package/src/engine/intelligence/behavior/ecs/SendEventBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/ecs/SendEventBehavior.js +2 -0
- package/src/engine/intelligence/behavior/ecs/WaitForEventBehavior.d.ts +2 -0
- package/src/engine/intelligence/behavior/ecs/WaitForEventBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/ecs/WaitForEventBehavior.js +2 -0
- package/src/engine/intelligence/behavior/primitive/ActionBehavior.d.ts +2 -0
- package/src/engine/intelligence/behavior/primitive/ActionBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/primitive/ActionBehavior.js +2 -0
- package/src/engine/intelligence/behavior/primitive/FailingBehavior.d.ts +5 -0
- package/src/engine/intelligence/behavior/primitive/FailingBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/primitive/FailingBehavior.js +5 -0
- package/src/engine/intelligence/behavior/primitive/PromiseBehavior.d.ts +5 -0
- package/src/engine/intelligence/behavior/primitive/PromiseBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/primitive/PromiseBehavior.js +5 -0
- package/src/engine/intelligence/behavior/primitive/SucceedingBehavior.d.ts +2 -0
- package/src/engine/intelligence/behavior/primitive/SucceedingBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/primitive/SucceedingBehavior.js +2 -0
- package/src/engine/intelligence/behavior/selector/WeightedElement.d.ts +2 -0
- package/src/engine/intelligence/behavior/selector/WeightedElement.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/selector/WeightedElement.js +2 -0
- package/src/engine/intelligence/behavior/selector/WeightedRandomBehavior.d.ts +2 -0
- package/src/engine/intelligence/behavior/selector/WeightedRandomBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/selector/WeightedRandomBehavior.js +2 -0
- package/src/engine/intelligence/behavior/util/BranchBehavior.d.ts +2 -0
- package/src/engine/intelligence/behavior/util/BranchBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/util/BranchBehavior.js +2 -0
- package/src/engine/intelligence/behavior/util/DelayBehavior.d.ts +3 -1
- package/src/engine/intelligence/behavior/util/DelayBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/util/DelayBehavior.js +3 -1
- package/src/engine/intelligence/behavior/util/LogMessageBehavior.d.ts +2 -0
- package/src/engine/intelligence/behavior/util/LogMessageBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/util/LogMessageBehavior.js +2 -0
- package/src/engine/intelligence/behavior/util/RandomDelayBehavior.d.ts +2 -0
- package/src/engine/intelligence/behavior/util/RandomDelayBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/util/RandomDelayBehavior.js +2 -0
- package/src/engine/intelligence/blackboard/Blackboard.d.ts.map +1 -1
- package/src/engine/intelligence/blackboard/Blackboard.js +5 -1
- package/src/engine/intelligence/mcts/MonteCarlo.d.ts +2 -0
- package/src/engine/intelligence/mcts/MonteCarlo.d.ts.map +1 -1
- package/src/engine/intelligence/mcts/MonteCarlo.js +2 -0
- package/src/engine/intelligence/mcts/MoveEdge.d.ts +2 -0
- package/src/engine/intelligence/mcts/MoveEdge.d.ts.map +1 -1
- package/src/engine/intelligence/mcts/MoveEdge.js +2 -0
- package/src/engine/intelligence/mcts/StateNode.d.ts +2 -0
- package/src/engine/intelligence/mcts/StateNode.d.ts.map +1 -1
- package/src/engine/intelligence/mcts/StateNode.js +2 -0
- package/src/engine/intelligence/optimization/RandomOptimizer.d.ts +8 -8
- package/src/engine/intelligence/optimization/RandomOptimizer.d.ts.map +1 -1
- package/src/engine/intelligence/optimization/RandomOptimizer.js +37 -40
- package/src/engine/intelligence/resource/ActionSequence.d.ts +3 -1
- package/src/engine/intelligence/resource/ActionSequence.d.ts.map +1 -1
- package/src/engine/intelligence/resource/ActionSequence.js +10 -13
- package/src/engine/intelligence/resource/Resource.d.ts +2 -0
- package/src/engine/intelligence/resource/Resource.d.ts.map +1 -1
- package/src/engine/intelligence/resource/Resource.js +2 -0
- package/src/engine/intelligence/resource/ResourceAllocation.d.ts +5 -0
- package/src/engine/intelligence/resource/ResourceAllocation.d.ts.map +1 -1
- package/src/engine/intelligence/resource/ResourceAllocation.js +5 -0
- package/src/engine/intelligence/resource/ResourceAllocationBid.d.ts +4 -1
- package/src/engine/intelligence/resource/ResourceAllocationBid.d.ts.map +1 -1
- package/src/engine/intelligence/resource/ResourceAllocationBid.js +4 -1
- package/src/engine/intelligence/resource/ResourceAllocationSolver.d.ts +5 -0
- package/src/engine/intelligence/resource/ResourceAllocationSolver.d.ts.map +1 -1
- package/src/engine/intelligence/resource/ResourceAllocationSolver.js +26 -21
- package/src/engine/intelligence/resource/StrategicResourceAllocator.d.ts +16 -3
- package/src/engine/intelligence/resource/StrategicResourceAllocator.d.ts.map +1 -1
- package/src/engine/intelligence/resource/StrategicResourceAllocator.js +32 -14
- package/src/engine/intelligence/resource/TacticalModule.d.ts +2 -0
- package/src/engine/intelligence/resource/TacticalModule.d.ts.map +1 -1
- package/src/engine/intelligence/resource/TacticalModule.js +2 -0
- package/src/engine/simulation/Ticker.d.ts +3 -0
- package/src/engine/simulation/Ticker.d.ts.map +1 -1
- package/src/engine/simulation/Ticker.js +3 -0
- package/src/engine/intelligence/behavior/behavior_to_dot.prototype.d.ts +0 -2
- package/src/engine/intelligence/behavior/behavior_to_dot.prototype.d.ts.map +0 -1
- package/src/engine/intelligence/behavior/behavior_to_dot.prototype.js +0 -55
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityBehavior.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/intelligence/behavior/ecs/EntityBehavior.js"],"names":[],"mappings":"AAGA;;IAGI;;;OAGG;IACH,QAFU,MAAM,CAEJ;IAEZ;;;OAGG;IACH,KAFU,sBAAsB,CAErB;IAEX,+BAaC;CACJ;
|
|
1
|
+
{"version":3,"file":"EntityBehavior.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/intelligence/behavior/ecs/EntityBehavior.js"],"names":[],"mappings":"AAGA;;;;GAIG;AACH;;IAGI;;;OAGG;IACH,QAFU,MAAM,CAEJ;IAEZ;;;OAGG;IACH,KAFU,sBAAsB,CAErB;IAEX,+BAaC;CACJ;yBApCwB,gBAAgB"}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
import { assert } from "../../../../core/assert.js";
|
|
2
|
+
import { Behavior } from "../Behavior.js";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
*
|
|
6
|
+
* @author Alex Goldring
|
|
7
|
+
* @copyright Company Named Limited (c) 2025
|
|
8
|
+
*/
|
|
4
9
|
export class EntityBehavior extends Behavior {
|
|
5
10
|
|
|
6
11
|
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Causes another entity to be destroyed
|
|
3
3
|
* Will produce a {@link BehaviorStatus.Failed} if entity could not be destroyed, either because it doesn't exist or the reference is stale
|
|
4
|
+
* @author Alex Goldring
|
|
5
|
+
* @copyright Company Named Limited (c) 2025
|
|
4
6
|
*/
|
|
5
7
|
export class KillBehavior extends EntityBehavior {
|
|
6
8
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KillBehavior.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/intelligence/behavior/ecs/KillBehavior.js"],"names":[],"mappings":"AAIA
|
|
1
|
+
{"version":3,"file":"KillBehavior.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/intelligence/behavior/ecs/KillBehavior.js"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH;IAOI;;;;OAIG;IACH,mBAHW,eAAe,GACb,YAAY,CAYxB;IAED,uEAaC;;CACJ;+BA9C8B,qBAAqB;+BADrB,sBAAsB"}
|
|
@@ -5,6 +5,8 @@ import { EntityBehavior } from "./EntityBehavior.js";
|
|
|
5
5
|
/**
|
|
6
6
|
* Causes another entity to be destroyed
|
|
7
7
|
* Will produce a {@link BehaviorStatus.Failed} if entity could not be destroyed, either because it doesn't exist or the reference is stale
|
|
8
|
+
* @author Alex Goldring
|
|
9
|
+
* @copyright Company Named Limited (c) 2025
|
|
8
10
|
*/
|
|
9
11
|
export class KillBehavior extends EntityBehavior {
|
|
10
12
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SendEventBehavior.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/intelligence/behavior/ecs/SendEventBehavior.js"],"names":[],"mappings":"AAIA
|
|
1
|
+
{"version":3,"file":"SendEventBehavior.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/intelligence/behavior/ecs/SendEventBehavior.js"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH;IA+BI;;;;OAIG;IACH,sBAHW;QAAC,KAAK,EAAC,MAAM,CAAC;QAAC,IAAI,CAAC,MAAQ;QAAC,MAAM,CAAC,EAAC,MAAM,CAAA;KAAC,GAC3C,iBAAiB,CAQ5B;IAxCD;;;OAGG;IACH,OAFU,MAAM,CAEL;IAEX,SAAU;IAEV;;;OAGG;IACH,QAFU,MAAM,CAEJ;IAEZ;;;;;OAKG;IACH,kCAJW,MAAM,QAWhB;IAmBD,qCAQC;CACJ;+BAjE8B,qBAAqB;+BADrB,sBAAsB"}
|
|
@@ -5,6 +5,8 @@ import { EntityBehavior } from "./EntityBehavior.js";
|
|
|
5
5
|
/**
|
|
6
6
|
* Dispatch an event to an entity via {@link EntityComponentDataset#sendEvent}
|
|
7
7
|
* @see WaitForEventBehavior
|
|
8
|
+
* @author Alex Goldring
|
|
9
|
+
* @copyright Company Named Limited (c) 2025
|
|
8
10
|
*/
|
|
9
11
|
export class SendEventBehavior extends EntityBehavior {
|
|
10
12
|
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
* Wait for a given entity event via {@link EntityComponentDataset#addEntityEventListener}
|
|
3
3
|
* No failure condition, will wait forever until the event is detected.
|
|
4
4
|
* @see SendEventBehavior
|
|
5
|
+
* @author Alex Goldring
|
|
6
|
+
* @copyright Company Named Limited (c) 2025
|
|
5
7
|
*/
|
|
6
8
|
export class WaitForEventBehavior extends EntityBehavior {
|
|
7
9
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WaitForEventBehavior.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/intelligence/behavior/ecs/WaitForEventBehavior.js"],"names":[],"mappings":"AAIA
|
|
1
|
+
{"version":3,"file":"WaitForEventBehavior.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/intelligence/behavior/ecs/WaitForEventBehavior.js"],"names":[],"mappings":"AAIA;;;;;;GAMG;AACH;IA6BI;;;;OAIG;IACH,4BAFY,oBAAoB,CAQ/B;IAtCD;;;OAGG;IACH,OAFU,MAAM,CAEL;IAEX;;;OAGG;IACH,UAFU,OAAO,CAEA;IAEjB;;;;OAIG;IACH,QAFU,MAAM,CAEJ;IAEZ;;;aAMC;IAeD,wEAMC;;CA0BJ;;kBAIS,MAAM;;+BAvFe,qBAAqB;+BADrB,sBAAsB"}
|
|
@@ -6,6 +6,8 @@ import { EntityBehavior } from "./EntityBehavior.js";
|
|
|
6
6
|
* Wait for a given entity event via {@link EntityComponentDataset#addEntityEventListener}
|
|
7
7
|
* No failure condition, will wait forever until the event is detected.
|
|
8
8
|
* @see SendEventBehavior
|
|
9
|
+
* @author Alex Goldring
|
|
10
|
+
* @copyright Company Named Limited (c) 2025
|
|
9
11
|
*/
|
|
10
12
|
export class WaitForEventBehavior extends EntityBehavior {
|
|
11
13
|
|
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
* @example
|
|
6
6
|
* // will print 'Hello World' in console when executed
|
|
7
7
|
* ActionBehavior.from( () => console.log('Hello World') );
|
|
8
|
+
* @author Alex Goldring
|
|
9
|
+
* @copyright Company Named Limited (c) 2025
|
|
8
10
|
*/
|
|
9
11
|
export class ActionBehavior<CTX> extends Behavior<CTX> {
|
|
10
12
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionBehavior.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/intelligence/behavior/primitive/ActionBehavior.js"],"names":[],"mappings":"AAIA
|
|
1
|
+
{"version":3,"file":"ActionBehavior.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/intelligence/behavior/primitive/ActionBehavior.js"],"names":[],"mappings":"AAIA;;;;;;;;;GASG;AACH,4BARa,GAAG;IA6BZ;;;OAGG;IACH,0DAEC;IA1BD;;;;OAIG;IACH,mCAFW,GAAC,EAeX;IARG,cAAsB;IAIlB,eAAqB;IAc7B,uEAeC;CACJ;yBA1DwB,gBAAgB;+BACV,sBAAsB"}
|
|
@@ -9,6 +9,8 @@ import { BehaviorStatus } from "../BehaviorStatus.js";
|
|
|
9
9
|
* @example
|
|
10
10
|
* // will print 'Hello World' in console when executed
|
|
11
11
|
* ActionBehavior.from( () => console.log('Hello World') );
|
|
12
|
+
* @author Alex Goldring
|
|
13
|
+
* @copyright Company Named Limited (c) 2025
|
|
12
14
|
*/
|
|
13
15
|
export class ActionBehavior extends Behavior {
|
|
14
16
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FailingBehavior.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/intelligence/behavior/primitive/FailingBehavior.js"],"names":[],"mappings":"AAGA;IAuBI;;;OAGG;IACH,0BAFU,eAAe,CAE8B;IAzBvD;;;OAGG;IACH,8BAOC;IAED,+BAEC;IAED,8BAEC;CAQJ;;;;
|
|
1
|
+
{"version":3,"file":"FailingBehavior.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/intelligence/behavior/primitive/FailingBehavior.js"],"names":[],"mappings":"AAGA;;;;GAIG;AACH;IAuBI;;;OAGG;IACH,0BAFU,eAAe,CAE8B;IAzBvD;;;OAGG;IACH,8BAOC;IAED,+BAEC;IAED,8BAEC;CAQJ;;;;yBArCwB,gBAAgB;+BACV,sBAAsB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PromiseBehavior.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/intelligence/behavior/primitive/PromiseBehavior.js"],"names":[],"mappings":"AAGA;IACI;;;OAGG;IACH,qBAFW,kBAAW,EAerB;IAVG;;;;OAIG;IACH,kBAAwB;IAExB,wBAAqB;IAErB,gCAA6C;IAGjD,+BAcC;IAED,qCAEC;CACJ;
|
|
1
|
+
{"version":3,"file":"PromiseBehavior.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/intelligence/behavior/primitive/PromiseBehavior.js"],"names":[],"mappings":"AAGA;;;;GAIG;AACH;IACI;;;OAGG;IACH,qBAFW,kBAAW,EAerB;IAVG;;;;OAIG;IACH,kBAAwB;IAExB,wBAAqB;IAErB,gCAA6C;IAGjD,+BAcC;IAED,qCAEC;CACJ;yBA/CwB,gBAAgB;+BACV,sBAAsB"}
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
* Behavior that always succeeds.
|
|
3
3
|
* Useful when you need to specify a behavior to fulfill the API, but you don't actually want to perform any action.
|
|
4
4
|
* You usually want to use {@link INSTANCE} singleton
|
|
5
|
+
* @author Alex Goldring
|
|
6
|
+
* @copyright Company Named Limited (c) 2025
|
|
5
7
|
*/
|
|
6
8
|
export class SucceedingBehavior extends Behavior<any> {
|
|
7
9
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SucceedingBehavior.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/intelligence/behavior/primitive/SucceedingBehavior.js"],"names":[],"mappings":"AAGA
|
|
1
|
+
{"version":3,"file":"SucceedingBehavior.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/intelligence/behavior/primitive/SucceedingBehavior.js"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH;IAUI;;;OAGG;IACH,0BAFU,kBAAkB,CAE8B;;IAZ1D,+BAEC;IAED,qCAEC;CAQJ;;;;yBA1BwB,gBAAgB;+BACV,sBAAsB"}
|
|
@@ -5,6 +5,8 @@ import { BehaviorStatus } from "../BehaviorStatus.js";
|
|
|
5
5
|
* Behavior that always succeeds.
|
|
6
6
|
* Useful when you need to specify a behavior to fulfill the API, but you don't actually want to perform any action.
|
|
7
7
|
* You usually want to use {@link INSTANCE} singleton
|
|
8
|
+
* @author Alex Goldring
|
|
9
|
+
* @copyright Company Named Limited (c) 2025
|
|
8
10
|
*/
|
|
9
11
|
export class SucceedingBehavior extends Behavior {
|
|
10
12
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WeightedElement.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/intelligence/behavior/selector/WeightedElement.js"],"names":[],"mappings":"AAMA
|
|
1
|
+
{"version":3,"file":"WeightedElement.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/intelligence/behavior/selector/WeightedElement.js"],"names":[],"mappings":"AAMA;;;;GAIG;AACH,6BAJa,CAAC;IAeV;;;;;OAKG;IACH,0BAJW,GAAC,WACD,MAAM,GACJ,eAAe,CAAC,GAAC,CAAC,CAgB9B;IAED;;;;OAIG;IACH,iBAJa,CAAC,UACH,eAAe,CAAC,CAAC,CAAC,GACjB,MAAM,CAIjB;IArCD,eAAW;IAEX;;;OAGG;IACH,MAFU,CAAC,CAEC;IAiCZ;;;;OAIG;IACH,cAHW,CAAC,GACA,OAAO,CAKlB;IAED;;;OAGG;IACH,QAFY,MAAM,CAOjB;IAGL;;;OAGG;IACH,4BAFU,OAAO,CAE0B;CAN1C"}
|
|
@@ -9,6 +9,8 @@
|
|
|
9
9
|
* WeightedElement.from(B, 70), // B is some behavior
|
|
10
10
|
* ]); // B will be 70 times more likely to be picked than A
|
|
11
11
|
*
|
|
12
|
+
* @author Alex Goldring
|
|
13
|
+
* @copyright Company Named Limited (c) 2025
|
|
12
14
|
*/
|
|
13
15
|
export class WeightedRandomBehavior extends Behavior<any> {
|
|
14
16
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WeightedRandomBehavior.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/intelligence/behavior/selector/WeightedRandomBehavior.js"],"names":[],"mappings":"AAMA
|
|
1
|
+
{"version":3,"file":"WeightedRandomBehavior.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/intelligence/behavior/selector/WeightedRandomBehavior.js"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;GAaG;AACH;IAkEI;;;;OAIG;IACH,sBAHW,eAAe,eAAU,EAAE,GACzB,sBAAsB,CAUlC;;IA7ED;;;;OAIG;IACH,mBAAgB;IAEhB;;;;OAIG;IACH,iBAA+B;IAE/B;;;;OAIG;IACH,mBAAuB;IAEvB;;;OAGG;IACH,iBAFW,MAAM,QAIhB;IAED;;;OAGG;IACH,sBAFW,eAAe,eAAU,EAAE,QAcrC;IAED;;;OAGG;IACH,cAFW,eAAe,eAAU,QAanC;IAiBD,iBAYC;IAED,+BAMC;IAUD,oEAEC;CACJ;yBAnIwB,gBAAgB;gCACT,sBAAsB"}
|
|
@@ -15,6 +15,8 @@ import { WeightedElement } from "./WeightedElement.js";
|
|
|
15
15
|
* WeightedElement.from(B, 70), // B is some behavior
|
|
16
16
|
* ]); // B will be 70 times more likely to be picked than A
|
|
17
17
|
*
|
|
18
|
+
* @author Alex Goldring
|
|
19
|
+
* @copyright Company Named Limited (c) 2025
|
|
18
20
|
*/
|
|
19
21
|
export class WeightedRandomBehavior extends Behavior {
|
|
20
22
|
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
* Utility behavior that works just like an IF/ELSE statement
|
|
3
3
|
* If you are not sure if this is the right behavior for your use-case, consider using a selector behavior instead,
|
|
4
4
|
* as selector is a more commonly applicable behavior type
|
|
5
|
+
* @author Alex Goldring
|
|
6
|
+
* @copyright Company Named Limited (c) 2025
|
|
5
7
|
*/
|
|
6
8
|
export class BranchBehavior extends Behavior<any> {
|
|
7
9
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BranchBehavior.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/intelligence/behavior/util/BranchBehavior.js"],"names":[],"mappings":"AAMA
|
|
1
|
+
{"version":3,"file":"BranchBehavior.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/intelligence/behavior/util/BranchBehavior.js"],"names":[],"mappings":"AAMA;;;;;;GAMG;AACH;IAWI;;;;;OAKG;IACH,sHAyBC;;IAGD,+BAKC;IAED,qCA2BC;;CAUJ;yBArGwB,gBAAgB;+BACV,sBAAsB"}
|
|
@@ -8,6 +8,8 @@ import { SucceedingBehavior } from "../primitive/SucceedingBehavior.js";
|
|
|
8
8
|
* Utility behavior that works just like an IF/ELSE statement
|
|
9
9
|
* If you are not sure if this is the right behavior for your use-case, consider using a selector behavior instead,
|
|
10
10
|
* as selector is a more commonly applicable behavior type
|
|
11
|
+
* @author Alex Goldring
|
|
12
|
+
* @copyright Company Named Limited (c) 2025
|
|
11
13
|
*/
|
|
12
14
|
export class BranchBehavior extends Behavior {
|
|
13
15
|
#branch_success = SucceedingBehavior.INSTANCE
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Wait for a certain amount of time, then succeed
|
|
3
|
+
* @author Alex Goldring
|
|
4
|
+
* @copyright Company Named Limited (c) 2025
|
|
3
5
|
*/
|
|
4
6
|
export class DelayBehavior extends Behavior<any> {
|
|
5
7
|
/**
|
|
@@ -16,7 +18,7 @@ export class DelayBehavior extends Behavior<any> {
|
|
|
16
18
|
static from(seconds: number): DelayBehavior;
|
|
17
19
|
constructor();
|
|
18
20
|
/**
|
|
19
|
-
* Delay value in seconds
|
|
21
|
+
* Delay value in seconds, how long should we wait?
|
|
20
22
|
* @type {number}
|
|
21
23
|
*/
|
|
22
24
|
value: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DelayBehavior.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/intelligence/behavior/util/DelayBehavior.js"],"names":[],"mappings":"AAIA
|
|
1
|
+
{"version":3,"file":"DelayBehavior.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/intelligence/behavior/util/DelayBehavior.js"],"names":[],"mappings":"AAIA;;;;GAIG;AACH;IAuBI;;;;OAIG;IACH,4BAFY,aAAa,CAMxB;IAED;;;;OAIG;IACH,qBAHW,MAAM,GACL,aAAa,CAYxB;;IA/CD;;;OAGG;IACH,OAFU,MAAM,CAEN;IAEV;;;;OAIG;IACH,SAFU,MAAM,CAEJ;IAEZ;;;aAMC;IA8BD,2BAIC;IAED,wEAQC;CACJ;yBA1EwB,gBAAgB;+BACV,sBAAsB"}
|
|
@@ -4,11 +4,13 @@ import { BehaviorStatus } from "../BehaviorStatus.js";
|
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Wait for a certain amount of time, then succeed
|
|
7
|
+
* @author Alex Goldring
|
|
8
|
+
* @copyright Company Named Limited (c) 2025
|
|
7
9
|
*/
|
|
8
10
|
export class DelayBehavior extends Behavior {
|
|
9
11
|
|
|
10
12
|
/**
|
|
11
|
-
* Delay value in seconds
|
|
13
|
+
* Delay value in seconds, how long should we wait?
|
|
12
14
|
* @type {number}
|
|
13
15
|
*/
|
|
14
16
|
value = 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LogMessageBehavior.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/intelligence/behavior/util/LogMessageBehavior.js"],"names":[],"mappings":"AAIA
|
|
1
|
+
{"version":3,"file":"LogMessageBehavior.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/intelligence/behavior/util/LogMessageBehavior.js"],"names":[],"mappings":"AAIA;;;;GAIG;AACH;IAaI;;;;OAIG;IACH,qBAHW,MAAM,GACL,kBAAkB,CAI7B;IAnBD;;;OAGG;IACH,sBAFW,MAAM,EAQhB;IADG,gBAAsB;IAY1B,qCAKC;CACJ;yBApCwB,gBAAgB;+BACV,sBAAsB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RandomDelayBehavior.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/intelligence/behavior/util/RandomDelayBehavior.js"],"names":[],"mappings":"AAWA
|
|
1
|
+
{"version":3,"file":"RandomDelayBehavior.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/intelligence/behavior/util/RandomDelayBehavior.js"],"names":[],"mappings":"AAWA;;;;GAIG;AACH;IA6BI;;;;OAIG;IACH,4BAFY,mBAAmB,CAM9B;IAED;;;;;OAKG;IACH,iCAJY,mBAAmB,CAU9B;;IAlDD;;;OAGG;IACH,OAFU,MAAM,CAEN;IAEV;;;OAGG;IACH,QAFU,eAAe,CAEU;IAEnC;;;;OAIG;IACH,gBAAY;IAEZ,qBAAiC;IAGjC;;;aAGC;IA2BD,2BAKC;IAED,wEAQC;CACJ;yBAnFwB,gBAAgB;gCAFT,mDAAmD;+BAGpD,sBAAsB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Blackboard.d.ts","sourceRoot":"","sources":["../../../../../src/engine/intelligence/blackboard/Blackboard.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Blackboard.d.ts","sourceRoot":"","sources":["../../../../../src/engine/intelligence/blackboard/Blackboard.js"],"names":[],"mappings":"AAOA;;;;GAIG;AACH;IAoPI;;;;OAIG;IACH,sBAHW,GAAG,GACF,UAAU,CAMrB;IAzPG;QACI;;;WAGG;eADO,MAAM;MAGnB;IAED;;;OAGG;IACH,UAAc;IAEd;;OAEG;IACH,cAAwC;IAG5C,+BAEC;IAED;;;OAGG;IACH,qBAEC;IAyBD;;;;OAIG;IACH,iCAFW,GAAC,QAcX;IAED;;;;OAIG;IACH,6BAFW,MAAM,sBAWhB;IAED;;;;;;OAMG;IACH,QANa,CAAC,QACH,MAAM,QACN,QAAQ,iBACR,MAAM,GAAC,OAAO,GACZ,CAAC,CAiCb;IAED;;;OAGG;IACH,cAFW,MAAM,QAWhB;IAED;;OAEG;IACH,cAEC;IAED;;;;OAIG;IACH,YAFW,UAAU,QAyCpB;IAED;;;OAGG;IACH,SAFa,UAAU,CAQtB;IAGD,aAQC;IAED,0BAiBC;CAYJ;;;;mCAvQkC,yBAAyB;mBAFzC,uCAAuC"}
|
|
@@ -5,7 +5,11 @@ import { AbstractBlackboard } from "./AbstractBlackboard.js";
|
|
|
5
5
|
import { BlackboardValue } from "./BlackboardValue.js";
|
|
6
6
|
import { make_blackboard_proxy } from "./make_blackboard_proxy.js";
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
/**
|
|
9
|
+
*
|
|
10
|
+
* @author Alex Goldring
|
|
11
|
+
* @copyright Company Named Limited (c) 2025
|
|
12
|
+
*/
|
|
9
13
|
export class Blackboard extends AbstractBlackboard {
|
|
10
14
|
constructor() {
|
|
11
15
|
super();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MonteCarlo.d.ts","sourceRoot":"","sources":["../../../../../src/engine/intelligence/mcts/MonteCarlo.js"],"names":[],"mappings":"AAsCA
|
|
1
|
+
{"version":3,"file":"MonteCarlo.d.ts","sourceRoot":"","sources":["../../../../../src/engine/intelligence/mcts/MonteCarlo.js"],"names":[],"mappings":"AAsCA;;;;GAIG;AACH,kCAJa,CAAC;IAMV;;;OAGG;IACH,WAFU,CAAC,CAEM;IAEjB;;;OAGG;IACH,MAFU,sBAAU,IAAI,CAEZ;IAEZ;;;OAGG;IACH,mBAFU,CAAS,IAAK,EAAL,KAAK,KAAC,CAAC,CAED;IAEzB;;;OAGG;IACH,qBAFU,CAAS,IAAK,EAAL,KAAK,KAAC,CAAC,CAEC;IAE3B;;;OAGG;IACH,qBAFU,MAAM,CAEW;IAE3B;;;OAGG;IACH,iBAAyB;IAEzB;;;;;;OAMG;IACH,yFANW,CAAC,QA2BX;IANG,gBAA4B;IAC5B,eAA0B;IAO9B;;;;;OAKG;IACH,+CAHW,CAAC,uBAsEX;IAED;;;OAGG;IACH,WAFa,CAAC,CA+Cb;CACJ;0BAvOoC,gBAAgB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MoveEdge.d.ts","sourceRoot":"","sources":["../../../../../src/engine/intelligence/mcts/MoveEdge.js"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"MoveEdge.d.ts","sourceRoot":"","sources":["../../../../../src/engine/intelligence/mcts/MoveEdge.js"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,sBAJa,CAAC;IA+BV;;;;OAIG;IACH,4BAHW,CAAS,IAAC,EAAD,GAAC,KAAE,GAAC,GACZ,QAAQ,CAAC,GAAC,CAAC,CAQtB;IAnCG;;;OAGG;IACH,QAFU,IAAI,GAAC,SAAS,CAEN;IAGtB;;;;OAIG;IACH,iBAHW,CAAC,QAKX;IAED;;;OAGG;IACH,wBAFa,OAAO,CAInB;CAcJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StateNode.d.ts","sourceRoot":"","sources":["../../../../../src/engine/intelligence/mcts/StateNode.js"],"names":[],"mappings":"wBAKU,MAAM;;;;;;;;;AAyDhB
|
|
1
|
+
{"version":3,"file":"StateNode.d.ts","sourceRoot":"","sources":["../../../../../src/engine/intelligence/mcts/StateNode.js"],"names":[],"mappings":"wBAKU,MAAM;;;;;;;;;AAyDhB;;;;GAIG;AACH,uBAJa,KAAK,EAAE,MAAM;IAMtB;;;OAGG;IACH,OAFU,MAAM,CAEN;IAEV;;;OAGG;IACH,MAFU,MAAM,CAEP;IAET;;;OAGG;IACH,QAFU,MAAM,CAEL;IAGX;;;OAGG;IACH,UAFU,MAAM,CAEH;IAEb;;;OAGG;IACH,gBAFU,MAAM,CAEG;IAEnB;;;OAGG;IACH,QAFU,IAAI,sBAAU,CAEV;IAEd;;;OAGG;IACH,OAFU,IAAI,GAAC,eAAU,CAEZ;IAEb;;;OAGG;IACH,MAFU,SAAS,CAEQ;IAG3B,+BASC;IAED;;OAEG;IACH,gCAuCC;IAED;;;;;OAKG;IACH,sEAFa,MAAM,CAyBlB;IAGD;;;;;OAKG;IACH,sBAJW,MAAM,QACN,MAAM,UACN,MAAM,QAchB;IAGD;;;OAGG;IACH,cAFa,OAAO,CAInB;IAED;;;OAGG;IACH,cAFa,OAAO,CAInB;IAED;;;OAGG;IACH,iBAFa,eAAU,CAmCtB;IAED;;;OAGG;IACH,kBAFW,CAAS,IAAS,6BAAC,QA8B7B;CACJ;yBA1TwB,eAAe"}
|
|
@@ -7,34 +7,34 @@
|
|
|
7
7
|
export class RandomOptimizer<S> {
|
|
8
8
|
/**
|
|
9
9
|
*
|
|
10
|
-
* @type {S}
|
|
10
|
+
* @type {S|null}
|
|
11
11
|
*/
|
|
12
|
-
state:
|
|
12
|
+
state: S | null;
|
|
13
13
|
/**
|
|
14
14
|
*
|
|
15
15
|
* @type {function(S):S}
|
|
16
16
|
*/
|
|
17
|
-
cloneState: (arg0:
|
|
17
|
+
cloneState: (arg0: S) => S;
|
|
18
18
|
/**
|
|
19
19
|
*
|
|
20
20
|
* @type {function(S):Function[]}
|
|
21
21
|
*/
|
|
22
|
-
computeValidActions: (arg0:
|
|
22
|
+
computeValidActions: (arg0: S) => Function[];
|
|
23
23
|
/**
|
|
24
24
|
*
|
|
25
25
|
* @type {function(S):number}
|
|
26
26
|
*/
|
|
27
|
-
scoreFunction: (arg0:
|
|
27
|
+
scoreFunction: (arg0: S) => number;
|
|
28
28
|
/**
|
|
29
29
|
*
|
|
30
30
|
* @type {function(S,random:function():number)|null}
|
|
31
31
|
*/
|
|
32
|
-
randomAction: (arg0:
|
|
32
|
+
randomAction: (arg0: S, arg1: random) => () => number;
|
|
33
33
|
/**
|
|
34
34
|
*
|
|
35
|
-
* @type {
|
|
35
|
+
* @type {function():number}
|
|
36
36
|
*/
|
|
37
|
-
random:
|
|
37
|
+
random: () => number;
|
|
38
38
|
/**
|
|
39
39
|
*
|
|
40
40
|
* @param {S} state
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RandomOptimizer.d.ts","sourceRoot":"","sources":["../../../../../src/engine/intelligence/optimization/RandomOptimizer.js"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,6BAHa,CAAC;
|
|
1
|
+
{"version":3,"file":"RandomOptimizer.d.ts","sourceRoot":"","sources":["../../../../../src/engine/intelligence/optimization/RandomOptimizer.js"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,6BAHa,CAAC;IAMV;;;OAGG;IACH,OAFU,CAAC,GAAC,IAAI,CAEH;IAEb;;;OAGG;IACH,YAFU,CAAS,IAAC,EAAD,CAAC,KAAE,CAAC,CAEL;IAElB;;;OAGG;IACH,qBAFU,CAAS,IAAC,EAAD,CAAC,KAAE,UAAU,CAEL;IAE3B;;;OAGG;IACH,eAFU,CAAS,IAAC,EAAD,CAAC,KAAE,MAAM,CAEP;IAErB;;;OAGG;IACH,cAFU,CAAS,IAAC,EAAD,CAAC,EAAC,IAAM,EAAN,MAAM,KAAC,MAAW,MAAM,CAEzB;IAGpB;;;OAGG;IACH,QAFU,MAAW,MAAM,CAEF;IAGzB;;;;;;;OAOG;IACH,oFANW,CAAC,QA4BX;IAED;;;OAGG;IACH,QAFa,OAAO,CA2CnB;IAED;;;;OAIG;IACH,mBAHW,MAAM,GACJ,OAAO,CAUnB;CACJ"}
|