@isidorus/cpu 0.0.0-alpha.0 → 0.0.0-alpha.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.
Files changed (83) hide show
  1. package/README.md +47 -47
  2. package/binding.gyp +115 -102
  3. package/dist/_native.d.ts.map +1 -0
  4. package/dist/_native.js.map +1 -0
  5. package/dist/graph.d.ts.map +1 -0
  6. package/dist/graph.js.map +1 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js.map +1 -0
  9. package/dist/inference-pool.d.ts.map +1 -0
  10. package/dist/inference-pool.js.map +1 -0
  11. package/dist/install-libtensorflow.d.ts.map +1 -0
  12. package/dist/{ts/install-libtensorflow.js → install-libtensorflow.js} +6 -6
  13. package/dist/install-libtensorflow.js.map +1 -0
  14. package/dist/ops/array_ops.d.ts.map +1 -0
  15. package/dist/ops/array_ops.js.map +1 -0
  16. package/dist/ops/index.d.ts.map +1 -0
  17. package/dist/ops/index.js.map +1 -0
  18. package/dist/ops/math_ops.d.ts.map +1 -0
  19. package/dist/ops/math_ops.js.map +1 -0
  20. package/dist/ops/nn_ops.d.ts.map +1 -0
  21. package/dist/ops/nn_ops.js.map +1 -0
  22. package/dist/ops/variable_ops.d.ts.map +1 -0
  23. package/dist/ops/variable_ops.js.map +1 -0
  24. package/dist/session.d.ts.map +1 -0
  25. package/dist/session.js.map +1 -0
  26. package/dist/tsconfig.tsbuildinfo +1 -0
  27. package/package.json +63 -63
  28. package/scripts/install.js +100 -100
  29. package/scripts/test-install.js +82 -82
  30. package/scripts/test.js +45 -45
  31. package/src/native/addon.cc +11 -11
  32. package/src/native/graph.cc +442 -442
  33. package/src/native/graph.h +51 -51
  34. package/src/native/platform_tf.h +7 -7
  35. package/src/native/session.cc +796 -715
  36. package/src/native/session.h +91 -91
  37. package/dist/ts/_native.d.ts.map +0 -1
  38. package/dist/ts/_native.js.map +0 -1
  39. package/dist/ts/graph.d.ts.map +0 -1
  40. package/dist/ts/graph.js.map +0 -1
  41. package/dist/ts/index.d.ts.map +0 -1
  42. package/dist/ts/index.js.map +0 -1
  43. package/dist/ts/inference-pool.d.ts.map +0 -1
  44. package/dist/ts/inference-pool.js.map +0 -1
  45. package/dist/ts/inference_pool.d.ts +0 -99
  46. package/dist/ts/inference_pool.d.ts.map +0 -1
  47. package/dist/ts/inference_pool.js +0 -370
  48. package/dist/ts/inference_pool.js.map +0 -1
  49. package/dist/ts/install-libtensorflow.d.ts.map +0 -1
  50. package/dist/ts/install-libtensorflow.js.map +0 -1
  51. package/dist/ts/ops/array_ops.d.ts.map +0 -1
  52. package/dist/ts/ops/array_ops.js.map +0 -1
  53. package/dist/ts/ops/index.d.ts.map +0 -1
  54. package/dist/ts/ops/index.js.map +0 -1
  55. package/dist/ts/ops/math_ops.d.ts.map +0 -1
  56. package/dist/ts/ops/math_ops.js.map +0 -1
  57. package/dist/ts/ops/nn_ops.d.ts.map +0 -1
  58. package/dist/ts/ops/nn_ops.js.map +0 -1
  59. package/dist/ts/ops/variable_ops.d.ts.map +0 -1
  60. package/dist/ts/ops/variable_ops.js.map +0 -1
  61. package/dist/ts/session.d.ts.map +0 -1
  62. package/dist/ts/session.js.map +0 -1
  63. /package/dist/{ts/_native.d.ts → _native.d.ts} +0 -0
  64. /package/dist/{ts/_native.js → _native.js} +0 -0
  65. /package/dist/{ts/graph.d.ts → graph.d.ts} +0 -0
  66. /package/dist/{ts/graph.js → graph.js} +0 -0
  67. /package/dist/{ts/index.d.ts → index.d.ts} +0 -0
  68. /package/dist/{ts/index.js → index.js} +0 -0
  69. /package/dist/{ts/inference-pool.d.ts → inference-pool.d.ts} +0 -0
  70. /package/dist/{ts/inference-pool.js → inference-pool.js} +0 -0
  71. /package/dist/{ts/install-libtensorflow.d.ts → install-libtensorflow.d.ts} +0 -0
  72. /package/dist/{ts/ops → ops}/array_ops.d.ts +0 -0
  73. /package/dist/{ts/ops → ops}/array_ops.js +0 -0
  74. /package/dist/{ts/ops → ops}/index.d.ts +0 -0
  75. /package/dist/{ts/ops → ops}/index.js +0 -0
  76. /package/dist/{ts/ops → ops}/math_ops.d.ts +0 -0
  77. /package/dist/{ts/ops → ops}/math_ops.js +0 -0
  78. /package/dist/{ts/ops → ops}/nn_ops.d.ts +0 -0
  79. /package/dist/{ts/ops → ops}/nn_ops.js +0 -0
  80. /package/dist/{ts/ops → ops}/variable_ops.d.ts +0 -0
  81. /package/dist/{ts/ops → ops}/variable_ops.js +0 -0
  82. /package/dist/{ts/session.d.ts → session.d.ts} +0 -0
  83. /package/dist/{ts/session.js → session.js} +0 -0
@@ -1,92 +1,92 @@
1
- #pragma once
2
- #include <napi.h>
3
- #include "platform_tf.h"
4
- #include <string>
5
- #include <vector>
6
- #include <cstdint>
7
-
8
- // ----------------------------------------------------------------------------
9
- // Platform CPU affinity abstractions
10
- //
11
- // AffinityMask: bitmask where bit N = 1 means "this thread may run on core N"
12
- // Supports up to 64 cores. Sytems with > 64 cores need processor groups
13
- // (Windows) or cpu_set_t extension (Linux) - not handled here
14
- // ----------------------------------------------------------------------------
15
- #ifdef _WIN32
16
- #ifndef WIN32_LEAN_AND_MEAN
17
- #define WIN32_LEAN_AND_MEAN
18
- #endif
19
- #include <windows.h>
20
- using AffinityMask = DWORD_PTR;
21
- #else
22
- #include <sched.h>
23
- #include <pthread.h>
24
- using AffinityMask = uint64_t;
25
- #endif // _WIN32
26
-
27
- #ifndef ISIDORUS_STATUS_GUARD_DEFINED
28
- #define ISIDORUS_STATUS_GUARD_DEFINED
29
- struct StatusGuard
30
- {
31
- TF_Status *s;
32
- StatusGuard() : s(TF_NewStatus()) {}
33
- ~StatusGuard()
34
- {
35
- if (s)
36
- TF_DeleteStatus(s);
37
- }
38
- bool ok() const { return TF_GetCode(s) == TF_OK; }
39
- std::string message() const { return TF_Message(s); }
40
- };
41
- #endif
42
-
43
- // ----------------------------------------------------------------------------
44
- // Affinity helpers - declared here, defined in session.cc
45
- // ----------------------------------------------------------------------------
46
-
47
- // Get the affinity mask of the calling thread.
48
- AffinityMask affinity_get();
49
-
50
- // Set the affinity mask of the calling thread.
51
- // Returns true on success.
52
- bool affinity_set(AffinityMask mask);
53
-
54
- // Build a mask covering cores [first_core, num_cores).
55
- // e.g. affinity_mask_range(2, 6) = cores 2,3,4,5 (bits 2..5 set)
56
- AffinityMask affinity_mask_range(int first_core, int num_cores);
57
-
58
- // Build a mask covering all online cores.
59
- AffinityMask affinity_mask_all();
60
-
61
- // ----------------------------------------------------------------------------
62
- // SessionWrap
63
- // ----------------------------------------------------------------------------
64
- class SessionWrap : public Napi::ObjectWrap<SessionWrap>
65
- {
66
- public:
67
- static Napi::Object Init(Napi::Env env, Napi::Object exports);
68
-
69
- explicit SessionWrap(const Napi::CallbackInfo &info);
70
- ~SessionWrap() override;
71
-
72
- // Affinity masks used by RunCtx - set in constructor, read in OnRunWork.
73
- AffinityMask tf_affinity_mask_ = 0; // 0 = no restriction
74
- AffinityMask full_affinity_mask_ = 0;
75
-
76
- private:
77
- TF_Graph *graph_ = nullptr;
78
- TF_Session *session_ = nullptr;
79
- Napi::ObjectReference graph_ref_;
80
- int intra_op_threads_ = 1;
81
- int inter_op_threads_ = 1;
82
-
83
- void cleanup();
84
-
85
- Napi::Value Run(const Napi::CallbackInfo &info);
86
- Napi::Value RunAsync(const Napi::CallbackInfo &info);
87
- Napi::Value Destroy(const Napi::CallbackInfo &info);
88
- Napi::Value IntraOpThreads(const Napi::CallbackInfo &info);
89
- Napi::Value InterOpThreads(const Napi::CallbackInfo &info);
90
- Napi::Value TfAffinityMask(const Napi::CallbackInfo &info);
91
- Napi::Value FullAffinityMask(const Napi::CallbackInfo &info);
1
+ #pragma once
2
+ #include <napi.h>
3
+ #include "platform_tf.h"
4
+ #include <string>
5
+ #include <vector>
6
+ #include <cstdint>
7
+
8
+ // ----------------------------------------------------------------------------
9
+ // Platform CPU affinity abstractions
10
+ //
11
+ // AffinityMask: bitmask where bit N = 1 means "this thread may run on core N"
12
+ // Supports up to 64 cores. Sytems with > 64 cores need processor groups
13
+ // (Windows) or cpu_set_t extension (Linux) - not handled here
14
+ // ----------------------------------------------------------------------------
15
+ #ifdef _WIN32
16
+ #ifndef WIN32_LEAN_AND_MEAN
17
+ #define WIN32_LEAN_AND_MEAN
18
+ #endif
19
+ #include <windows.h>
20
+ using AffinityMask = DWORD_PTR;
21
+ #else
22
+ #include <sched.h>
23
+ #include <pthread.h>
24
+ using AffinityMask = uint64_t;
25
+ #endif // _WIN32
26
+
27
+ #ifndef ISIDORUS_STATUS_GUARD_DEFINED
28
+ #define ISIDORUS_STATUS_GUARD_DEFINED
29
+ struct StatusGuard
30
+ {
31
+ TF_Status *s;
32
+ StatusGuard() : s(TF_NewStatus()) {}
33
+ ~StatusGuard()
34
+ {
35
+ if (s)
36
+ TF_DeleteStatus(s);
37
+ }
38
+ bool ok() const { return TF_GetCode(s) == TF_OK; }
39
+ std::string message() const { return TF_Message(s); }
40
+ };
41
+ #endif
42
+
43
+ // ----------------------------------------------------------------------------
44
+ // Affinity helpers - declared here, defined in session.cc
45
+ // ----------------------------------------------------------------------------
46
+
47
+ // Get the affinity mask of the calling thread.
48
+ AffinityMask affinity_get();
49
+
50
+ // Set the affinity mask of the calling thread.
51
+ // Returns true on success.
52
+ bool affinity_set(AffinityMask mask);
53
+
54
+ // Build a mask covering cores [first_core, num_cores).
55
+ // e.g. affinity_mask_range(2, 6) = cores 2,3,4,5 (bits 2..5 set)
56
+ AffinityMask affinity_mask_range(int first_core, int num_cores);
57
+
58
+ // Build a mask covering all online cores.
59
+ AffinityMask affinity_mask_all();
60
+
61
+ // ----------------------------------------------------------------------------
62
+ // SessionWrap
63
+ // ----------------------------------------------------------------------------
64
+ class SessionWrap : public Napi::ObjectWrap<SessionWrap>
65
+ {
66
+ public:
67
+ static Napi::Object Init(Napi::Env env, Napi::Object exports);
68
+
69
+ explicit SessionWrap(const Napi::CallbackInfo &info);
70
+ ~SessionWrap() override;
71
+
72
+ // Affinity masks used by RunCtx - set in constructor, read in OnRunWork.
73
+ AffinityMask tf_affinity_mask_ = 0; // 0 = no restriction
74
+ AffinityMask full_affinity_mask_ = 0;
75
+
76
+ private:
77
+ TF_Graph *graph_ = nullptr;
78
+ TF_Session *session_ = nullptr;
79
+ Napi::ObjectReference graph_ref_;
80
+ int intra_op_threads_ = 1;
81
+ int inter_op_threads_ = 1;
82
+
83
+ void cleanup();
84
+
85
+ Napi::Value Run(const Napi::CallbackInfo &info);
86
+ Napi::Value RunAsync(const Napi::CallbackInfo &info);
87
+ Napi::Value Destroy(const Napi::CallbackInfo &info);
88
+ Napi::Value IntraOpThreads(const Napi::CallbackInfo &info);
89
+ Napi::Value InterOpThreads(const Napi::CallbackInfo &info);
90
+ Napi::Value TfAffinityMask(const Napi::CallbackInfo &info);
91
+ Napi::Value FullAffinityMask(const Napi::CallbackInfo &info);
92
92
  };
@@ -1 +0,0 @@
1
- {"version":3,"file":"_native.d.ts","sourceRoot":"","sources":["../../src/ts/_native.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI,CAEzC;AAED,wBAAgB,QAAQ,IAAI,GAAG,CAQ9B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"_native.js","sourceRoot":"","sources":["../../src/ts/_native.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,IAAI,MAAM,GAAQ,IAAI,CAAC;AAEvB,MAAM,UAAU,QAAQ,CAAC,KAAU;IACjC,MAAM,GAAG,KAAK,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,QAAQ;IACtB,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,2CAA2C;YACzC,yEAAyE,CAC5E,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/ts/graph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAA2B,MAAM,gBAAgB,CAAC;AAGhE,MAAM,MAAM,SAAS,GACjB;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,KAAK,EAAE,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,YAAY,CAAA;CAAE,CAAC;AAE5C,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,QAAQ,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzD;;;;;;;;;;;;GAYG;AACH,qBAAa,KAAK;IAChB,gBAAgB;IAChB,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC;gBAEV,MAAM,EAAE,GAAG;IAIvB;;;;;;;;OAQG;IACH,KAAK,CACH,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,QAAQ,EAAE,EAClB,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAM,EACrC,IAAI,CAAC,EAAE,MAAM,GACZ,MAAM,EAAE;IAkCX,8DAA8D;IAC9D,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI5B,wCAAwC;IACxC,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;;OAGG;IACH,UAAU,IAAI,MAAM;IAIpB;;;;;;;;;;;;;;OAcG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAKpC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,MAAM,GAAG,IAAI;CAW9C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/ts/graph.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ts/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAsBH,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EACL,KAAK,EACL,aAAa,EACb,SAAS,EACT,UAAU,EACV,QAAQ,GACT,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAIvC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC;;;;;;GAMG;AACH,wBAAgB,KAAK,IAAI,KAAK,CAE7B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,OAAO,CACrB,CAAC,EAAE,KAAK,EACR,OAAO,CAAC,EAAE;IACR,QAAQ,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC;IACzC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,GACA,OAAO,CAET;AAGD,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AAGtC,YAAY,EACV,WAAW,EACX,UAAU,EACV,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ts/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAErC,gFAAgF;AAChF,yEAAyE;AACzE,qEAAqE;AACrE,sDAAsD;AACtD,MAAM,QAAQ,EAAE,CAAC;AAEjB,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAQ,CAAC;AAE/D,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAIhB,OAAO,EACL,KAAK,EACL,aAAa,EACb,SAAS,EACT,UAAU,EACV,QAAQ,GACT,MAAM,gBAAgB,CAAC;AAIxB,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,iFAAiF;AAEjF,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC;;;;;;GAMG;AACH,MAAM,UAAU,KAAK;IACnB,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;AACtC,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,OAAO,CACrB,CAAQ,EACR,OAKC;IAED,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,iFAAiF;AACjF,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AAQtC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"inference-pool.d.ts","sourceRoot":"","sources":["../../src/ts/inference-pool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAqBH,MAAM,MAAM,iBAAiB,GAAG,aAAa,GAAG,aAAa,GAAG,MAAM,CAAC;AAEvE,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,kFAAkF;IAClF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,+DAA+D;IAC/D,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,aAAa,GAAG,aAAa,CAAC;IACxC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC5D,WAAW,EAAE,MAAM,CAAC;CACrB;AAiLD,qBAAa,aAAa;IACxB,QAAQ,CAAC,QAAQ,EAAE,aAAa,GAAG,aAAa,CAAC;IACjD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAE9B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAe;IAC3C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IAOnD,OAAO,CAAC,eAAe,CAAe;IACtC,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAe;IAE/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IAErC,OAAO;WA4BM,MAAM,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;mBAmFzC,gBAAgB;mBAyEhB,gBAAgB;IAmErC,KAAK,CACH,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAAE,EACpB,UAAU,SAAI,GACb,OAAO,CAAC,UAAU,CAAC;IAMtB,OAAO,CAAC,eAAe;IAsBvB,OAAO,CAAC,gBAAgB;IAgExB,oEAAoE;IACpE,OAAO,CAAC,UAAU;IA8BlB,OAAO,CAAC,eAAe;IAoBvB,OAAO,CAAC,aAAa;IA8IrB,IAAI,SAAS,IAAI,MAAM,CAItB;IAED,IAAI,UAAU,IAAI,MAAM,CAIvB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAIK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAkD/B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"inference-pool.js","sourceRoot":"","sources":["../../src/ts/inference-pool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,IAAI,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAIzC,+EAA+E;AAC/E,MAAM,IAAI,GAAG,CAAC,CAAC;AACf,MAAM,IAAI,GAAG,CAAC,CAAC;AACf,MAAM,IAAI,GAAG,CAAC,CAAC;AACf,MAAM,QAAQ,GAAG,CAAC,CAAC;AACnB,MAAM,UAAU,GAAG,CAAC,CAAC,CAAC,4CAA4C;AAElE,MAAM,oBAAoB,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,SAAS;AACzD,MAAM,sBAAsB,GAAG,EAAE,CAAC,CAAC,KAAK;AAgCxC,+EAA+E;AAC/E,EAAE;AACF,mEAAmE;AACnE,4EAA4E;AAC5E,0DAA0D;AAC1D,EAAE;AACF,qEAAqE;AACrE,mDAAmD;AACnD,0DAA0D;AAC1D,uEAAuE;AACvE,oDAAoD;AACpD,EAAE;AACF,+DAA+D;AAC/D,oFAAoF;AACpF,sCAAsC;AACtC,oFAAoF;AACpF,0DAA0D;AAC1D,6CAA6C;AAC7C,EAAE;AACF,sBAAsB;AACtB,kEAAkE;AAClE,oEAAoE;AACpE,kEAAkE;AAClE,2EAA2E;AAE3E,IAAI,CAAC,YAAY,EAAE,CAAC;IAClB,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,GAC3D,UAOC,CAAC;IAEJ,MAAM,IAAI,GAAG,IAAI,UAAU,CACzB,OAAO,EACP,WAAW,GAAG,UAAU,GAAG,CAAC,EAC5B,UAAU,CACX,CAAC;IAEF,6EAA6E;IAC7E,IAAI,IAAS,CAAC;IACd,IAAI,CAAC;QACH,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;QAC9C,IAAI,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,UAAW,CAAC,WAAW,CAAC;YACtB,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,GAAG,EAAE,KAAK,IAAI,MAAM,CAAC,GAAG,CAAC;SACjC,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;IAC7B,UAAW,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IAE3C,gEAAgE;IAChE,0EAA0E;IAC1E,0EAA0E;IAC1E,6DAA6D;IAC7D,SAAS,YAAY,CAAC,GAAW,EAAE,KAAa;QAC9C,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CACzB,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAChC,CAAC;QACF,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,CAAC;gBACJ,OAAO,IAAI,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW;YAC1C,KAAK,CAAC;gBACJ,OAAO,IAAI,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;YAC3C,KAAK,CAAC;gBACJ,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW;YACxC,KAAK,CAAC;gBACJ,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW;YACxC,KAAK,CAAC;gBACJ,OAAO,IAAI,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW;YAC3C;gBACE,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,2EAA2E;IAC3E,0EAA0E;IAC1E,iEAAiE;IACjE,OAAO,IAAI,EAAE,CAAC;QACZ,wDAAwD;QACxD,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAEpC,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvB,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,UAAW,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;YAClD,MAAM;QACR,CAAC;QAED,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,0DAA0D;YAC1D,yDAAyD;YACzD,MAAM,GAAG,GAAQ,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAC7C,UAAW,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CACrC,CAAC;YAEF,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;gBAC7B,MAAM,UAAU,GAAG,YAAY,CAC7B,GAAG,CAAC,SAAmB,EACvB,GAAG,CAAC,UAAoB,CACzB,CAAC;gBAEF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,EAAE,SAAS,CAAC,CAAC;gBAErE,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;gBAE3C,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;gBAC7B,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAE3B,UAAW,CAAC,WAAW,CAAC;oBACtB,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;wBAC3B,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;wBACrB,MAAM,IAAI,GAAG,CAAC,CAAC,IAAuB,CAAC;wBACvC,OAAO;4BACL,KAAK,EAAE,CAAC,CAAC,KAAK;4BACd,KAAK,EAAE,CAAC,CAAC,KAAK;4BACd,+DAA+D;4BAC/D,iEAAiE;4BACjE,kCAAkC;4BAClC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC;yBACjE,CAAC;oBACJ,CAAC,CAAC;oBACF,WAAW;iBACZ,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,OAAO,CAAC,KAAK,CACX,WAAW,WAAW,UAAU,EAChC,GAAG,EAAE,KAAK,IAAI,MAAM,CAAC,GAAG,CAAC,CAC1B,CAAC;gBACF,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;gBAC7B,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC3B,UAAW,CAAC,WAAW,CAAC;oBACtB,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,GAAG,EAAE,KAAK,IAAI,MAAM,CAAC,GAAG,CAAC;iBACjC,CAAC,CAAC;YACL,CAAC;YAED,kEAAkE;YAClE,gEAAgE;YAChE,qEAAqE;YACrE,yCAAyC;YACzC,OAAO,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;AACH,CAAC;AAoBD,MAAM,OAAO,aAAa;IACf,QAAQ,CAAgC;IACxC,YAAY,CAAS;IAEb,WAAW,CAAe;IAC1B,KAAK,CAAe;IACpB,OAAO,CAA2B;IAEnD,6DAA6D;IAC7D,qEAAqE;IACrE,0EAA0E;IAC1E,mEAAmE;IACnE,yEAAyE;IACjE,eAAe,CAAe;IAC9B,cAAc,CAAuB;IACrC,cAAc,CAAU;IACf,eAAe,CAAe;IAE9B,SAAS,CAAS;IAClB,OAAO,CAAS;IAChB,SAAS,CAAW;IAErC,YAAoB,MAWnB;QACC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QACxC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;QAC9C,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAC5C,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IACpC,CAAC;IAED,8EAA8E;IAE9E,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAiB;QACnC,uDAAuD;QACvD,sEAAsE;QACtE,4DAA4D;QAC5D,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;YAC7C,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;YAC9C,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9D,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACjC,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,OAAO,CAAC;YACjC,KAAK,CAAC,OAAO,EAAE,CAAC;YAChB,IAAI,CAAC,IAAI,CAAC,OAAO;gBACf,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;YACpE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM;gBACzB,MAAM,IAAI,KAAK,CAAC,kCAAkC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QACxE,CAAC;QAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC;QAClD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,oBAAoB,EAAE,CAAC;QAC/D,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,IAAI,sBAAsB,CAAC;QACrE,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC;QAE5C,IAAI,QAAuC,CAAC;QAE5C,IAAI,iBAAiB,KAAK,aAAa,EAAE,CAAC;YACxC,QAAQ,GAAG,aAAa,CAAC;QAC3B,CAAC;aAAM,IAAI,iBAAiB,KAAK,aAAa,EAAE,CAAC;YAC/C,QAAQ,GAAG,aAAa,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,6DAA6D;YAC7D,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC;YAEjD,IAAI,UAAU,GAAG,oBAAoB,EAAE,CAAC;gBACtC,QAAQ,GAAG,aAAa,CAAC;YAC3B,CAAC;iBAAM,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC5B,QAAQ,GAAG,aAAa,CAAC;gBACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,oBAAoB,CAAC,UAAU,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ;oBAC/D,0CAA0C,CAC7C,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,+DAA+D;gBAC/D,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;gBAC9C,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAClE,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAC7B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAC/C,CAAC;gBAEF,MAAM,SAAS,CAAC,QAAQ,CACtB,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,EAC9B,IAAI,CAAC,SAAS,CACf,CAAC;gBACF,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;gBAC7B,MAAM,SAAS,CAAC,QAAQ,CACtB,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,EAC9B,IAAI,CAAC,SAAS,CACf,CAAC;gBACF,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;gBACvC,SAAS,CAAC,OAAO,EAAE,CAAC;gBAEpB,QAAQ,GAAG,OAAO,IAAI,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC;gBACpE,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,0BAA0B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;oBAC/C,aAAa,aAAa,QAAQ,QAAQ,IAAI,CACjD,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,EAAE,GAAG,oBAAoB,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,YAAY,CAAC,CAAC;YAC/C,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,sCAAsC,YAAY,YAAY;gBAC5D,WAAW,OAAO,YAAY,CACjC,CAAC;QACJ,CAAC;QAED,OAAO,QAAQ,KAAK,aAAa;YAC/B,CAAC,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,YAAY,CAAC;YACjE,CAAC,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IACzD,CAAC;IAED,8EAA8E;IAEtE,MAAM,CAAC,KAAK,CAAC,gBAAgB,CACnC,IAAiB,EACjB,WAAmB,EACnB,YAAoB;QAEpB,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC,WAAW,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC;QACpE,MAAM,KAAK,GAAiB,EAAE,CAAC;QAC/B,MAAM,cAAc,GAAa,EAAE,CAAC;QAEpC,uEAAuE;QACvE,yEAAyE;QACzE,qEAAqE;QACrE,uEAAuE;QACvE,gDAAgD;QAChD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACnD,MAAM,WAAW,GAAG,UAAU;YAC5B,CAAC,CAAC,IAAI,GAAG,CAAC,6BAA6B,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;YACzD,CAAC,CAAC,IAAI,GAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEpD,IAAI,CAAC;YACH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrC,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC;gBACrE,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;gBAE7B,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,WAAW,EAAE;oBACrC,UAAU,EAAE;wBACV,OAAO;wBACP,WAAW,EAAE,CAAC;wBACd,SAAS,EAAE,IAAI,CAAC,SAAS;wBACzB,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,SAAS,EAAE,IAAI,CAAC,SAAS;wBACzB,YAAY;qBACb;iBACF,CAAC,CAAC;gBACH,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAE5B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBAC1C,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,GAAQ,EAAE,EAAE;wBAClC,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO;4BAAE,OAAO,EAAE,CAAC;6BAC/B,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY;4BAChC,MAAM,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,iBAAiB,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;;4BAE3D,MAAM,CACJ,IAAI,KAAK,CAAC,UAAU,CAAC,6BAA6B,GAAG,CAAC,IAAI,EAAE,CAAC,CAC9D,CAAC;oBACN,CAAC,CAAC,CAAC;oBACH,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC/B,CAAC,CAAC,CAAC;gBAEH,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,sEAAsE;YACtE,MAAM,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YACnE,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,OAAO,IAAI,aAAa,CAAC;YACvB,QAAQ,EAAE,aAAa;YACvB,YAAY;YACZ,WAAW,EAAE,KAAK;YAClB,KAAK,EAAE,EAAE;YACT,OAAO;YACP,eAAe,EAAE,IAAI;YACrB,cAAc,EAAE,IAAI;YACpB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAQ;YACtB,SAAS,EAAE,IAAI,CAAC,SAAU;SAC3B,CAAC,CAAC;IACL,CAAC;IAED,8EAA8E;IAEtE,MAAM,CAAC,KAAK,CAAC,gBAAgB,CACnC,IAAiB,EACjB,YAAoB;QAEpB,MAAM,EAAE,GAAG,oBAAoB,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,YAAY,CAAC,CAAC;QAE/C,sEAAsE;QACtE,yEAAyE;QACzE,yEAAyE;QACzE,EAAE;QACF,uEAAuE;QACvE,oEAAoE;QACpE,gEAAgE;QAChE,IAAI,eAAe,GAAiB,IAAI,CAAC;QACzC,IAAI,cAAc,GAAyB,IAAI,CAAC;QAEhD,IAAI,CAAC;YACH,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;YAClD,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;YAC5C,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;YACzD,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;YAC/D,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;YAEzB,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YAC5C,CAAC,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YAE/C,eAAe,GAAG,CAAC,CAAC;YACpB,cAAc,GAAG,IAAI,YAAY,CAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE;gBAC3B,QAAQ,EAAE,aAAa;gBACvB,YAAY;aACb,CAAC,CACH,CAAC;YAEF,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,oCAAoC,OAAO,GAAG;gBAC5C,IAAI,YAAY,sCAAsC,CACzD,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,+DAA+D;YAC/D,+DAA+D;YAC/D,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;YAC9C,cAAc,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAEjE,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,oCAAoC,OAAO,GAAG;gBAC5C,IAAI,YAAY,wCAAwC,CAC3D,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,aAAa,CAAC;YACvB,QAAQ,EAAE,aAAa;YACvB,YAAY;YACZ,WAAW,EAAE,EAAE;YACf,KAAK,EAAE,EAAE;YACT,OAAO,EAAE,IAAI;YACb,eAAe;YACf,cAAc;YACd,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAQ;YACtB,SAAS,EAAE,IAAI,CAAC,SAAU;SAC3B,CAAC,CAAC;IACL,CAAC;IAED,8EAA8E;IAE9E,KAAK,CACH,QAAgB,EAChB,UAAoB,EACpB,UAAU,GAAG,CAAC;QAEd,OAAO,IAAI,CAAC,QAAQ,KAAK,aAAa;YACpC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC;YACxD,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAC7D,CAAC;IAEO,eAAe,CACrB,QAAgB,EAChB,UAAoB,EACpB,UAAkB;QAElB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACnD,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC,gBAAgB,CACnB,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,UAAU,EACV,OAAO,EACP,MAAM,CACP,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YACzE,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,gBAAgB,CACtB,IAAgB,EAChB,QAAgB,EAChB,UAAoB,EACpB,UAAkB,EAClB,OAAgC,EAChC,MAA0B;QAE1B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,0EAA0E;QAC1E,yEAAyE;QACzE,wEAAwE;QACxE,wEAAwE;QACxE,0DAA0D;QAC1D,uEAAuE;QACvE,wEAAwE;QACxE,kDAAkD;QAClD,MAAM,aAAa,GAAG,CAAC,GAAQ,EAAE,EAAE;YACjC,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC9B,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;gBAClD,OAAO;YACT,CAAC;YACD,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC1B,uEAAuE;gBACvE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;gBAC3C,OAAO;YACT,CAAC;YACD,IAAI,CAAC,UAAU,CACb,IAAI,EACJ;gBACE,QAAQ;gBACR,QAAQ,EAAE,aAAa;gBACvB,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;oBACpC,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,6DAA6D;oBAC7D,mEAAmE;oBACnE,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;iBAC7D,CAAC,CAAC;gBACH,WAAW,EAAE,GAAG,CAAC,WAAW;aAC7B,EACD,IAAI,CACL,CAAC;QACJ,CAAC,CAAC;QAEF,8CAA8C;QAC9C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAE3C,yEAAyE;QACzE,6CAA6C;QAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;YACvC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,gCAAgC;QAChC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;QACzE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QAClC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,oEAAoE;IAC5D,UAAU,CAChB,IAAgB,EAChB,MAAyB,EACzB,GAAiB;QAEjB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QAEnB,IAAI,GAAG;YAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;;YAClB,OAAO,EAAE,CAAC,MAAO,CAAC,CAAC;QAExB,sDAAsD;QACtD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,gBAAgB,CACnB,IAAI,EACJ,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,MAAM,CACZ,CAAC;QACJ,CAAC;IACH,CAAC;IAED,8EAA8E;IAEtE,eAAe,CACrB,QAAgB,EAChB,UAAoB,EACpB,UAAkB;QAElB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;oBACxB,QAAQ;oBACR,UAAU;oBACV,UAAU;oBACV,OAAO;oBACP,MAAM;iBACP,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,aAAa,CACnB,QAAgB,EAChB,UAAoB,EACpB,UAAkB,EAClB,OAAgC,EAChC,MAA0B;QAE1B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAE7B,IAAI,gBAA8B,CAAC;QAEnC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,sEAAsE;YACtE,qEAAqE;YACrE,qDAAqD;YACrD,MAAM,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;YAC/B,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1C,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;gBAC5B,MAAM,CACJ,IAAI,KAAK,CACP,6CAA6C,IAAI,CAAC,OAAO,EAAE,CAC5D,CACF,CAAC;gBACF,OAAO;YACT,CAAC;YAED,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBAChD,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACxB,IAAI,CAAC,CAAC;oBACJ,MAAM,IAAI,KAAK,CAAC,8CAA8C,IAAI,EAAE,CAAC,CAAC;gBACxE,OAAO,CAAC,CAAC;YACX,CAAC,CAAC,CAAC;YAEH,oEAAoE;YACpE,qEAAqE;YACrE,mEAAmE;YACnE,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAC9B,QAAQ,CAAC,UAAU,EACnB,QAAQ,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAC1C,CAAC;YACF,IAAI,UAA2B,CAAC;YAChC,QAAQ,UAAU,EAAE,CAAC;gBACnB,KAAK,CAAC;oBACJ,UAAU,GAAG,IAAI,YAAY,CAAC,EAAE,CAAC,CAAC;oBAClC,MAAM;gBACR,KAAK,CAAC;oBACJ,UAAU,GAAG,IAAI,YAAY,CAAC,EAAE,CAAC,CAAC;oBAClC,MAAM;gBACR,KAAK,CAAC;oBACJ,UAAU,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;oBAChC,MAAM;gBACR,KAAK,CAAC;oBACJ,UAAU,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;oBAChC,MAAM;gBACR,KAAK,CAAC;oBACJ,UAAU,GAAG,IAAI,aAAa,CAAC,EAAE,CAAC,CAAC;oBACnC,MAAM;gBACR;oBACE,UAAU,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;YACpC,CAAC;YAED,MAAM,SAAS,GAAG;gBAChB,KAAK,EAAE,UAAU;gBACjB,KAAK,EAAE,UAAU;gBACjB,IAAI,EAAE,MAAM,CAAC,IAAI,CACf,UAAU,CAAC,MAAM,EACjB,UAAU,CAAC,UAAU,EACrB,UAAU,CAAC,UAAU,CACtB;aACF,CAAC;YAEF,gBAAgB,GAAG,IAAI,CAAC,cAAe,CAAC,QAAQ,CAC9C,CAAC,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,EAC1B,aAAa,CACd,CAAC,IAAI,CAAC,CAAC,OAAc,EAAE,EAAE;gBACxB,uEAAuE;gBACvE,MAAM,MAAM,GAAwB,EAAE,CAAC;gBACvC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;oBAChC,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC3B,CAAC,CAAC,CAAC;gBACH,OAAO,MAAM,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,qEAAqE;YACrE,gBAAgB,GAAG,IAAI,CAAC,cAAe,CAAC,QAAQ,CAC9C,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,EAC5B,IAAI,CAAC,SAAS,CACf,CAAC;QACJ,CAAC;QAED,gBAAgB;aACb,IAAI,CAAC,CAAC,OAAY,EAAE,EAAE;YACrB,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;YAC3C,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,OAAO,CAAC;gBACN,QAAQ,EAAE,CAAC;gBACX,QAAQ,EAAE,aAAa;gBACvB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE;oBACxC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;oBACrB,IAAI,CAAC,CAAC;wBAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC9D,MAAM,IAAI,GAAG,CAAC,CAAC,IAAuB,CAAC;oBACvC,OAAO;wBACL,KAAK,EAAE,CAAC,CAAC,KAAK;wBACd,KAAK,EAAE,CAAC,CAAC,KAAK;wBACd,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;4BAC3B,CAAC,CAAC,CAAC,CAAC,IAAI;4BACR,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC;qBAC/D,CAAC;gBACJ,CAAC,CAAC;gBACF,WAAW;aACZ,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;YAC1C,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC,aAAa,CAChB,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,MAAM,CACZ,CAAC;YACJ,CAAC;QACH,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE;YACpB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,MAAM,CAAC,GAAG,CAAC,CAAC;YACZ,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;YAC1C,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC,aAAa,CAChB,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,MAAM,CACZ,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAED,8EAA8E;IAE9E,IAAI,SAAS;QACX,IAAI,IAAI,CAAC,QAAQ,KAAK,aAAa;YACjC,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QACvD,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,QAAQ,KAAK,aAAa;YACpC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;YACnB,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;IAClC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,8EAA8E;IAE9E,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;YACpC,MAAM,OAAO,CAAC,GAAG,CACf,IAAI,CAAC,WAAW,CAAC,GAAG,CAClB,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACpC,MAAM,UAAU,GAAG,GAAG,EAAE;oBACtB,0DAA0D;oBAC1D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,GAAQ,EAAE,EAAE;wBACvC,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc;4BAAE,OAAO,EAAE,CAAC;oBAC7C,CAAC,CAAC,CAAC;oBACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;oBAClC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;oBACtC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAClC,CAAC,CAAC;gBAEF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBACd,0DAA0D;oBAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;oBACjC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC;oBAC/B,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE;wBACnB,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;wBACjB,UAAU,EAAE,CAAC;oBACf,CAAC,CAAC;oBACF,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE;wBAClB,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;wBAChB,UAAU,EAAE,CAAC;oBACf,CAAC,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,UAAU,EAAE,CAAC;gBACf,CAAC;YACH,CAAC,CAAC,CACL,CACF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,MAAM,IAAI,OAAO,CAAO,CAAC,GAAG,EAAE,EAAE;oBAC9B,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,EAAE;wBACzB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;4BACzB,aAAa,CAAC,CAAC,CAAC,CAAC;4BACjB,GAAG,EAAE,CAAC;wBACR,CAAC;oBACH,CAAC,EAAE,CAAC,CAAC,CAAC;gBACR,CAAC,CAAC,CAAC;YACL,CAAC;YACD,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,CAAC;YAC/B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC9B,CAAC;IACH,CAAC;CACF"}
@@ -1,99 +0,0 @@
1
- /**
2
- * InferencePool — strategy-aware inference execution with CPU affinity.
3
- *
4
- * Strategies:
5
- *
6
- * worker-pool N Workers × Session(intra=1, inter=1)
7
- * JS controls parallelism. Each Worker owns one Session.
8
- * N concurrent requests run on N cores simultaneously.
9
- * Best: small/medium models, high concurrency.
10
- *
11
- * tf-parallel 1 Session × Session(intra=hw, inter=1)
12
- * TF's eigen threadpool owns all TF cores for one request.
13
- * Concurrent requests queue behind each other.
14
- * Best: large models where one matmul fills all cores.
15
- *
16
- * auto Probe-based selection (see below).
17
- *
18
- * CPU affinity (reserveCores):
19
- *
20
- * reserveCores = R pins TF computation to the LAST (N-R) cores.
21
- * The FIRST R cores are left free for the event loop, libuv I/O,
22
- * opencv4nodejs, and other native libs.
23
- *
24
- * Without reservation, TF's eigen threads compete with the event loop
25
- * and other native work for all cores. Under a large model this causes
26
- * timer jitter, delayed I/O callbacks, and starvation of other addons.
27
- *
28
- * Example on an 8-core machine:
29
- * reserveCores: 2 → cores 0-1: event loop + opencv
30
- * cores 2-7: TF eigen threadpool
31
- *
32
- * The affinity fence is applied in OnRunWork (the libuv thread pool
33
- * thread) immediately before TF_SessionRun and restored immediately
34
- * after, so the libuv worker returns to unrestricted scheduling between
35
- * inference calls.
36
- */
37
- export type ExecutionStrategy = "worker-pool" | "tf-parallel" | "auto";
38
- export interface PoolOptions {
39
- modelPath: string;
40
- inputOp: string;
41
- outputOps: string[];
42
- /**
43
- * Number of CPU cores to reserve for the event loop and other native libs
44
- * (opencv, sharp, etc.). TF inference is pinned to the remaining cores.
45
- *
46
- * Default: 0 (no reservation — TF may use any core).
47
- *
48
- * Recommended: 1–2 on a dedicated inference server.
49
- * Example: reserveCores=2 on an 8-core machine gives TF cores 2-7 and
50
- * leaves cores 0-1 for the event loop and other work.
51
- */
52
- reserveCores?: number;
53
- /** Execution strategy. Default: "auto". */
54
- strategy?: ExecutionStrategy;
55
- /** Worker thread count (worker-pool). Default: os.availableParallelism(). */
56
- concurrency?: number;
57
- /** Input shape for auto probe run. Required when strategy="auto" and
58
- * model size >= 150MB. */
59
- probeShape?: number[];
60
- /** Auto-detection threshold (ms). Default: 20ms. */
61
- autoThresholdMs?: number;
62
- }
63
- export interface PoolResult {
64
- workerId: number;
65
- strategy: "worker-pool" | "tf-parallel";
66
- outputs: {
67
- dtype: number;
68
- shape: number[];
69
- data: Buffer;
70
- }[];
71
- inferenceMs: number;
72
- }
73
- export declare class InferencePool {
74
- readonly strategy: "worker-pool" | "tf-parallel";
75
- readonly reserveCores: number;
76
- private readonly workerSlots;
77
- private readonly queue;
78
- private readonly ctrlSab;
79
- private tfParallelSess;
80
- private tfParallelBusy;
81
- private readonly tfParallelQueue;
82
- private readonly modelPath;
83
- private readonly inputOp;
84
- private readonly outputOps;
85
- private constructor();
86
- static create(opts: PoolOptions): Promise<InferencePool>;
87
- private static createWorkerPool;
88
- private static createTfParallel;
89
- infer(inputBuf: Buffer, inputShape: number[], inputDtype?: number): Promise<PoolResult>;
90
- private inferWorkerPool;
91
- private dispatchToWorker;
92
- private inferTfParallel;
93
- private runTfParallel;
94
- get busyCount(): number;
95
- get queueDepth(): number;
96
- get size(): number;
97
- destroy(): Promise<void>;
98
- }
99
- //# sourceMappingURL=inference_pool.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inference_pool.d.ts","sourceRoot":"","sources":["../../src/ts/inference_pool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAoBH,MAAM,MAAM,iBAAiB,GAAG,aAAa,GAAG,aAAa,GAAG,MAAM,CAAC;AAEvE,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB;;;;;;;;;OASG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,6EAA6E;IAC7E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;+BAC2B;IAC3B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,oDAAoD;IACpD,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,aAAa,GAAG,aAAa,CAAC;IACxC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC5D,WAAW,EAAE,MAAM,CAAC;CACrB;AAuFD,qBAAa,aAAa;IACxB,QAAQ,CAAC,QAAQ,EAAE,aAAa,GAAG,aAAa,CAAC;IACjD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAE9B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAe;IAC3C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IACnD,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAe;IAC/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IAErC,OAAO;WA0BM,MAAM,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;mBAmEzC,gBAAgB;mBAkDhB,gBAAgB;IAmCrC,KAAK,CACH,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAAE,EACpB,UAAU,SAAI,GACb,OAAO,CAAC,UAAU,CAAC;IAMtB,OAAO,CAAC,eAAe;IAsBvB,OAAO,CAAC,gBAAgB;IA4CxB,OAAO,CAAC,eAAe;IAoBvB,OAAO,CAAC,aAAa;IAiDrB,IAAI,SAAS,IAAI,MAAM,CAItB;IAED,IAAI,UAAU,IAAI,MAAM,CAIvB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAIK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CA6C/B"}