@agentica/core 0.30.7 → 0.31.0

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.
@@ -125,7 +125,7 @@ function decodeUserMessageContent(content) {
125
125
  if (content.type === "file") {
126
126
  return {
127
127
  type: "file",
128
- file: content.file.type === "data"
128
+ file: content.file.type === "base64"
129
129
  ? {
130
130
  file_data: content.file.data,
131
131
  filename: content.file.name,
@@ -139,7 +139,9 @@ function decodeUserMessageContent(content) {
139
139
  return {
140
140
  type: "image_url",
141
141
  image_url: {
142
- url: content.url,
142
+ url: content.image.type === "base64"
143
+ ? content.image.data
144
+ : content.image.url,
143
145
  detail: content.detail,
144
146
  },
145
147
  };
@@ -1 +1 @@
1
- {"version":3,"file":"histories.js","sourceRoot":"","sources":["../../src/factory/histories.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"histories.js","sourceRoot":"","sources":["../../src/factory/histories.ts"],"names":[],"mappings":"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"}
@@ -7,19 +7,17 @@ import type { AgenticaUserMessageContentBase } from "./AgenticaUserMessageConten
7
7
  */
8
8
  export interface AgenticaUserMessageFileContent extends AgenticaUserMessageContentBase<"file"> {
9
9
  /**
10
- * Reference to the pre-uploaded file or the data itself.
11
- *
12
- * @todo Properly define independent interface
10
+ * Reference to the pre-uploaded file or the base64 data itself.
13
11
  */
14
- file: AgenticaUserMessageFileContent.IReference | AgenticaUserMessageFileContent.IData;
12
+ file: AgenticaUserMessageFileContent.IId | AgenticaUserMessageFileContent.IBase64;
15
13
  }
16
14
  export declare namespace AgenticaUserMessageFileContent {
17
- interface IReference {
18
- type: "reference";
15
+ interface IId {
16
+ type: "id";
19
17
  id: string;
20
18
  }
21
- interface IData {
22
- type: "data";
19
+ interface IBase64 {
20
+ type: "base64";
23
21
  name: string;
24
22
  data: string;
25
23
  }
@@ -8,9 +8,9 @@ import type { AgenticaUserMessageContentBase } from "./AgenticaUserMessageConten
8
8
  */
9
9
  export interface AgenticaUserMessageImageContent extends AgenticaUserMessageContentBase<"image"> {
10
10
  /**
11
- * Image URL.
11
+ * Image URL or base64 data itself.
12
12
  */
13
- url: string & tags.Format<"url">;
13
+ image: AgenticaUserMessageImageContent.IUrl | AgenticaUserMessageImageContent.IBase64;
14
14
  /**
15
15
  * Specifies the detail level of the image.
16
16
  *
@@ -18,3 +18,13 @@ export interface AgenticaUserMessageImageContent extends AgenticaUserMessageCont
18
18
  */
19
19
  detail?: "auto" | "high" | "low" | undefined;
20
20
  }
21
+ export declare namespace AgenticaUserMessageImageContent {
22
+ interface IUrl {
23
+ type: "url";
24
+ url: string & tags.Format<"url">;
25
+ }
26
+ interface IBase64 {
27
+ type: "base64";
28
+ data: string;
29
+ }
30
+ }
package/lib/index.mjs CHANGED
@@ -375,7 +375,7 @@ function decodeUserMessageContent(content) {
375
375
  if (content.type === "file") {
376
376
  return {
377
377
  type: "file",
378
- file: content.file.type === "data" ? {
378
+ file: content.file.type === "base64" ? {
379
379
  file_data: content.file.data,
380
380
  filename: content.file.name
381
381
  } : {
@@ -387,7 +387,7 @@ function decodeUserMessageContent(content) {
387
387
  return {
388
388
  type: "image_url",
389
389
  image_url: {
390
- url: content.url,
390
+ url: content.image.type === "base64" ? content.image.data : content.image.url,
391
391
  detail: content.detail
392
392
  }
393
393
  };
@@ -915,7 +915,7 @@ function merge(chunks) {
915
915
  if (firstChunk === undefined) {
916
916
  throw new Error("No chunks received");
917
917
  }
918
- return chunks.reduce(accumulate, {
918
+ const result = chunks.reduce(accumulate, {
919
919
  id: firstChunk.id,
920
920
  choices: [],
921
921
  created: firstChunk.created,
@@ -925,6 +925,14 @@ function merge(chunks) {
925
925
  service_tier: firstChunk.service_tier,
926
926
  system_fingerprint: firstChunk.system_fingerprint
927
927
  });
928
+ result.choices.forEach((choice => {
929
+ choice.message.tool_calls?.forEach((toolCall => {
930
+ if (toolCall.function.arguments === "") {
931
+ toolCall.function.arguments = "{}";
932
+ }
933
+ }));
934
+ }));
935
+ return result;
928
936
  }
929
937
 
930
938
  function mergeChoice(acc, cur) {
@@ -1864,7 +1872,7 @@ const FUNCTION = {
1864
1872
  type: "string"
1865
1873
  },
1866
1874
  name: {
1867
- description: "Representative name of the function.\n\nThe `name` is a repsentative name identifying the function in the\n{@link IHttpLlmApplication}. The `name` value is just composed by joining\nthe {@link IHttpMigrateRoute.accessor} by underscore `_` character.\n\nHere is the composition rule of the {@link IHttpMigrateRoute.accessor}:\n\n> The `accessor` is composed with the following rules. At first, namespaces\n> are composed by static directory names in the {@link path}. Parametric\n> symbols represented by `:param` or `{param}` cannot be a part of the\n> namespace.\n\n> Instead, they would be a part of the function name. The function name is\n> composed with the {@link method HTTP method} and parametric symbols like\n> `getByParam` or `postByParam`. If there are multiple path parameters, they\n> would be concatenated by `And` like `getByParam1AndParam2`.\n\n> For refefence, if the {@link operation}'s {@link method} is `delete`, the\n> function name would be replaced to `erase` instead of `delete`. It is the\n> reason why the `delete` is a reserved keyword in many programming\n> languages.\n\n> - Example 1\n\n> - Path: `POST /shopping/sellers/sales`\n> - Accessor: `shopping.sellers.sales.post`\n> - Example 2\n\n> - Endpoint: `GET\n> /shoppings/sellers/sales/:saleId/reviews/:reviewId/comments/:id\n> - Accessor:\n> `shoppings.sellers.sales.reviews.getBySaleIdAndReviewIdAndCommentId`\n\n\n@maxLength 64",
1875
+ description: "Representative name of the function.\n\nThe `name` is a representative name identifying the function in the\n{@link IHttpLlmApplication}. The `name` value is just composed by joining\nthe {@link IHttpMigrateRoute.accessor} by underscore `_` character.\n\nHere is the composition rule of the {@link IHttpMigrateRoute.accessor}:\n\n> The `accessor` is composed with the following rules. At first, namespaces\n> are composed by static directory names in the {@link path}. Parametric\n> symbols represented by `:param` or `{param}` cannot be a part of the\n> namespace.\n\n> Instead, they would be a part of the function name. The function name is\n> composed with the {@link method HTTP method} and parametric symbols like\n> `getByParam` or `postByParam`. If there are multiple path parameters, they\n> would be concatenated by `And` like `getByParam1AndParam2`.\n\n> For reference, if the {@link operation}'s {@link method} is `delete`, the\n> function name would be replaced to `erase` instead of `delete`. It is the\n> reason why the `delete` is a reserved keyword in many programming\n> languages.\n\n> - Example 1\n\n> - Path: `POST /shopping/sellers/sales`\n> - Accessor: `shopping.sellers.sales.post`\n> - Example 2\n\n> - Endpoint: `GET\n> /shoppings/sellers/sales/:saleId/reviews/:reviewId/comments/:id`\n> - Accessor:\n> `shoppings.sellers.sales.reviews.getBySaleIdAndReviewIdAndCommentId`\n\n\n@maxLength 64",
1868
1876
  type: "string"
1869
1877
  },
1870
1878
  parameters: {
@@ -1898,7 +1906,7 @@ const FUNCTION = {
1898
1906
  } ]
1899
1907
  },
1900
1908
  description: {
1901
- description: "Description of the function.\n\n`IHttpLlmFunction.description` is composed by below rule:\n\n1. Starts from the {@link OpenApi.IOperation.summary} paragraph.\n2. The next paragraphs are filled with the\n {@link OpenApi.IOperation.description}. By the way, if the first\n paragraph of {@link OpenApi.IOperation.description} is same with the\n {@link OpenApi.IOperation.summary}, it would not be duplicated.\n3. Parameters' descriptions are added with `@param` tag.\n4. {@link OpenApi.IOperation.security Security requirements} are added with\n `@security` tag.\n5. Tag names are added with `@tag` tag.\n6. If {@link OpenApi.IOperation.deprecated}, `@deprecated` tag is added.\n\nFor reference, the `description` is very important property to teach the\npurpose of the function to the LLM (Language Large Model), and LLM actually\ndetermines which function to call by the description.\n\nAlso, when the LLM conversates with the user, the `description` is used to\nexplain the function to the user. Therefore, the `description` property has\nthe highest priority, and you have to consider it.",
1909
+ description: "Description of the function.\n\n`IHttpLlmFunction.description` is composed using the following rules:\n\n1. Starts with the {@link OpenApi.IOperation.summary} paragraph\n2. The next paragraphs are filled with the\n {@link OpenApi.IOperation.description}. If the first\n paragraph of {@link OpenApi.IOperation.description} matches the\n {@link OpenApi.IOperation.summary}, it is not duplicated\n3. Parameter descriptions are added with `@param` tags\n4. {@link OpenApi.IOperation.security Security requirements} are added with\n `@security` tags\n5. Tag names are added with `@tag` tags\n6. If {@link OpenApi.IOperation.deprecated}, a `@deprecated` tag is added\n\nFor reference, the `description` is a critical property for teaching the\npurpose of the function to LLMs (Large Language Models). LLMs use this\ndescription to determine which function to call.\n\nAlso, when the LLM converses with users, the `description` explains the\nfunction to the user. Therefore, the `description` property has the\nhighest priority and should be carefully considered.",
1902
1910
  type: "string"
1903
1911
  },
1904
1912
  deprecated: {
@@ -1916,14 +1924,14 @@ const FUNCTION = {
1916
1924
  required: [ "method", "path", "name", "parameters" ]
1917
1925
  },
1918
1926
  "IChatGptSchema.IParameters": {
1919
- description: "Type of the function parameters.\n\n`IChatGptSchema.IParameters` is a type defining a function's parameters as\na keyworded object type.\n\nIt also can be utilized for the structured output metadata.\n\n### Description of {@link $defs} property:\n\n> Collection of the named types.\n\n### Description of {@link properties} property:\n\n> Properties of the object.\n> \n> The `properties` means a list of key-value pairs of the object's regular\n> properties. The key is the name of the regular property, and the value is\n> the type schema info.\n\n### Description of {@link examples} property:\n\n> List of example values as key-value pairs.",
1927
+ description: "Type for function parameters.\n\n`IChatGptSchema.IParameters` defines a function's parameters as\na keyword object type, where each property represents a named parameter.\n\nIt can also be used for structured output metadata to define the\nexpected format of ChatGPT responses.\n\n### Description of {@link $defs} property:\n\n> Collection of the named types.\n\n### Description of {@link properties} property:\n\n> Properties of the object.\n> \n> The `properties` means a list of key-value pairs of the object's regular\n> properties. The key is the name of the regular property, and the value is\n> the type schema info.\n\n### Description of {@link examples} property:\n\n> List of example values as key-value pairs.",
1920
1928
  type: "object",
1921
1929
  properties: {
1922
1930
  $defs: {
1923
1931
  $ref: "#/$defs/RecordstringIChatGptSchema"
1924
1932
  },
1925
1933
  additionalProperties: {
1926
- description: "Additional properties' info.\n\nThe `additionalProperties` means the type schema info of the additional\nproperties that are not listed in the {@link properties}.\n\nBy the way, it is not allowed in the parameters level.",
1934
+ description: "Additional properties information.\n\nThe `additionalProperties` defines the type schema for additional\nproperties that are not listed in the {@link properties}.\n\nBy the way, it is not allowed at the parameters level.",
1927
1935
  type: "boolean",
1928
1936
  enum: [ false ]
1929
1937
  },
@@ -1936,7 +1944,7 @@ const FUNCTION = {
1936
1944
  $ref: "#/$defs/RecordstringIChatGptSchema"
1937
1945
  },
1938
1946
  required: {
1939
- description: 'List of key values of the required properties.\n\nThe `required` means a list of the key values of the required\n{@link properties}. If some property key is not listed in the `required`\nlist, it means that property is optional. Otherwise some property key\nexists in the `required` list, it means that the property must be\nfilled.\n\nBelow is an example of the {@link properties} and `required`.\n\n```typescript\ninterface SomeObject {\n id: string;\n email: string;\n name?: string;\n}\n```\n\nAs you can see, `id` and `email` {@link properties} are {@link required},\nso that they are listed in the `required` list.\n\n```json\n{\n "type": "object",\n "properties": {\n "id": { "type": "string" },\n "email": { "type": "string" },\n "name": { "type": "string" }\n },\n "required": ["id", "email"]\n}\n```',
1947
+ description: 'List of required property keys.\n\nThe `required` contains a list of property keys from {@link properties}\nthat must be provided. Properties not listed in `required` are optional,\nwhile those listed must be filled.\n\nBelow is an example of {@link properties} and `required`:\n\n```typescript\ninterface SomeObject {\n id: string;\n email: string;\n name?: string;\n}\n```\n\nAs you can see, `id` and `email` {@link properties} are {@link required},\nso they are listed in the `required` array.\n\n```json\n{\n "type": "object",\n "properties": {\n "id": { "type": "string" },\n "email": { "type": "string" },\n "name": { "type": "string" }\n },\n "required": ["id", "email"]\n}\n```',
1940
1948
  type: "array",
1941
1949
  items: {
1942
1950
  type: "string"
@@ -1973,7 +1981,7 @@ const FUNCTION = {
1973
1981
  }
1974
1982
  },
1975
1983
  IChatGptSchema: {
1976
- description: 'Type schema info of the ChatGPT.\n\n`IChatGptSchema` is a type schema info of the ChatGPT function calling.\n\n`IChatGptSchema` basically follows the JSON schema definition of the OpenAPI\nv3.1 speciifcation; {@link OpenApiV3_1.IJsonSchema}.\n\nHowever, the `IChatGptSchema` does not follow the entire specification of the\nOpenAPI v3.1. It has own specific restrictions and definitions. Here is the\nlist of how `IChatGptSchema` is different with the OpenAPI v3.1 JSON schema.\n\n- Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n- Resolve nullable property:\n {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n- Tuple type is banned: {@link OpenApiV3_1.IJsonSchema.ITuple.prefixItems}\n- Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n- Merge {@link OpenApiV3_1.IJsonSchema.IOneOf} to {@link IChatGptSchema.IAnOf}\n- Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link IChatGptSchema.IObject}\n- Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to\n {@link IChatGptSchema.IReference}\n- When {@link IChatGptSchema.IConfig.strict} mode\n\n - Every object properties must be required\n - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n\nIf compare with the {@link OpenApi.IJsonSchema}, the emended JSON schema\nspecification,\n\n- {@link IChatGptSchema.IAnyOf} instead of the {@link OpenApi.IJsonSchema.IOneOf}\n- {@link IChatGptSchema.IParameters.$defs} instead of the\n {@link OpenApi.IJsonSchema.IComponents.schemas}\n- {@link IChatGptSchema.IString.enum} instead of the\n {@link OpenApi.IJsonSchema.IConstant}\n- {@link IChatGptSchema.additionalProperties} is fixed to `false`\n- No tuple type {@link OpenApi.IJsonSchema.ITuple} support\n- When {@link IChatGptSchema.IConfig.strict} mode\n\n - Every object properties must be required\n - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n\nFor reference, if you\'ve composed the `IChatGptSchema` type with the\n{@link IChatGptSchema.IConfig.reference} `false` option (default is `false`),\nonly the recursived named types would be archived into the\n{@link IChatGptSchema.IParameters.$defs}, and the others would be ecaped from\nthe {@link IChatGptSchema.IReference} type.\n\nAlso, OpenAI has banned below constraint properties. Instead,\n`IChatGptSchema` fills the {@link IChatGptSchema.__IAttribute.description}\nproperty with the comment text like `"@format uuid"`.\n\n- {@link OpenApi.IJsonSchema.INumber.minimum}\n- {@link OpenApi.IJsonSchema.INumber.maximum}\n- {@link OpenApi.IJsonSchema.INumber.multipleOf}\n- {@link OpenApi.IJsonSchema.IString.minLength}\n- {@link OpenApi.IJsonSchema.IString.maxLength}\n- {@link OpenApi.IJsonSchema.IString.format}\n- {@link OpenApi.IJsonSchema.IString.pattern}\n- {@link OpenApi.IJsonSchema.IString.contentMediaType}\n- {@link OpenApi.IJsonSchema.IString.default}\n- {@link OpenApi.IJsonSchema.IArray.minItems}\n- {@link OpenApi.IJsonSchema.IArray.maxItems}\n- {@link OpenApi.IJsonSchema.IArray.unique}\n\nAdditionally, OpenAI cannot define the `description` property to the\n{@link IChatGptSchema.IReference} type, and even does not understand the\ncapsulization to the {@link IChatGptSchema.IAnyOf} type. Therefore, the\n`description` is written to the parent object type, not the reference type.\n\n```json\n{\n "type": "object",\n "description": "### Description of {@link something} property.\\n\\n> Hello?",\n "properties": {\n "something": {\n "$ref": "#/$defs/SomeObject"\n }\n }\n}\n```',
1984
+ description: 'Type schema info of the ChatGPT.\n\n`IChatGptSchema` is a type schema info of the ChatGPT function calling.\n\n`IChatGptSchema` basically follows the JSON schema definition of the OpenAPI\nv3.1 specification; {@link OpenApiV3_1.IJsonSchema}.\n\nHowever, the `IChatGptSchema` does not follow the entire specification of the\nOpenAPI v3.1. It has own specific restrictions and definitions. Here is the\nlist of how `IChatGptSchema` is different with the OpenAPI v3.1 JSON schema.\n\n- Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n- Resolve nullable property:\n {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n- Tuple type is banned: {@link OpenApiV3_1.IJsonSchema.ITuple.prefixItems}\n- Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n- Merge {@link OpenApiV3_1.IJsonSchema.IOneOf} to {@link IChatGptSchema.IAnyOf}\n- Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link IChatGptSchema.IObject}\n- Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to\n {@link IChatGptSchema.IReference}\n- When {@link IChatGptSchema.IConfig.strict} mode:\n - Every object properties must be required\n - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n\nCompared to {@link OpenApi.IJsonSchema}, the emended JSON schema\nspecification:\n\n- {@link IChatGptSchema.IAnyOf} instead of {@link OpenApi.IJsonSchema.IOneOf}\n- {@link IChatGptSchema.IParameters.$defs} instead of\n {@link OpenApi.IJsonSchema.IComponents.schemas}\n- {@link IChatGptSchema.IString.enum} instead of\n {@link OpenApi.IJsonSchema.IConstant}\n- {@link IChatGptSchema.additionalProperties} is fixed to `false`\n- No tuple type {@link OpenApi.IJsonSchema.ITuple} support\n- When {@link IChatGptSchema.IConfig.strict} mode:\n - Every object properties must be required\n - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n\nFor reference, if you compose the `IChatGptSchema` type with the\n{@link IChatGptSchema.IConfig.reference} `false` option (default is `false`),\nonly recursively named types are archived into the\n{@link IChatGptSchema.IParameters.$defs}, and others are escaped from\nthe {@link IChatGptSchema.IReference} type.\n\nAlso, OpenAI has banned the following constraint properties. Instead,\n`IChatGptSchema` fills the {@link IChatGptSchema.__IAttribute.description}\nproperty with comment text like `"@format uuid"`.\n\n- {@link OpenApi.IJsonSchema.INumber.minimum}\n- {@link OpenApi.IJsonSchema.INumber.maximum}\n- {@link OpenApi.IJsonSchema.INumber.multipleOf}\n- {@link OpenApi.IJsonSchema.IString.minLength}\n- {@link OpenApi.IJsonSchema.IString.maxLength}\n- {@link OpenApi.IJsonSchema.IString.format}\n- {@link OpenApi.IJsonSchema.IString.pattern}\n- {@link OpenApi.IJsonSchema.IString.contentMediaType}\n- {@link OpenApi.IJsonSchema.IString.default}\n- {@link OpenApi.IJsonSchema.IArray.minItems}\n- {@link OpenApi.IJsonSchema.IArray.maxItems}\n- {@link OpenApi.IJsonSchema.IArray.unique}\n\nAdditionally, OpenAI cannot define the `description` property for the\n{@link IChatGptSchema.IReference} type, and does not understand\nencapsulation of the {@link IChatGptSchema.IAnyOf} type. Therefore, the\n`description` is written to the parent object type, not the reference type.\n\n```json\n{\n "type": "object",\n "description": "### Description of {@link something} property.\\n\\n> Hello?",\n "properties": {\n "something": {\n "$ref": "#/$defs/SomeObject"\n }\n }\n}\n```',
1977
1985
  anyOf: [ {
1978
1986
  $ref: "#/$defs/IChatGptSchema.IBoolean"
1979
1987
  }, {
@@ -2192,7 +2200,7 @@ const FUNCTION = {
2192
2200
  $ref: "#/$defs/RecordstringIChatGptSchema"
2193
2201
  },
2194
2202
  additionalProperties: {
2195
- description: "Additional properties' info.\n\nThe `additionalProperties` means the type schema info of the additional\nproperties that are not listed in the {@link properties}.\n\nBy the way, if you've configured {@link IChatGptSchema.IConfig.strict} as\n`true`, ChatGPT function calling does not support such dynamic key typed\nproperties, so the `additionalProperties` becomes always `false`.",
2203
+ description: "Additional properties information.\n\nThe `additionalProperties` defines the type schema for additional\nproperties that are not listed in the {@link properties}.\n\nNote: If you've configured {@link IChatGptSchema.IConfig.strict} as\n`true`, ChatGPT function calling does not support dynamic key typed\nproperties, so `additionalProperties` is always `false`.",
2196
2204
  anyOf: [ {
2197
2205
  type: "boolean"
2198
2206
  }, {
@@ -2218,7 +2226,7 @@ const FUNCTION = {
2218
2226
  } ]
2219
2227
  },
2220
2228
  required: {
2221
- description: 'List of key values of the required properties.\n\nThe `required` means a list of the key values of the required\n{@link properties}. If some property key is not listed in the `required`\nlist, it means that property is optional. Otherwise some property key\nexists in the `required` list, it means that the property must be\nfilled.\n\nBelow is an example of the {@link properties} and `required`.\n\n```typescript\ninterface SomeObject {\n id: string;\n email: string;\n name?: string;\n}\n```\n\nAs you can see, `id` and `email` {@link properties} are {@link required},\nso that they are listed in the `required` list.\n\n```json\n{\n "type": "object",\n "properties": {\n "id": { "type": "string" },\n "email": { "type": "string" },\n "name": { "type": "string" }\n },\n "required": ["id", "email"]\n}\n```',
2229
+ description: 'List of required property keys.\n\nThe `required` contains a list of property keys from {@link properties}\nthat must be provided. Properties not listed in `required` are optional,\nwhile those listed must be filled.\n\nBelow is an example of {@link properties} and `required`:\n\n```typescript\ninterface SomeObject {\n id: string;\n email: string;\n name?: string;\n}\n```\n\nAs you can see, `id` and `email` {@link properties} are {@link required},\nso they are listed in the `required` array.\n\n```json\n{\n "type": "object",\n "properties": {\n "id": { "type": "string" },\n "email": { "type": "string" },\n "name": { "type": "string" }\n },\n "required": ["id", "email"]\n}\n```',
2222
2230
  type: "array",
2223
2231
  items: {
2224
2232
  type: "string"
@@ -2251,11 +2259,11 @@ const FUNCTION = {
2251
2259
  required: [ "properties", "required", "type" ]
2252
2260
  },
2253
2261
  "IChatGptSchema.IReference": {
2254
- description: "Reference type directing named schema.\n\n### Description of {@link examples} property:\n\n> List of example values as key-value pairs.",
2262
+ description: "Reference type directing to named schema.\n\n### Description of {@link examples} property:\n\n> List of example values as key-value pairs.",
2255
2263
  type: "object",
2256
2264
  properties: {
2257
2265
  $ref: {
2258
- description: "Reference to the named schema.\n\nThe `ref` is a reference to the named schema. Format of the `$ref` is\nfollowing the JSON Pointer specification. In the OpenAPI, the `$ref`\nstarts with `#/$defs/` which means the type is stored in the\n{@link IChatGptSchema.IParameters.$defs} object.\n\n- `#/$defs/SomeObject`\n- `#/$defs/AnotherObject`",
2266
+ description: "Reference to the named schema.\n\nThe `$ref` is a reference to a named schema. The format follows the\nJSON Pointer specification. In OpenAPI, the `$ref` starts with `#/$defs/`\nwhich indicates the type is stored in the\n{@link IChatGptSchema.IParameters.$defs} object.\n\n- `#/$defs/SomeObject`\n- `#/$defs/AnotherObject`",
2259
2267
  type: "string"
2260
2268
  },
2261
2269
  title: {
@@ -2280,7 +2288,7 @@ const FUNCTION = {
2280
2288
  required: [ "$ref" ]
2281
2289
  },
2282
2290
  "IChatGptSchema.IAnyOf": {
2283
- description: 'Union type.\n\n`IAnyOf` represents an union type of the TypeScript (`A | B | C`).\n\nFor reference, even though your Swagger (or OpenAPI) document has defined\n`anyOf` instead of the `oneOf`, {@link IChatGptSchema} forcibly converts it\nto `oneOf` type.\n\n### Description of {@link "x-discriminator"} property:\n\n> Discriminator info of the union type.\n\n### Description of {@link examples} property:\n\n> List of example values as key-value pairs.',
2291
+ description: 'Union type.\n\n`IAnyOf` represents a union type in TypeScript (`A | B | C`).\n\nFor reference, even if your Swagger (or OpenAPI) document defines\n`anyOf` instead of `oneOf`, {@link IChatGptSchema} forcibly converts it\nto `anyOf` type.\n\n### Description of {@link "x-discriminator"} property:\n\n> Discriminator info of the union type.\n\n### Description of {@link examples} property:\n\n> List of example values as key-value pairs.',
2284
2292
  type: "object",
2285
2293
  properties: {
2286
2294
  anyOf: {
@@ -2388,7 +2396,7 @@ const FUNCTION = {
2388
2396
  required: [ "type" ]
2389
2397
  },
2390
2398
  "IChatGptSchema.IAnyOf.IDiscriminator": {
2391
- description: "Discriminator info of the union type.\n\n### Description of {@link mapping} property:\n\n> Mapping of the discriminator value to the schema name.\n> \n> This property is valid only for {@link IReference} typed\n> {@link IAnyOf.oneof} elements. Therefore, `key` of `mapping` is the\n> discriminator value, and `value` of `mapping` is the schema name like\n> `#/components/schemas/SomeObject`.",
2399
+ description: "Discriminator info of the union type.\n\n### Description of {@link mapping} property:\n\n> Mapping of discriminator values to schema names.\n> \n> This property is valid only for {@link IReference} typed\n> {@link IAnyOf.anyOf} elements. Therefore, the `key` of `mapping` is the\n> discriminator value, and the `value` of `mapping` is the schema name like\n> `#/components/schemas/SomeObject`.",
2392
2400
  type: "object",
2393
2401
  properties: {
2394
2402
  propertyName: {
package/lib/index.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../src/context/internal/AgenticaTokenUsageAggregator.ts","../src/context/AgenticaTokenUsage.ts","../src/utils/__map_take.ts","../src/context/internal/AgenticaOperationComposer.ts","../src/factory/histories.ts","../src/factory/events.ts","../src/constants/AgenticaConstant.ts","../src/utils/Singleton.ts","../src/constants/AgenticaSystemPrompt.ts","../src/constants/AgenticaDefaultPrompt.ts","../src/context/internal/isAgenticaContext.ts","../src/utils/ByteArrayUtil.ts","../src/utils/ChatGptTokenUsageAggregator.ts","../src/utils/ChatGptCompletionMessageUtil.ts","../src/utils/StreamUtil.ts","../src/factory/operations.ts","../src/orchestrate/internal/cancelFunctionFromContext.ts","../src/orchestrate/call.ts","../src/orchestrate/cancel.ts","../src/utils/AsyncQueue.ts","../src/utils/MPSC.ts","../src/orchestrate/describe.ts","../src/orchestrate/initialize.ts","../src/orchestrate/internal/selectFunctionFromContext.ts","../src/orchestrate/select.ts","../src/orchestrate/execute.ts","../src/transformers/transformHistory.ts","../src/Agentica.ts","../src/functional/assertHttpController.ts","../src/functional/assertHttpLlmApplication.ts","../src/functional/assertMcpController.ts","../src/functional/validateHttpController.ts","../src/functional/validateHttpLlmApplication.ts","../src/functional/validateMcpController.ts","../src/MicroAgentica.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["aggregate","props","component","usage","kind","total","completionUsage","total_tokens","input","prompt_tokens","prompt_tokens_details","audio_tokens","cached","cached_tokens","output","completion_tokens","accepted_prediction","completion_tokens_details","accepted_prediction_tokens","reasoning","reasoning_tokens","rejected_prediction","rejected_prediction_tokens","sum","getter","Object","entries","filter","key","map","comp","reduce","a","b","AgenticaTokenUsageAggregator","AgenticaTokenUsage","constructor","undefined","zero","this","initialize","select","cancel","call","describe","increment","y","x","use","toJSON","_co0","plus","z","__map_take","dict","generator","oldbie","get","value","set","compose","unique","controllers","length","names","application","functions","func","name","flat","Set","size","array","getOperations","naming","controllerIndex","capacity","config","divided","divide","Map","group","item","controller","flatMap","idx","protocol","toHttpOperations","index","toClassOperations","toMcpOperations","Error","function","Number","isNaN","TypeError","Infinity","Math","ceil","replica","slice","Array","from","splice","AgenticaOperationComposer","decodeHistory","history","type","role","tool_calls","id","arguments","JSON","stringify","selection","operation","reason","tool_call_id","content","description","parameters","method","path","status","data","body","text","contents","decodeUserMessageContent","input_audio","format","file","file_data","filename","file_id","image_url","url","detail","createUserMessageHistory","created_at","createAssistantMessageHistory","prompt","createSystemMessageHistory","createDescribeHistory","executes","execute","createSelectHistory","createCancelHistory","createExecuteHistory","createInitializeEvent","event","v4","Date","toISOString","createSelectEvent","toHistory","createCancelEvent","createCallEvent","createJsonParseErrorEvent","errorMessage","createValidateEvent","result","createExecuteEvent","createUserMessageEvent","createAssistantMessageEvent","stream","join","done","createDescribeEvent","createRequestEvent","source","options","createResponseEvent","AgenticaConstant","RETRY","ELITICISM","NOT_MOUNTED_YET","Singleton","closure","closure_","value_","args","AgenticaSystemPrompt","CANCEL","COMMON","DESCRIBE","EXECUTE","INITIALIZE","JSON_PARSE_ERROR","SELECT","VALIDATE","VALIDATE_REPEATED","getLocale","is_node","process","env","LANG","split","navigator","language","getTimezone","Intl","DateTimeFormat","resolvedOptions","timeZone","write","systemPrompt","common","locale","timezone","replace","AgenticaDefaultPrompt","isAgenticaContext","ctx","ByteArrayUtil","toUtf8","byteArray","TextDecoder","decode","sumCompletionTokenDetail","sumPromptTokenDetail","ChatGptTokenUsageAggregator","transformCompletionChunk","str","Uint8Array","parse","accumulate","origin","chunk","choices","forEach","choice","accChoice","mergeChoice","finish_reason","logprobs","message","delta","acc","cur","refusal","merge","chunks","firstChunk","created","model","object","service_tier","system_fingerprint","_a","toolCalls","toolCall","existingToolCall","mergeToolCalls","ChatGptCompletionMessageUtil","async","readAll","reader","getReader","read","push","reducer","initial","iterator","streamDefaultReaderToAsyncGenerator","ReadableStream","start","enqueue","close","toAsyncGenerator","transform","transformer","pull","StreamUtil","createOperationSelection","cancelFunctionFromContext","reference","stack","findIndex","dispatch","operations","request","messages","histories","tools","s","separated","llm","properties","required","additionalProperties","$defs","tool_choice","completion","retry","tc","find","predicate","Promise","resolve","previousValidationErrors","life","parseArguments","correctJsonError","check","validate","success","correctTypeError","executeFunction","callEvent","validateEvent","correctError","giveUp","errors","e","parseErrorEvent","jsonParseError","error","String","executeClassFunction","executeHttpOperation","executeMcpOperation","connection","HttpLlm","propagate","client","callTool","then","v","CONTAINER","step","stacks","events","all","i","eliticism","some","cancelled","failures","completionStream","op","tags","emendMessages","validation","_io0","isArray","every","elem","_io1","_vo0","_path","_exceptionable","_report","f","AsyncQueueClosedError","super","AsyncQueue","queue","resolvers","closeResolvers","emptyResolvers","closed","console","shift","dequeue","isEmpty","isClosed","waitUntilEmpty","waitClosed","MPSC","consumer","produce","describeContext","accPromise","registerContext","mpsc","ChatGptDescribeFunctionAgent","FUNCTION","textContext","c","selectFunctionFromContext","selected","executor","ready","transformHistory","transformUserMessage","transformAssistantMessage","transformSystemMessage","transformSelect","transformCancel","transformExecute","transformDescribe","findOperation","next","found","Agentica","operations_","stack_","listeners_","histories_","executor_","semaphore_","vendor","semaphore","Semaphore","token_usage_","tokenUsage","ready_","clone","conversate","historyGetters","catch","getContext","abortSignal","completed","h","getConfig","getVendor","getControllers","getHistories","getTokenUsage","stream_options","include_usage","signal","backoffStrategy","count","api","chat","completions","create","waiting","setTimeout","streamForEvent","temporaryStream","toReadableStream","tee","streamForAggregate","streamForReturn","streamForStream","streamForJoin","acquire","release","on","listener","add","off","delete","assertHttpController","document","OpenApi","convert","swagger","RegExp","test","info","host","basePath","consumes","produces","definitions","_io4","_io16","responses","_io29","securityDefinitions","_io31","security","_io39","paths","_io40","_io47","title","termsOfService","contact","_io2","license","_io3","version","email","keys","assertHttpLlmApplication","assertMcpController","ListToolsResultSchema","import","McpLlm","inputSchema","_iu1","nullable","_iu0","maxProperties","minProperties","deprecated","examples","_io5","validateHttpController","inspect","validateHttpLlmApplication","validateMcpController","MicroAgentica"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAA,GAK9B3B,MAAM+b;IACR,OAAO;QACL1W,UAAU;QACVlB,MAAMnE,MAAMmE;QACZH,aAAakQ,QAAQlQ,YAAY;YAC/BoL,OAAOpP,MAAMoP;YACb2M;YACArR,SAAS1K,MAAM0K;;QAEjB1B,SAAShJ,MAAMgJ;QACfiL,YAAYjU,MAAMiU;;AAEtB;;AC/EM,SAAU8J,yBAEd/d;IAqBA,OAAOkU,QAAQlQ,YAAY;QACzBoL,OAAOpP,MAAMoP;QACb2M,UAAUC,QAAQC,QAAO;YAAA,MAAA1G,OAAAhV,SAAA,SAAAA,MAAA2b,WAAA9Z,cAAA7B,MAAA2b,YAAA,UAAA3b,MAAA2b,WAAA,oBAAA3b,MAAA2b,WAAAC,OAAA,+CAAAC,KAAA7b,MAAA2b,cAAA9Z,cAAA7B,MAAA8b,QAAA,oBAAA9b,MAAA8b,QAAA,SAAA9b,MAAA8b,QAAA1G,KAAApV,MAAA8b,WAAAja,cAAA7B,MAAA+b,QAAA,oBAAA/b,MAAA+b,UAAAla,cAAA7B,MAAAgc,YAAA,oBAAAhc,MAAAgc,cAAAna,cAAA7B,MAAAic,YAAApW,MAAAoP,QAAAjV,MAAAic,aAAAjc,MAAAic,SAAA/G,OAAAC,QAAA,oBAAAA,YAAAtT,cAAA7B,MAAAkc,YAAArW,MAAAoP,QAAAjV,MAAAkc,aAAAlc,MAAAkc,SAAAhH,OAAAC,QAAA,oBAAAA,YAAAtT,cAAA7B,MAAAmc,eAAA,oBAAAnc,MAAAmc,eAAA,SAAAnc,MAAAmc,eAAA,UAAAtW,MAAAoP,QAAAjV,MAAAmc,gBAAAC,KAAApc,MAAAmc,kBAAAta,cAAA7B,MAAAgH,cAAA,oBAAAhH,MAAAgH,cAAA,SAAAhH,MAAAgH,cAAA,UAAAnB,MAAAoP,QAAAjV,MAAAgH,eAAAqV,MAAArc,MAAAgH,iBAAAnF,cAAA7B,MAAAsc,aAAA,oBAAAtc,MAAAsc,aAAA,SAAAtc,MAAAsc,aAAA,UAAAzW,MAAAoP,QAAAjV,MAAAsc,cAAAC,MAAAvc,MAAAsc,gBAAAza,cAAA7B,MAAAwc,uBAAA,oBAAAxc,MAAAwc,uBAAA,SAAAxc,MAAAwc,uBAAA,UAAA3W,MAAAoP,QAAAjV,MAAAwc,wBAAAC,MAAAzc,MAAAwc,0BAAA3a,cAAA7B,MAAA0c,YAAA7W,MAAAoP,QAAAjV,MAAA0c,aAAA1c,MAAA0c,SAAAxH,OAAAC,QAAA,oBAAAA,QAAA,SAAAA,QAAA,UAAAtP,MAAAoP,QAAAE,SAAAwH,MAAAxH,aAAAtT,cAAA7B,MAAA4c,SAAA,oBAAA5c,MAAA4c,SAAA,SAAA5c,MAAA4c,SAAA,UAAA/W,MAAAoP,QAAAjV,MAAA4c,UAAAC,MAAA7c,MAAA4c,YAAA/a,cAAA7B,MAAA6U,QAAAhP,MAAAoP,QAAAjV,MAAA6U,SAAA7U,MAAA6U,KAAAK,OAAAC,QAAA,oBAAAA,QAAA,SAAAA,QAAA2H,MAAA3H;YAAA,MAAAC,OAAApV,SAAA,oBAAAA,MAAA+c,UAAAlb,cAAA7B,MAAA+G,eAAA,oBAAA/G,MAAA+G,iBAAAlF,cAAA7B,MAAAgd,kBAAA,oBAAAhd,MAAAgd,oBAAAnb,cAAA7B,MAAAid,WAAA,oBAAAjd,MAAAid,WAAA,SAAAjd,MAAAid,WAAA,UAAApX,MAAAoP,QAAAjV,MAAAid,YAAAC,KAAAld,MAAAid,cAAApb,cAAA7B,MAAAmd,WAAA,oBAAAnd,MAAAmd,WAAA,SAAAnd,MAAAmd,WAAAC,KAAApd,MAAAmd,aAAA,oBAAAnd,MAAAqd;YAAA,MAAAH,OAAAld,UAAA6B,cAAA7B,MAAA4D,QAAA,oBAAA5D,MAAA4D,UAAA/B,cAAA7B,MAAAgI,OAAA,oBAAAhI,MAAAgI,SAAAnG,cAAA7B,MAAAsd,SAAA,oBAAAtd,MAAAsd;YAAA,MAAAF,OAAApd,SAAA,oBAAAA,MAAA4D,SAAA/B,cAAA7B,MAAAgI,OAAA,oBAAAhI,MAAAgI;YAAA,MAAAoU,OAAApc,SAAAiB,OAAAsc,KAAAvd,OAAAkV,OAAA9T;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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AA2R;YAAA,MAAAuL,OAAAld,SAAAiB,OAAAsc,KAAAvd,OAAAkV,OAAA9T;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
1
+ {"version":3,"file":"index.mjs","sources":["../src/context/internal/AgenticaTokenUsageAggregator.ts","../src/context/AgenticaTokenUsage.ts","../src/utils/__map_take.ts","../src/context/internal/AgenticaOperationComposer.ts","../src/factory/histories.ts","../src/factory/events.ts","../src/constants/AgenticaConstant.ts","../src/utils/Singleton.ts","../src/constants/AgenticaSystemPrompt.ts","../src/constants/AgenticaDefaultPrompt.ts","../src/context/internal/isAgenticaContext.ts","../src/utils/ByteArrayUtil.ts","../src/utils/ChatGptTokenUsageAggregator.ts","../src/utils/ChatGptCompletionMessageUtil.ts","../src/utils/StreamUtil.ts","../src/factory/operations.ts","../src/orchestrate/internal/cancelFunctionFromContext.ts","../src/orchestrate/call.ts","../src/orchestrate/cancel.ts","../src/utils/AsyncQueue.ts","../src/utils/MPSC.ts","../src/orchestrate/describe.ts","../src/orchestrate/initialize.ts","../src/orchestrate/internal/selectFunctionFromContext.ts","../src/orchestrate/select.ts","../src/orchestrate/execute.ts","../src/transformers/transformHistory.ts","../src/Agentica.ts","../src/functional/assertHttpController.ts","../src/functional/assertHttpLlmApplication.ts","../src/functional/assertMcpController.ts","../src/functional/validateHttpController.ts","../src/functional/validateHttpLlmApplication.ts","../src/functional/validateMcpController.ts","../src/MicroAgentica.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["aggregate","props","component","usage","kind","total","completionUsage","total_tokens","input","prompt_tokens","prompt_tokens_details","audio_tokens","cached","cached_tokens","output","completion_tokens","accepted_prediction","completion_tokens_details","accepted_prediction_tokens","reasoning","reasoning_tokens","rejected_prediction","rejected_prediction_tokens","sum","getter","Object","entries","filter","key","map","comp","reduce","a","b","AgenticaTokenUsageAggregator","AgenticaTokenUsage","constructor","undefined","zero","this","initialize","select","cancel","call","describe","increment","y","x","use","toJSON","_co0","plus","z","__map_take","dict","generator","oldbie","get","value","set","compose","unique","controllers","length","names","application","functions","func","name","flat","Set","size","array","getOperations","naming","controllerIndex","capacity","config","divided","divide","Map","group","item","controller","flatMap","idx","protocol","toHttpOperations","index","toClassOperations","toMcpOperations","Error","function","Number","isNaN","TypeError","Infinity","Math","ceil","replica","slice","Array","from","splice","AgenticaOperationComposer","decodeHistory","history","type","role","tool_calls","id","arguments","JSON","stringify","selection","operation","reason","tool_call_id","content","description","parameters","method","path","status","data","body","text","contents","decodeUserMessageContent","input_audio","format","file","file_data","filename","file_id","image_url","url","image","detail","createUserMessageHistory","created_at","createAssistantMessageHistory","prompt","createSystemMessageHistory","createDescribeHistory","executes","execute","createSelectHistory","createCancelHistory","createExecuteHistory","createInitializeEvent","event","v4","Date","toISOString","createSelectEvent","toHistory","createCancelEvent","createCallEvent","createJsonParseErrorEvent","errorMessage","createValidateEvent","result","createExecuteEvent","createUserMessageEvent","createAssistantMessageEvent","stream","join","done","createDescribeEvent","createRequestEvent","source","options","createResponseEvent","AgenticaConstant","RETRY","ELITICISM","NOT_MOUNTED_YET","Singleton","closure","closure_","value_","args","AgenticaSystemPrompt","CANCEL","COMMON","DESCRIBE","EXECUTE","INITIALIZE","JSON_PARSE_ERROR","SELECT","VALIDATE","VALIDATE_REPEATED","getLocale","is_node","process","env","LANG","split","navigator","language","getTimezone","Intl","DateTimeFormat","resolvedOptions","timeZone","write","systemPrompt","common","locale","timezone","replace","AgenticaDefaultPrompt","isAgenticaContext","ctx","ByteArrayUtil","toUtf8","byteArray","TextDecoder","decode","sumCompletionTokenDetail","sumPromptTokenDetail","ChatGptTokenUsageAggregator","transformCompletionChunk","str","Uint8Array","parse","accumulate","origin","chunk","choices","forEach","choice","accChoice","mergeChoice","finish_reason","logprobs","message","delta","acc","cur","refusal","merge","chunks","firstChunk","created","model","object","service_tier","system_fingerprint","toolCall","_a","toolCalls","existingToolCall","mergeToolCalls","ChatGptCompletionMessageUtil","async","readAll","reader","getReader","read","push","reducer","initial","iterator","streamDefaultReaderToAsyncGenerator","ReadableStream","start","enqueue","close","toAsyncGenerator","transform","transformer","pull","StreamUtil","createOperationSelection","cancelFunctionFromContext","reference","stack","findIndex","dispatch","operations","request","messages","histories","tools","s","separated","llm","properties","required","additionalProperties","$defs","tool_choice","completion","retry","tc","find","predicate","Promise","resolve","previousValidationErrors","life","parseArguments","correctJsonError","check","validate","success","correctTypeError","executeFunction","callEvent","validateEvent","correctError","giveUp","errors","e","parseErrorEvent","jsonParseError","error","String","executeClassFunction","executeHttpOperation","executeMcpOperation","connection","HttpLlm","propagate","client","callTool","then","v","CONTAINER","step","stacks","events","all","i","eliticism","some","cancelled","failures","completionStream","op","tags","emendMessages","validation","_io0","isArray","every","elem","_io1","_vo0","_path","_exceptionable","_report","f","AsyncQueueClosedError","super","AsyncQueue","queue","resolvers","closeResolvers","emptyResolvers","closed","console","shift","dequeue","isEmpty","isClosed","waitUntilEmpty","waitClosed","MPSC","consumer","produce","describeContext","accPromise","registerContext","mpsc","ChatGptDescribeFunctionAgent","FUNCTION","textContext","c","selectFunctionFromContext","selected","executor","ready","transformHistory","transformUserMessage","transformAssistantMessage","transformSystemMessage","transformSelect","transformCancel","transformExecute","transformDescribe","findOperation","next","found","Agentica","operations_","stack_","listeners_","histories_","executor_","semaphore_","vendor","semaphore","Semaphore","token_usage_","tokenUsage","ready_","clone","conversate","historyGetters","catch","getContext","abortSignal","completed","h","getConfig","getVendor","getControllers","getHistories","getTokenUsage","stream_options","include_usage","signal","backoffStrategy","count","api","chat","completions","create","waiting","setTimeout","streamForEvent","temporaryStream","toReadableStream","tee","streamForAggregate","streamForReturn","streamForStream","streamForJoin","acquire","release","on","listener","add","off","delete","assertHttpController","document","OpenApi","convert","swagger","RegExp","test","info","host","basePath","consumes","produces","definitions","_io4","_io16","responses","_io29","securityDefinitions","_io31","security","_io39","paths","_io40","_io47","title","termsOfService","contact","_io2","license","_io3","version","email","keys","assertHttpLlmApplication","assertMcpController","ListToolsResultSchema","import","McpLlm","inputSchema","_iu1","nullable","_iu0","maxProperties","minProperties","deprecated","examples","_io5","validateHttpController","inspect","validateHttpLlmApplication","validateMcpController","MicroAgentica"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAA,GAKX3B,MAAMgc;IACR,IAAI+C,QAAQ7L,YAAY,OAAO;QAC7B,OAAO6L;;IAET,OAAO;QACL7L,SAAS;QACTvL,MAAM;YACJtC,UAAU;YACVlB,MAAMnE,MAAMmE;YACZH,aAAamQ,QAAQnQ,YAAY;gBAC/BqL,OAAOrP,MAAMqP;gBACb2M,UAAUC,QAAQC,QAAQ6C,QAAQpX;gBAClCgD,SAAS3K,MAAM2K;;YAEjB1B,SAASjJ,MAAMiJ;YACfiL,YAAYlU,MAAMkU;;;AAGxB;;ACpFM,SAAU8K,2BAEdhf;IAqBA,MAAM+e,UAAO;QAAA,MAAAvJ,OAAAjV,SAAA,SAAAA,MAAA4b,WAAA/Z,cAAA7B,MAAA4b,YAAA,UAAA5b,MAAA4b,WAAA,oBAAA5b,MAAA4b,WAAAC,OAAA,+CAAAC,KAAA9b,MAAA4b,cAAA/Z,cAAA7B,MAAA+b,QAAA,oBAAA/b,MAAA+b,QAAA,SAAA/b,MAAA+b,QAAA1G,KAAArV,MAAA+b,WAAAla,cAAA7B,MAAAgc,QAAA,oBAAAhc,MAAAgc,UAAAna,cAAA7B,MAAAic,YAAA,oBAAAjc,MAAAic,cAAApa,cAAA7B,MAAAkc,YAAArW,MAAAqP,QAAAlV,MAAAkc,aAAAlc,MAAAkc,SAAA/G,OAAAC,QAAA,oBAAAA,YAAAvT,cAAA7B,MAAAmc,YAAAtW,MAAAqP,QAAAlV,MAAAmc,aAAAnc,MAAAmc,SAAAhH,OAAAC,QAAA,oBAAAA,YAAAvT,cAAA7B,MAAAoc,eAAA,oBAAApc,MAAAoc,eAAA,SAAApc,MAAAoc,eAAA,UAAAvW,MAAAqP,QAAAlV,MAAAoc,gBAAAC,KAAArc,MAAAoc,kBAAAva,cAAA7B,MAAAgH,cAAA,oBAAAhH,MAAAgH,cAAA,SAAAhH,MAAAgH,cAAA,UAAAnB,MAAAqP,QAAAlV,MAAAgH,eAAAsV,MAAAtc,MAAAgH,iBAAAnF,cAAA7B,MAAAuc,aAAA,oBAAAvc,MAAAuc,aAAA,SAAAvc,MAAAuc,aAAA,UAAA1W,MAAAqP,QAAAlV,MAAAuc,cAAAC,MAAAxc,MAAAuc,gBAAA1a,cAAA7B,MAAAyc,uBAAA,oBAAAzc,MAAAyc,uBAAA,SAAAzc,MAAAyc,uBAAA,UAAA5W,MAAAqP,QAAAlV,MAAAyc,wBAAAC,MAAA1c,MAAAyc,0BAAA5a,cAAA7B,MAAA2c,YAAA9W,MAAAqP,QAAAlV,MAAA2c,aAAA3c,MAAA2c,SAAAxH,OAAAC,QAAA,oBAAAA,QAAA,SAAAA,QAAA,UAAAvP,MAAAqP,QAAAE,SAAAwH,MAAAxH,aAAAvT,cAAA7B,MAAA6c,SAAA,oBAAA7c,MAAA6c,SAAA,SAAA7c,MAAA6c,SAAA,UAAAhX,MAAAqP,QAAAlV,MAAA6c,UAAAC,MAAA9c,MAAA6c,YAAAhb,cAAA7B,MAAA8U,QAAAjP,MAAAqP,QAAAlV,MAAA8U,SAAA9U,MAAA8U,KAAAK,OAAAC,QAAA,oBAAAA,QAAA,SAAAA,QAAA2H,MAAA3H;QAAA,MAAAC,OAAArV,SAAA,oBAAAA,MAAAgd,UAAAnb,cAAA7B,MAAA+G,eAAA,oBAAA/G,MAAA+G,iBAAAlF,cAAA7B,MAAAid,kBAAA,oBAAAjd,MAAAid,oBAAApb,cAAA7B,MAAAkd,WAAA,oBAAAld,MAAAkd,WAAA,SAAAld,MAAAkd,WAAA,UAAArX,MAAAqP,QAAAlV,MAAAkd,YAAAC,KAAAnd,MAAAkd,cAAArb,cAAA7B,MAAAod,WAAA,oBAAApd,MAAAod,WAAA,SAAApd,MAAAod,WAAAC,KAAArd,MAAAod,aAAA,oBAAApd,MAAAsd;QAAA,MAAAH,OAAAnd,UAAA6B,cAAA7B,MAAA4D,QAAA,oBAAA5D,MAAA4D,UAAA/B,cAAA7B,MAAAgI,OAAA,oBAAAhI,MAAAgI,SAAAnG,cAAA7B,MAAAud,SAAA,oBAAAvd,MAAAud;QAAA,MAAAF,OAAArd,SAAA,oBAAAA,MAAA4D,SAAA/B,cAAA7B,MAAAgI,OAAA,oBAAAhI,MAAAgI;QAAA,MAAAqU,OAAArc,SAAAiB,OAAAuc,KAAAxd,OAAAmV,OAAA/T;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
@@ -92,7 +92,7 @@ const FUNCTION = {
92
92
  type: "string"
93
93
  },
94
94
  name: {
95
- description: "Representative name of the function.\n\nThe `name` is a repsentative name identifying the function in the\n{@link IHttpLlmApplication}. The `name` value is just composed by joining\nthe {@link IHttpMigrateRoute.accessor} by underscore `_` character.\n\nHere is the composition rule of the {@link IHttpMigrateRoute.accessor}:\n\n> The `accessor` is composed with the following rules. At first, namespaces\n> are composed by static directory names in the {@link path}. Parametric\n> symbols represented by `:param` or `{param}` cannot be a part of the\n> namespace.\n\n> Instead, they would be a part of the function name. The function name is\n> composed with the {@link method HTTP method} and parametric symbols like\n> `getByParam` or `postByParam`. If there are multiple path parameters, they\n> would be concatenated by `And` like `getByParam1AndParam2`.\n\n> For refefence, if the {@link operation}'s {@link method} is `delete`, the\n> function name would be replaced to `erase` instead of `delete`. It is the\n> reason why the `delete` is a reserved keyword in many programming\n> languages.\n\n> - Example 1\n\n> - Path: `POST /shopping/sellers/sales`\n> - Accessor: `shopping.sellers.sales.post`\n> - Example 2\n\n> - Endpoint: `GET\n> /shoppings/sellers/sales/:saleId/reviews/:reviewId/comments/:id\n> - Accessor:\n> `shoppings.sellers.sales.reviews.getBySaleIdAndReviewIdAndCommentId`\n\n\n@maxLength 64",
95
+ description: "Representative name of the function.\n\nThe `name` is a representative name identifying the function in the\n{@link IHttpLlmApplication}. The `name` value is just composed by joining\nthe {@link IHttpMigrateRoute.accessor} by underscore `_` character.\n\nHere is the composition rule of the {@link IHttpMigrateRoute.accessor}:\n\n> The `accessor` is composed with the following rules. At first, namespaces\n> are composed by static directory names in the {@link path}. Parametric\n> symbols represented by `:param` or `{param}` cannot be a part of the\n> namespace.\n\n> Instead, they would be a part of the function name. The function name is\n> composed with the {@link method HTTP method} and parametric symbols like\n> `getByParam` or `postByParam`. If there are multiple path parameters, they\n> would be concatenated by `And` like `getByParam1AndParam2`.\n\n> For reference, if the {@link operation}'s {@link method} is `delete`, the\n> function name would be replaced to `erase` instead of `delete`. It is the\n> reason why the `delete` is a reserved keyword in many programming\n> languages.\n\n> - Example 1\n\n> - Path: `POST /shopping/sellers/sales`\n> - Accessor: `shopping.sellers.sales.post`\n> - Example 2\n\n> - Endpoint: `GET\n> /shoppings/sellers/sales/:saleId/reviews/:reviewId/comments/:id`\n> - Accessor:\n> `shoppings.sellers.sales.reviews.getBySaleIdAndReviewIdAndCommentId`\n\n\n@maxLength 64",
96
96
  type: "string"
97
97
  },
98
98
  parameters: {
@@ -137,7 +137,7 @@ const FUNCTION = {
137
137
  ]
138
138
  },
139
139
  description: {
140
- description: "Description of the function.\n\n`IHttpLlmFunction.description` is composed by below rule:\n\n1. Starts from the {@link OpenApi.IOperation.summary} paragraph.\n2. The next paragraphs are filled with the\n {@link OpenApi.IOperation.description}. By the way, if the first\n paragraph of {@link OpenApi.IOperation.description} is same with the\n {@link OpenApi.IOperation.summary}, it would not be duplicated.\n3. Parameters' descriptions are added with `@param` tag.\n4. {@link OpenApi.IOperation.security Security requirements} are added with\n `@security` tag.\n5. Tag names are added with `@tag` tag.\n6. If {@link OpenApi.IOperation.deprecated}, `@deprecated` tag is added.\n\nFor reference, the `description` is very important property to teach the\npurpose of the function to the LLM (Language Large Model), and LLM actually\ndetermines which function to call by the description.\n\nAlso, when the LLM conversates with the user, the `description` is used to\nexplain the function to the user. Therefore, the `description` property has\nthe highest priority, and you have to consider it.",
140
+ description: "Description of the function.\n\n`IHttpLlmFunction.description` is composed using the following rules:\n\n1. Starts with the {@link OpenApi.IOperation.summary} paragraph\n2. The next paragraphs are filled with the\n {@link OpenApi.IOperation.description}. If the first\n paragraph of {@link OpenApi.IOperation.description} matches the\n {@link OpenApi.IOperation.summary}, it is not duplicated\n3. Parameter descriptions are added with `@param` tags\n4. {@link OpenApi.IOperation.security Security requirements} are added with\n `@security` tags\n5. Tag names are added with `@tag` tags\n6. If {@link OpenApi.IOperation.deprecated}, a `@deprecated` tag is added\n\nFor reference, the `description` is a critical property for teaching the\npurpose of the function to LLMs (Large Language Models). LLMs use this\ndescription to determine which function to call.\n\nAlso, when the LLM converses with users, the `description` explains the\nfunction to the user. Therefore, the `description` property has the\nhighest priority and should be carefully considered.",
141
141
  type: "string"
142
142
  },
143
143
  deprecated: {
@@ -160,14 +160,14 @@ const FUNCTION = {
160
160
  ]
161
161
  },
162
162
  "IChatGptSchema.IParameters": {
163
- description: "Type of the function parameters.\n\n`IChatGptSchema.IParameters` is a type defining a function's parameters as\na keyworded object type.\n\nIt also can be utilized for the structured output metadata.\n\n### Description of {@link $defs} property:\n\n> Collection of the named types.\n\n### Description of {@link properties} property:\n\n> Properties of the object.\n> \n> The `properties` means a list of key-value pairs of the object's regular\n> properties. The key is the name of the regular property, and the value is\n> the type schema info.\n\n### Description of {@link examples} property:\n\n> List of example values as key-value pairs.",
163
+ description: "Type for function parameters.\n\n`IChatGptSchema.IParameters` defines a function's parameters as\na keyword object type, where each property represents a named parameter.\n\nIt can also be used for structured output metadata to define the\nexpected format of ChatGPT responses.\n\n### Description of {@link $defs} property:\n\n> Collection of the named types.\n\n### Description of {@link properties} property:\n\n> Properties of the object.\n> \n> The `properties` means a list of key-value pairs of the object's regular\n> properties. The key is the name of the regular property, and the value is\n> the type schema info.\n\n### Description of {@link examples} property:\n\n> List of example values as key-value pairs.",
164
164
  type: "object",
165
165
  properties: {
166
166
  $defs: {
167
167
  $ref: "#/$defs/RecordstringIChatGptSchema"
168
168
  },
169
169
  additionalProperties: {
170
- description: "Additional properties' info.\n\nThe `additionalProperties` means the type schema info of the additional\nproperties that are not listed in the {@link properties}.\n\nBy the way, it is not allowed in the parameters level.",
170
+ description: "Additional properties information.\n\nThe `additionalProperties` defines the type schema for additional\nproperties that are not listed in the {@link properties}.\n\nBy the way, it is not allowed at the parameters level.",
171
171
  type: "boolean",
172
172
  "enum": [
173
173
  false
@@ -184,7 +184,7 @@ const FUNCTION = {
184
184
  $ref: "#/$defs/RecordstringIChatGptSchema"
185
185
  },
186
186
  required: {
187
- description: "List of key values of the required properties.\n\nThe `required` means a list of the key values of the required\n{@link properties}. If some property key is not listed in the `required`\nlist, it means that property is optional. Otherwise some property key\nexists in the `required` list, it means that the property must be\nfilled.\n\nBelow is an example of the {@link properties} and `required`.\n\n```typescript\ninterface SomeObject {\n id: string;\n email: string;\n name?: string;\n}\n```\n\nAs you can see, `id` and `email` {@link properties} are {@link required},\nso that they are listed in the `required` list.\n\n```json\n{\n \"type\": \"object\",\n \"properties\": {\n \"id\": { \"type\": \"string\" },\n \"email\": { \"type\": \"string\" },\n \"name\": { \"type\": \"string\" }\n },\n \"required\": [\"id\", \"email\"]\n}\n```",
187
+ description: "List of required property keys.\n\nThe `required` contains a list of property keys from {@link properties}\nthat must be provided. Properties not listed in `required` are optional,\nwhile those listed must be filled.\n\nBelow is an example of {@link properties} and `required`:\n\n```typescript\ninterface SomeObject {\n id: string;\n email: string;\n name?: string;\n}\n```\n\nAs you can see, `id` and `email` {@link properties} are {@link required},\nso they are listed in the `required` array.\n\n```json\n{\n \"type\": \"object\",\n \"properties\": {\n \"id\": { \"type\": \"string\" },\n \"email\": { \"type\": \"string\" },\n \"name\": { \"type\": \"string\" }\n },\n \"required\": [\"id\", \"email\"]\n}\n```",
188
188
  type: "array",
189
189
  items: {
190
190
  type: "string"
@@ -227,7 +227,7 @@ const FUNCTION = {
227
227
  }
228
228
  },
229
229
  IChatGptSchema: {
230
- description: "Type schema info of the ChatGPT.\n\n`IChatGptSchema` is a type schema info of the ChatGPT function calling.\n\n`IChatGptSchema` basically follows the JSON schema definition of the OpenAPI\nv3.1 speciifcation; {@link OpenApiV3_1.IJsonSchema}.\n\nHowever, the `IChatGptSchema` does not follow the entire specification of the\nOpenAPI v3.1. It has own specific restrictions and definitions. Here is the\nlist of how `IChatGptSchema` is different with the OpenAPI v3.1 JSON schema.\n\n- Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n- Resolve nullable property:\n {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n- Tuple type is banned: {@link OpenApiV3_1.IJsonSchema.ITuple.prefixItems}\n- Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n- Merge {@link OpenApiV3_1.IJsonSchema.IOneOf} to {@link IChatGptSchema.IAnOf}\n- Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link IChatGptSchema.IObject}\n- Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to\n {@link IChatGptSchema.IReference}\n- When {@link IChatGptSchema.IConfig.strict} mode\n\n - Every object properties must be required\n - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n\nIf compare with the {@link OpenApi.IJsonSchema}, the emended JSON schema\nspecification,\n\n- {@link IChatGptSchema.IAnyOf} instead of the {@link OpenApi.IJsonSchema.IOneOf}\n- {@link IChatGptSchema.IParameters.$defs} instead of the\n {@link OpenApi.IJsonSchema.IComponents.schemas}\n- {@link IChatGptSchema.IString.enum} instead of the\n {@link OpenApi.IJsonSchema.IConstant}\n- {@link IChatGptSchema.additionalProperties} is fixed to `false`\n- No tuple type {@link OpenApi.IJsonSchema.ITuple} support\n- When {@link IChatGptSchema.IConfig.strict} mode\n\n - Every object properties must be required\n - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n\nFor reference, if you've composed the `IChatGptSchema` type with the\n{@link IChatGptSchema.IConfig.reference} `false` option (default is `false`),\nonly the recursived named types would be archived into the\n{@link IChatGptSchema.IParameters.$defs}, and the others would be ecaped from\nthe {@link IChatGptSchema.IReference} type.\n\nAlso, OpenAI has banned below constraint properties. Instead,\n`IChatGptSchema` fills the {@link IChatGptSchema.__IAttribute.description}\nproperty with the comment text like `\"@format uuid\"`.\n\n- {@link OpenApi.IJsonSchema.INumber.minimum}\n- {@link OpenApi.IJsonSchema.INumber.maximum}\n- {@link OpenApi.IJsonSchema.INumber.multipleOf}\n- {@link OpenApi.IJsonSchema.IString.minLength}\n- {@link OpenApi.IJsonSchema.IString.maxLength}\n- {@link OpenApi.IJsonSchema.IString.format}\n- {@link OpenApi.IJsonSchema.IString.pattern}\n- {@link OpenApi.IJsonSchema.IString.contentMediaType}\n- {@link OpenApi.IJsonSchema.IString.default}\n- {@link OpenApi.IJsonSchema.IArray.minItems}\n- {@link OpenApi.IJsonSchema.IArray.maxItems}\n- {@link OpenApi.IJsonSchema.IArray.unique}\n\nAdditionally, OpenAI cannot define the `description` property to the\n{@link IChatGptSchema.IReference} type, and even does not understand the\ncapsulization to the {@link IChatGptSchema.IAnyOf} type. Therefore, the\n`description` is written to the parent object type, not the reference type.\n\n```json\n{\n \"type\": \"object\",\n \"description\": \"### Description of {@link something} property.\\n\\n> Hello?\",\n \"properties\": {\n \"something\": {\n \"$ref\": \"#/$defs/SomeObject\"\n }\n }\n}\n```",
230
+ description: "Type schema info of the ChatGPT.\n\n`IChatGptSchema` is a type schema info of the ChatGPT function calling.\n\n`IChatGptSchema` basically follows the JSON schema definition of the OpenAPI\nv3.1 specification; {@link OpenApiV3_1.IJsonSchema}.\n\nHowever, the `IChatGptSchema` does not follow the entire specification of the\nOpenAPI v3.1. It has own specific restrictions and definitions. Here is the\nlist of how `IChatGptSchema` is different with the OpenAPI v3.1 JSON schema.\n\n- Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n- Resolve nullable property:\n {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n- Tuple type is banned: {@link OpenApiV3_1.IJsonSchema.ITuple.prefixItems}\n- Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n- Merge {@link OpenApiV3_1.IJsonSchema.IOneOf} to {@link IChatGptSchema.IAnyOf}\n- Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link IChatGptSchema.IObject}\n- Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to\n {@link IChatGptSchema.IReference}\n- When {@link IChatGptSchema.IConfig.strict} mode:\n - Every object properties must be required\n - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n\nCompared to {@link OpenApi.IJsonSchema}, the emended JSON schema\nspecification:\n\n- {@link IChatGptSchema.IAnyOf} instead of {@link OpenApi.IJsonSchema.IOneOf}\n- {@link IChatGptSchema.IParameters.$defs} instead of\n {@link OpenApi.IJsonSchema.IComponents.schemas}\n- {@link IChatGptSchema.IString.enum} instead of\n {@link OpenApi.IJsonSchema.IConstant}\n- {@link IChatGptSchema.additionalProperties} is fixed to `false`\n- No tuple type {@link OpenApi.IJsonSchema.ITuple} support\n- When {@link IChatGptSchema.IConfig.strict} mode:\n - Every object properties must be required\n - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n\nFor reference, if you compose the `IChatGptSchema` type with the\n{@link IChatGptSchema.IConfig.reference} `false` option (default is `false`),\nonly recursively named types are archived into the\n{@link IChatGptSchema.IParameters.$defs}, and others are escaped from\nthe {@link IChatGptSchema.IReference} type.\n\nAlso, OpenAI has banned the following constraint properties. Instead,\n`IChatGptSchema` fills the {@link IChatGptSchema.__IAttribute.description}\nproperty with comment text like `\"@format uuid\"`.\n\n- {@link OpenApi.IJsonSchema.INumber.minimum}\n- {@link OpenApi.IJsonSchema.INumber.maximum}\n- {@link OpenApi.IJsonSchema.INumber.multipleOf}\n- {@link OpenApi.IJsonSchema.IString.minLength}\n- {@link OpenApi.IJsonSchema.IString.maxLength}\n- {@link OpenApi.IJsonSchema.IString.format}\n- {@link OpenApi.IJsonSchema.IString.pattern}\n- {@link OpenApi.IJsonSchema.IString.contentMediaType}\n- {@link OpenApi.IJsonSchema.IString.default}\n- {@link OpenApi.IJsonSchema.IArray.minItems}\n- {@link OpenApi.IJsonSchema.IArray.maxItems}\n- {@link OpenApi.IJsonSchema.IArray.unique}\n\nAdditionally, OpenAI cannot define the `description` property for the\n{@link IChatGptSchema.IReference} type, and does not understand\nencapsulation of the {@link IChatGptSchema.IAnyOf} type. Therefore, the\n`description` is written to the parent object type, not the reference type.\n\n```json\n{\n \"type\": \"object\",\n \"description\": \"### Description of {@link something} property.\\n\\n> Hello?\",\n \"properties\": {\n \"something\": {\n \"$ref\": \"#/$defs/SomeObject\"\n }\n }\n}\n```",
231
231
  anyOf: [
232
232
  {
233
233
  $ref: "#/$defs/IChatGptSchema.IBoolean"
@@ -478,7 +478,7 @@ const FUNCTION = {
478
478
  $ref: "#/$defs/RecordstringIChatGptSchema"
479
479
  },
480
480
  additionalProperties: {
481
- description: "Additional properties' info.\n\nThe `additionalProperties` means the type schema info of the additional\nproperties that are not listed in the {@link properties}.\n\nBy the way, if you've configured {@link IChatGptSchema.IConfig.strict} as\n`true`, ChatGPT function calling does not support such dynamic key typed\nproperties, so the `additionalProperties` becomes always `false`.",
481
+ description: "Additional properties information.\n\nThe `additionalProperties` defines the type schema for additional\nproperties that are not listed in the {@link properties}.\n\nNote: If you've configured {@link IChatGptSchema.IConfig.strict} as\n`true`, ChatGPT function calling does not support dynamic key typed\nproperties, so `additionalProperties` is always `false`.",
482
482
  anyOf: [
483
483
  {
484
484
  type: "boolean"
@@ -516,7 +516,7 @@ const FUNCTION = {
516
516
  ]
517
517
  },
518
518
  required: {
519
- description: "List of key values of the required properties.\n\nThe `required` means a list of the key values of the required\n{@link properties}. If some property key is not listed in the `required`\nlist, it means that property is optional. Otherwise some property key\nexists in the `required` list, it means that the property must be\nfilled.\n\nBelow is an example of the {@link properties} and `required`.\n\n```typescript\ninterface SomeObject {\n id: string;\n email: string;\n name?: string;\n}\n```\n\nAs you can see, `id` and `email` {@link properties} are {@link required},\nso that they are listed in the `required` list.\n\n```json\n{\n \"type\": \"object\",\n \"properties\": {\n \"id\": { \"type\": \"string\" },\n \"email\": { \"type\": \"string\" },\n \"name\": { \"type\": \"string\" }\n },\n \"required\": [\"id\", \"email\"]\n}\n```",
519
+ description: "List of required property keys.\n\nThe `required` contains a list of property keys from {@link properties}\nthat must be provided. Properties not listed in `required` are optional,\nwhile those listed must be filled.\n\nBelow is an example of {@link properties} and `required`:\n\n```typescript\ninterface SomeObject {\n id: string;\n email: string;\n name?: string;\n}\n```\n\nAs you can see, `id` and `email` {@link properties} are {@link required},\nso they are listed in the `required` array.\n\n```json\n{\n \"type\": \"object\",\n \"properties\": {\n \"id\": { \"type\": \"string\" },\n \"email\": { \"type\": \"string\" },\n \"name\": { \"type\": \"string\" }\n },\n \"required\": [\"id\", \"email\"]\n}\n```",
520
520
  type: "array",
521
521
  items: {
522
522
  type: "string"
@@ -555,11 +555,11 @@ const FUNCTION = {
555
555
  ]
556
556
  },
557
557
  "IChatGptSchema.IReference": {
558
- description: "Reference type directing named schema.\n\n### Description of {@link examples} property:\n\n> List of example values as key-value pairs.",
558
+ description: "Reference type directing to named schema.\n\n### Description of {@link examples} property:\n\n> List of example values as key-value pairs.",
559
559
  type: "object",
560
560
  properties: {
561
561
  $ref: {
562
- description: "Reference to the named schema.\n\nThe `ref` is a reference to the named schema. Format of the `$ref` is\nfollowing the JSON Pointer specification. In the OpenAPI, the `$ref`\nstarts with `#/$defs/` which means the type is stored in the\n{@link IChatGptSchema.IParameters.$defs} object.\n\n- `#/$defs/SomeObject`\n- `#/$defs/AnotherObject`",
562
+ description: "Reference to the named schema.\n\nThe `$ref` is a reference to a named schema. The format follows the\nJSON Pointer specification. In OpenAPI, the `$ref` starts with `#/$defs/`\nwhich indicates the type is stored in the\n{@link IChatGptSchema.IParameters.$defs} object.\n\n- `#/$defs/SomeObject`\n- `#/$defs/AnotherObject`",
563
563
  type: "string"
564
564
  },
565
565
  title: {
@@ -586,7 +586,7 @@ const FUNCTION = {
586
586
  ]
587
587
  },
588
588
  "IChatGptSchema.IAnyOf": {
589
- description: "Union type.\n\n`IAnyOf` represents an union type of the TypeScript (`A | B | C`).\n\nFor reference, even though your Swagger (or OpenAPI) document has defined\n`anyOf` instead of the `oneOf`, {@link IChatGptSchema} forcibly converts it\nto `oneOf` type.\n\n### Description of {@link \"x-discriminator\"} property:\n\n> Discriminator info of the union type.\n\n### Description of {@link examples} property:\n\n> List of example values as key-value pairs.",
589
+ description: "Union type.\n\n`IAnyOf` represents a union type in TypeScript (`A | B | C`).\n\nFor reference, even if your Swagger (or OpenAPI) document defines\n`anyOf` instead of `oneOf`, {@link IChatGptSchema} forcibly converts it\nto `anyOf` type.\n\n### Description of {@link \"x-discriminator\"} property:\n\n> Discriminator info of the union type.\n\n### Description of {@link examples} property:\n\n> List of example values as key-value pairs.",
590
590
  type: "object",
591
591
  properties: {
592
592
  anyOf: {
@@ -710,7 +710,7 @@ const FUNCTION = {
710
710
  ]
711
711
  },
712
712
  "IChatGptSchema.IAnyOf.IDiscriminator": {
713
- description: "Discriminator info of the union type.\n\n### Description of {@link mapping} property:\n\n> Mapping of the discriminator value to the schema name.\n> \n> This property is valid only for {@link IReference} typed\n> {@link IAnyOf.oneof} elements. Therefore, `key` of `mapping` is the\n> discriminator value, and `value` of `mapping` is the schema name like\n> `#/components/schemas/SomeObject`.",
713
+ description: "Discriminator info of the union type.\n\n### Description of {@link mapping} property:\n\n> Mapping of discriminator values to schema names.\n> \n> This property is valid only for {@link IReference} typed\n> {@link IAnyOf.anyOf} elements. Therefore, the `key` of `mapping` is the\n> discriminator value, and the `value` of `mapping` is the schema name like\n> `#/components/schemas/SomeObject`.",
714
714
  type: "object",
715
715
  properties: {
716
716
  propertyName: {
@@ -64,7 +64,7 @@ function merge(chunks) {
64
64
  if (firstChunk === undefined) {
65
65
  throw new Error("No chunks received");
66
66
  }
67
- return chunks.reduce(accumulate, {
67
+ const result = chunks.reduce(accumulate, {
68
68
  id: firstChunk.id,
69
69
  choices: [],
70
70
  created: firstChunk.created,
@@ -74,6 +74,16 @@ function merge(chunks) {
74
74
  service_tier: firstChunk.service_tier,
75
75
  system_fingerprint: firstChunk.system_fingerprint,
76
76
  });
77
+ // post-process
78
+ result.choices.forEach((choice) => {
79
+ var _a;
80
+ (_a = choice.message.tool_calls) === null || _a === void 0 ? void 0 : _a.forEach((toolCall) => {
81
+ if (toolCall.function.arguments === "") {
82
+ toolCall.function.arguments = "{}";
83
+ }
84
+ });
85
+ });
86
+ return result;
77
87
  }
78
88
  function mergeChoice(acc, cur) {
79
89
  var _a;
@@ -1 +1 @@
1
- {"version":3,"file":"ChatGptCompletionMessageUtil.js","sourceRoot":"","sources":["../../src/utils/ChatGptCompletionMessageUtil.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChatGptCompletionMessageUtil.js","sourceRoot":"","sources":["../../src/utils/ChatGptCompletionMessageUtil.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentica/core",
3
- "version": "0.30.7",
3
+ "version": "0.31.0",
4
4
  "description": "Agentic AI Library specialized in LLM Function Calling",
5
5
  "author": "Wrtn Technologies",
6
6
  "license": "MIT",
@@ -36,14 +36,14 @@
36
36
  "access": "public"
37
37
  },
38
38
  "peerDependencies": {
39
- "@samchon/openapi": "^4.6.0",
39
+ "@samchon/openapi": "^4.7.1",
40
40
  "openai": "^5.2.0",
41
- "typia": "^9.6.0"
41
+ "typia": "^9.7.0"
42
42
  },
43
43
  "dependencies": {
44
- "@samchon/openapi": "^4.6.0",
44
+ "@samchon/openapi": "^4.7.1",
45
45
  "tstl": "^3.0.0",
46
- "typia": "^9.6.0",
46
+ "typia": "^9.7.0",
47
47
  "uuid": "^11.0.4"
48
48
  },
49
49
  "devDependencies": {
@@ -62,7 +62,7 @@
62
62
  "ts-patch": "^3.3.0",
63
63
  "tstl": "^3.0.0",
64
64
  "typedoc": "^0.27.7",
65
- "typescript": "~5.8.3",
65
+ "typescript": "~5.9.2",
66
66
  "vitest": "^3.0.9"
67
67
  },
68
68
  "scripts": {
@@ -147,7 +147,7 @@ export function decodeUserMessageContent(content: AgenticaUserMessageContent): O
147
147
  if (content.type === "file") {
148
148
  return {
149
149
  type: "file",
150
- file: content.file.type === "data"
150
+ file: content.file.type === "base64"
151
151
  ? {
152
152
  file_data: content.file.data,
153
153
  filename: content.file.name,
@@ -162,7 +162,9 @@ export function decodeUserMessageContent(content: AgenticaUserMessageContent): O
162
162
  return {
163
163
  type: "image_url",
164
164
  image_url: {
165
- url: content.url,
165
+ url: content.image.type === "base64"
166
+ ? content.image.data
167
+ : content.image.url,
166
168
  detail: content.detail,
167
169
  },
168
170
  };
@@ -8,19 +8,17 @@ import type { AgenticaUserMessageContentBase } from "./AgenticaUserMessageConten
8
8
  */
9
9
  export interface AgenticaUserMessageFileContent extends AgenticaUserMessageContentBase<"file"> {
10
10
  /**
11
- * Reference to the pre-uploaded file or the data itself.
12
- *
13
- * @todo Properly define independent interface
11
+ * Reference to the pre-uploaded file or the base64 data itself.
14
12
  */
15
- file: AgenticaUserMessageFileContent.IReference | AgenticaUserMessageFileContent.IData;
13
+ file: AgenticaUserMessageFileContent.IId | AgenticaUserMessageFileContent.IBase64;
16
14
  }
17
15
  export namespace AgenticaUserMessageFileContent {
18
- export interface IReference {
19
- type: "reference";
16
+ export interface IId {
17
+ type: "id";
20
18
  id: string;
21
19
  }
22
- export interface IData {
23
- type: "data";
20
+ export interface IBase64 {
21
+ type: "base64";
24
22
  name: string;
25
23
  data: string;
26
24
  }
@@ -10,9 +10,9 @@ import type { AgenticaUserMessageContentBase } from "./AgenticaUserMessageConten
10
10
  */
11
11
  export interface AgenticaUserMessageImageContent extends AgenticaUserMessageContentBase<"image"> {
12
12
  /**
13
- * Image URL.
13
+ * Image URL or base64 data itself.
14
14
  */
15
- url: string & tags.Format<"url">;
15
+ image: AgenticaUserMessageImageContent.IUrl | AgenticaUserMessageImageContent.IBase64;
16
16
 
17
17
  /**
18
18
  * Specifies the detail level of the image.
@@ -21,3 +21,13 @@ export interface AgenticaUserMessageImageContent extends AgenticaUserMessageCont
21
21
  */
22
22
  detail?: "auto" | "high" | "low" | undefined;
23
23
  }
24
+ export namespace AgenticaUserMessageImageContent {
25
+ export interface IUrl {
26
+ type: "url";
27
+ url: string & tags.Format<"url">;
28
+ }
29
+ export interface IBase64 {
30
+ type: "base64";
31
+ data: string;
32
+ }
33
+ }
@@ -83,7 +83,7 @@ function merge(chunks: ChatCompletionChunk[]): ChatCompletion {
83
83
  throw new Error("No chunks received");
84
84
  }
85
85
 
86
- return chunks.reduce(accumulate, {
86
+ const result = chunks.reduce(accumulate, {
87
87
  id: firstChunk.id,
88
88
  choices: [],
89
89
  created: firstChunk.created,
@@ -93,6 +93,17 @@ function merge(chunks: ChatCompletionChunk[]): ChatCompletion {
93
93
  service_tier: firstChunk.service_tier,
94
94
  system_fingerprint: firstChunk.system_fingerprint,
95
95
  } as ChatCompletion);
96
+
97
+ // post-process
98
+ result.choices.forEach((choice) => {
99
+ choice.message.tool_calls?.forEach((toolCall) => {
100
+ if (toolCall.function.arguments === "") {
101
+ toolCall.function.arguments = "{}";
102
+ }
103
+ });
104
+ });
105
+
106
+ return result;
96
107
  }
97
108
 
98
109
  function mergeChoice(acc: ChatCompletion.Choice, cur: ChatCompletionChunk.Choice): ChatCompletion.Choice {