@anuma/sdk 6.35.0 → 6.37.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.
@@ -1602,8 +1602,8 @@ var ATTACHED_FILES_OPEN_TAG = "<attached_files>";
1602
1602
  var ATTACHED_FILES_CLOSE_TAG = "</attached_files>";
1603
1603
  var ATTACHED_FILES_PREFIX = `${ATTACHED_FILES_OPEN_TAG}
1604
1604
  The user attached the following file(s) to this message. Their extracted contents are below; when the user refers to "the attached file", "this file" or "the document", they mean these.`;
1605
- function isAttachedFilesText(text12) {
1606
- return typeof text12 === "string" && text12.startsWith(ATTACHED_FILES_PREFIX) && text12.endsWith(ATTACHED_FILES_CLOSE_TAG);
1605
+ function isAttachedFilesText(text13) {
1606
+ return typeof text13 === "string" && text13.startsWith(ATTACHED_FILES_PREFIX) && text13.endsWith(ATTACHED_FILES_CLOSE_TAG);
1607
1607
  }
1608
1608
  function buildAttachedFilesText(fileContext) {
1609
1609
  return `${ATTACHED_FILES_PREFIX}
@@ -2358,14 +2358,14 @@ async function updateMessageEmbeddingOp(ctx, uniqueId, vector, embeddingModel) {
2358
2358
  });
2359
2359
  return messageToStored(message, ctx.walletAddress, ctx.signMessage, ctx.embeddedWalletSigner);
2360
2360
  }
2361
- async function updateMessageChunksOp(ctx, uniqueId, chunks, embeddingModel) {
2361
+ async function updateMessageChunksOp(ctx, uniqueId, chunks2, embeddingModel) {
2362
2362
  let message;
2363
2363
  try {
2364
2364
  message = await ctx.messagesCollection.find(uniqueId);
2365
2365
  } catch {
2366
2366
  return null;
2367
2367
  }
2368
- const storedChunks = chunks.map(({ text: _text, ...rest }) => rest);
2368
+ const storedChunks = chunks2.map(({ text: _text, ...rest }) => rest);
2369
2369
  await ctx.database.write(async () => {
2370
2370
  await message.update((msg) => {
2371
2371
  msg._setRaw("chunks", JSON.stringify(storedChunks));
@@ -2409,12 +2409,12 @@ async function stripLegacyChunkTextOp(ctx) {
2409
2409
  const messages = await ctx.messagesCollection.query(Q.where("id", Q.oneOf(changedIds))).fetch();
2410
2410
  const updates = messages.flatMap((message) => {
2411
2411
  const raw = message._raw;
2412
- const chunks = chunksWithoutText(raw.chunks);
2413
- if (!chunks) return [];
2412
+ const chunks2 = chunksWithoutText(raw.chunks);
2413
+ if (!chunks2) return [];
2414
2414
  const updatedAt = raw.updated_at;
2415
2415
  return [
2416
2416
  message.prepareUpdate((msg) => {
2417
- msg._setRaw("chunks", JSON.stringify(chunks));
2417
+ msg._setRaw("chunks", JSON.stringify(chunks2));
2418
2418
  msg._setRaw("updated_at", updatedAt);
2419
2419
  })
2420
2420
  ];
@@ -2575,15 +2575,15 @@ async function searchChunksOp(ctx, queryVector, options) {
2575
2575
  }
2576
2576
  continue;
2577
2577
  }
2578
- const chunks = await readRawJsonField(message, "chunks", ctx.walletAddress);
2579
- if (chunks && chunks.length > 0) {
2580
- const vectors = chunks.map(
2578
+ const chunks2 = await readRawJsonField(message, "chunks", ctx.walletAddress);
2579
+ if (chunks2 && chunks2.length > 0) {
2580
+ const vectors = chunks2.map(
2581
2581
  (chunk) => decodeChunkVector(chunk.vector, () => {
2582
2582
  unreadableVectors++;
2583
2583
  })
2584
2584
  );
2585
2585
  chunkCache?.set(message.id, { version, chunks: vectors });
2586
- for (let ci = 0; ci < chunks.length; ci++) {
2586
+ for (let ci = 0; ci < chunks2.length; ci++) {
2587
2587
  const vec = vectors[ci];
2588
2588
  if (vec.length === 0) continue;
2589
2589
  const similarity = cosineSimilarity(queryVector, vec);
@@ -2591,7 +2591,7 @@ async function searchChunksOp(ctx, queryVector, options) {
2591
2591
  candidates.push({
2592
2592
  message,
2593
2593
  similarity,
2594
- chunkTextSource: { kind: "chunk", chunk: chunks[ci], siblings: chunks }
2594
+ chunkTextSource: { kind: "chunk", chunk: chunks2[ci], siblings: chunks2 }
2595
2595
  });
2596
2596
  }
2597
2597
  }
@@ -2704,49 +2704,49 @@ function makeSyntheticStoredConversation(opts, defaultTitle) {
2704
2704
  var DEFAULT_CHUNK_SIZE = 400;
2705
2705
  var DEFAULT_CHUNK_OVERLAP = 50;
2706
2706
  var DEFAULT_MIN_CHUNK_SIZE = 50;
2707
- function splitIntoSentences(text12) {
2707
+ function splitIntoSentences(text13) {
2708
2708
  const sentenceRegex = /[.!?]+[\s"')}\]]*(?=\s|$)/g;
2709
2709
  const sentences = [];
2710
2710
  let lastIndex = 0;
2711
2711
  let match;
2712
- while ((match = sentenceRegex.exec(text12)) !== null) {
2712
+ while ((match = sentenceRegex.exec(text13)) !== null) {
2713
2713
  const endIndex = match.index + match[0].length;
2714
- const sentence = text12.slice(lastIndex, endIndex).trim();
2714
+ const sentence = text13.slice(lastIndex, endIndex).trim();
2715
2715
  if (sentence) {
2716
2716
  sentences.push(sentence);
2717
2717
  }
2718
2718
  lastIndex = endIndex;
2719
2719
  }
2720
- const remaining = text12.slice(lastIndex).trim();
2720
+ const remaining = text13.slice(lastIndex).trim();
2721
2721
  if (remaining) {
2722
2722
  sentences.push(remaining);
2723
2723
  }
2724
2724
  return sentences;
2725
2725
  }
2726
- function chunkText(text12, options) {
2726
+ function chunkText(text13, options) {
2727
2727
  const {
2728
2728
  chunkSize = DEFAULT_CHUNK_SIZE,
2729
2729
  chunkOverlap: requestedOverlap = DEFAULT_CHUNK_OVERLAP,
2730
2730
  minChunkSize = DEFAULT_MIN_CHUNK_SIZE
2731
2731
  } = options ?? {};
2732
2732
  const chunkOverlap = Math.min(requestedOverlap, chunkSize - 1);
2733
- if (text12.length <= chunkSize) {
2733
+ if (text13.length <= chunkSize) {
2734
2734
  return [
2735
2735
  {
2736
- text: text12.trim(),
2736
+ text: text13.trim(),
2737
2737
  startOffset: 0,
2738
- endOffset: text12.length
2738
+ endOffset: text13.length
2739
2739
  }
2740
2740
  ];
2741
2741
  }
2742
- const sentences = splitIntoSentences(text12);
2743
- const chunks = [];
2742
+ const sentences = splitIntoSentences(text13);
2743
+ const chunks2 = [];
2744
2744
  let currentChunkSentences = [];
2745
2745
  let currentChunkStart = 0;
2746
2746
  let currentOffset = 0;
2747
2747
  for (let i = 0; i < sentences.length; i++) {
2748
2748
  const sentence = sentences[i];
2749
- let sentenceStart = text12.indexOf(sentence, currentOffset);
2749
+ let sentenceStart = text13.indexOf(sentence, currentOffset);
2750
2750
  if (sentenceStart === -1) {
2751
2751
  sentenceStart = currentOffset;
2752
2752
  }
@@ -2754,7 +2754,7 @@ function chunkText(text12, options) {
2754
2754
  if (sentence.length > chunkSize) {
2755
2755
  if (currentChunkSentences.length > 0) {
2756
2756
  const chunkText2 = currentChunkSentences.join(" ");
2757
- chunks.push({
2757
+ chunks2.push({
2758
2758
  text: chunkText2,
2759
2759
  startOffset: currentChunkStart,
2760
2760
  endOffset: currentOffset
@@ -2765,7 +2765,7 @@ function chunkText(text12, options) {
2765
2765
  const chunkEnd = Math.min(j + chunkSize, sentence.length);
2766
2766
  const chunk = sentence.slice(j, chunkEnd);
2767
2767
  if (chunk.length >= minChunkSize) {
2768
- chunks.push({
2768
+ chunks2.push({
2769
2769
  text: chunk,
2770
2770
  startOffset: sentenceStart + j,
2771
2771
  endOffset: sentenceStart + chunkEnd
@@ -2779,7 +2779,7 @@ function chunkText(text12, options) {
2779
2779
  const currentText = currentChunkSentences.join(" ");
2780
2780
  const potentialLength = currentText.length + (currentText ? 1 : 0) + sentence.length;
2781
2781
  if (potentialLength > chunkSize && currentChunkSentences.length > 0) {
2782
- chunks.push({
2782
+ chunks2.push({
2783
2783
  text: currentText,
2784
2784
  startOffset: currentChunkStart,
2785
2785
  endOffset: currentOffset
@@ -2793,7 +2793,7 @@ function chunkText(text12, options) {
2793
2793
  if (overlapSentences.length > 0) {
2794
2794
  currentChunkSentences = [...overlapSentences, sentence];
2795
2795
  const overlapText = overlapSentences[0];
2796
- const overlapStart = text12.lastIndexOf(overlapText, currentOffset);
2796
+ const overlapStart = text13.lastIndexOf(overlapText, currentOffset);
2797
2797
  currentChunkStart = overlapStart === -1 ? sentenceStart : overlapStart;
2798
2798
  } else {
2799
2799
  currentChunkSentences = [sentence];
@@ -2810,26 +2810,26 @@ function chunkText(text12, options) {
2810
2810
  if (currentChunkSentences.length > 0) {
2811
2811
  const chunkText2 = currentChunkSentences.join(" ");
2812
2812
  if (chunkText2.length >= minChunkSize) {
2813
- chunks.push({
2813
+ chunks2.push({
2814
2814
  text: chunkText2,
2815
2815
  startOffset: currentChunkStart,
2816
- endOffset: text12.length
2816
+ endOffset: text13.length
2817
2817
  });
2818
2818
  }
2819
2819
  }
2820
- if (chunks.length === 0) {
2821
- const trimmedText = text12.trim();
2820
+ if (chunks2.length === 0) {
2821
+ const trimmedText = text13.trim();
2822
2822
  if (trimmedText.length > 0) {
2823
2823
  return [
2824
2824
  {
2825
2825
  text: trimmedText,
2826
2826
  startOffset: 0,
2827
- endOffset: text12.length
2827
+ endOffset: text13.length
2828
2828
  }
2829
2829
  ];
2830
2830
  }
2831
2831
  }
2832
- return chunks;
2832
+ return chunks2;
2833
2833
  }
2834
2834
  function shouldChunkMessage(content, chunkSize = DEFAULT_CHUNK_SIZE) {
2835
2835
  return content.length > chunkSize;
@@ -2901,9 +2901,9 @@ function createSseClient({
2901
2901
  if (done) break;
2902
2902
  buffer += value;
2903
2903
  buffer = buffer.replace(/\r\n?/g, "\n");
2904
- const chunks = buffer.split("\n\n");
2905
- buffer = chunks.pop() ?? "";
2906
- for (const chunk of chunks) {
2904
+ const chunks2 = buffer.split("\n\n");
2905
+ buffer = chunks2.pop() ?? "";
2906
+ for (const chunk of chunks2) {
2907
2907
  const lines = chunk.split("\n");
2908
2908
  const dataLines = [];
2909
2909
  let eventName;
@@ -3516,8 +3516,8 @@ var createClient = (config = {}) => {
3516
3516
  data = await response[parseAs]();
3517
3517
  break;
3518
3518
  case "json": {
3519
- const text12 = await response.text();
3520
- data = text12 ? JSON.parse(text12) : {};
3519
+ const text13 = await response.text();
3520
+ data = text13 ? JSON.parse(text13) : {};
3521
3521
  break;
3522
3522
  }
3523
3523
  case "stream":
@@ -3725,16 +3725,16 @@ function embeddingErrorFrom(response) {
3725
3725
  const message = typeof response.error === "object" && response.error && "error" in response.error ? response.error.error : "API embedding failed";
3726
3726
  return new EmbeddingHttpError(message, response.response?.status);
3727
3727
  }
3728
- async function generateEmbedding(text12, options) {
3728
+ async function generateEmbedding(text13, options) {
3729
3729
  const total = options.totalTimeoutMs;
3730
- if (total === void 0) return embedOne(text12, options, void 0);
3731
- return withDeadline((signal) => embedOne(text12, options, signal), total, "embedding");
3730
+ if (total === void 0) return embedOne(text13, options, void 0);
3731
+ return withDeadline((signal) => embedOne(text13, options, signal), total, "embedding");
3732
3732
  }
3733
- async function embedOne(text12, options, outer) {
3733
+ async function embedOne(text13, options, outer) {
3734
3734
  const { baseUrl = BASE_URL, model, cache } = options;
3735
3735
  const timeoutMs = options.timeoutMs ?? DEFAULT_EMBEDDING_REQUEST_TIMEOUT_MS;
3736
3736
  if (cache) {
3737
- const cached = cache.get(text12);
3737
+ const cached = cache.get(text13);
3738
3738
  if (cached) return Array.from(cached);
3739
3739
  }
3740
3740
  const headers = await resolveAuthHeaders(options, outer);
@@ -3743,7 +3743,7 @@ async function embedOne(text12, options, outer) {
3743
3743
  (signal) => postApiV1Embeddings({
3744
3744
  baseUrl,
3745
3745
  body: {
3746
- input: options.maskInput ? options.maskInput(text12) : text12,
3746
+ input: options.maskInput ? options.maskInput(text13) : text13,
3747
3747
  model: model ?? DEFAULT_API_EMBEDDING_MODEL
3748
3748
  },
3749
3749
  headers,
@@ -3770,7 +3770,7 @@ async function embedOne(text12, options, outer) {
3770
3770
  }
3771
3771
  const f32Embedding = Float32Array.from(embedding);
3772
3772
  if (cache) {
3773
- cache.set(text12, f32Embedding);
3773
+ cache.set(text13, f32Embedding);
3774
3774
  }
3775
3775
  return Array.from(f32Embedding);
3776
3776
  }
@@ -3848,18 +3848,18 @@ async function embedMany(texts, options, outer) {
3848
3848
  outer
3849
3849
  );
3850
3850
  } else {
3851
- const chunks = [];
3851
+ const chunks2 = [];
3852
3852
  for (let i = 0; i < uncachedTexts.length; i += chunkSize) {
3853
- chunks.push(uncachedTexts.slice(i, i + chunkSize));
3853
+ chunks2.push(uncachedTexts.slice(i, i + chunkSize));
3854
3854
  }
3855
- const allEmbeddings = new Array(chunks.length);
3855
+ const allEmbeddings = new Array(chunks2.length);
3856
3856
  let nextIndex = 0;
3857
3857
  const worker = async () => {
3858
- while (nextIndex < chunks.length) {
3858
+ while (nextIndex < chunks2.length) {
3859
3859
  if (outer?.aborted) throw outer.reason;
3860
3860
  const idx = nextIndex++;
3861
3861
  allEmbeddings[idx] = await generateEmbeddingsBatch(
3862
- chunks[idx],
3862
+ chunks2[idx],
3863
3863
  headers,
3864
3864
  baseUrl,
3865
3865
  embeddingModel,
@@ -3871,7 +3871,7 @@ async function embedMany(texts, options, outer) {
3871
3871
  }
3872
3872
  };
3873
3873
  const workers = Array.from(
3874
- { length: Math.min(DEFAULT_EMBEDDING_BATCH_CONCURRENCY, chunks.length) },
3874
+ { length: Math.min(DEFAULT_EMBEDDING_BATCH_CONCURRENCY, chunks2.length) },
3875
3875
  () => worker()
3876
3876
  );
3877
3877
  await Promise.all(workers);
@@ -4104,10 +4104,10 @@ var cryptoPriceCentroid = [0.025576787463333337, 0.0017598020599999997, -0.01339
4104
4104
  var noCryptoPriceCentroid = [0.015473095138684206, 0.0031634101517105263, -0.011257569272697374, -0.02186071628118421, 0.008889833600921049, -0.006683160151842105, -0.009353561542368423, 0.01352172231447368, -0.01804750482084211, -0.00367377302894737, -0.02944732364736842, -0.002762284484078947, 0.033265779919736845, -0.006296026233684209, 0.022671929989210516, -0.0011530866775394733, 0.007070449366500001, -0.0050351310097368415, 0.010799295548421052, 8887227547368423e-20, 0.016334833743289468, 0.014258147745263154, 0.009584979092368422, 0.003050773904342107, -0.013426355076315791, 0.03582639014592105, -0.01160198427105263, -0.012974957788421051, -0.0031303864967105266, 0.021372544676315785, -0.02374843410263159, -0.009223416682894739, 0.005602822635394739, 0.02924898819473684, -0.014123551471890794, 0.019027650408421047, -0.005074793619605263, -4600031255263159e-19, 0.010498459563947368, -0.011094227593421054, 0.010249076817105258, -5753623577631579e-19, -0.005674418818421051, -0.00447285064486842, -0.005516097867105263, -0.007470266562368424, -0.005471375803289476, -0.006780112021052632, 0.007059772195657894, 0.0021554959672368413, 0.004705735464473685, -0.02317132775394737, -0.011564555390789474, -0.002422056378552632, -0.006380764081578948, -0.004005146213289473, -0.00794062262769737, 0.01414054164342105, -0.01016237577355263, 0.003978143405131578, -0.03655277326578946, 0.006158242906276315, 0.004217046339078946, -0.008940671309210528, -0.00673433677186842, 0.010728261618421055, 0.005998754786184212, -0.012994214264868421, 0.01220040680802632, -0.010796953655434208, -0.006105011632500001, 0.008011191312894737, 0.006423354985394737, 0.0012142853823684213, 0.009146709284210528, 0.022887410982105266, -0.022682944046052637, -0.020356859009684213, 0.010394592805789476, 0.022593094030263154, -7750265294736841e-19, 0.010491877809868419, -0.00632094335789474, -0.00435166075344737, -0.0033312799659210527, -0.013687921215789472, -0.0021700710893421053, -0.009265354446052636, -0.007450454793684212, -0.01119890545223684, 0.01885215469736842, -0.0016829954880263156, 0.004660542770078946, 0.01614547219013159, 0.0012384379707105267, 0.0012953595593421052, -0.019026688374473685, -0.012046473879210519, -0.01890812402105263, -0.0013315808465131577, 0.011091345418421055, 0.021520818015789468, -0.005630902795947368, -0.0019751528094210527, 0.016361938930000004, -0.006861605829210528, -0.0028363347098684204, 0.008591381667894738, -0.009064190686052631, 0.0019356226038157898, 6169263489473686e-19, 0.005576595939605265, 0.01869662389342105, 0.001262012349342105, -0.005366806441447369, -0.016217105081578947, 0.0016831897417500007, -0.0018950253057894739, -0.002175052982236842, 0.015151523774342104, 0.009984357328157894, -0.008543766583157896, -0.00730858755781579, -0.005671754766447369, 0.016222894231578945, -0.006877592555789474, -0.00339728109881579, 0.002327833744078947, -0.007433236152460526, 0.003641817336996051, -22983315413157884e-20, -0.018579861956578948, -0.002013661149605263, -0.0012221983013157892, -0.005588193124592107, 0.0017740131994736844, -0.005087314752105264, -0.0024032324010526303, -0.021181957791973682, 0.015352973211842105, 0.0014077697809210523, 0.01886358938289474, 0.0034620092081578944, 0.001262707815105263, -0.016702094776315787, 0.0024528663467105263, -0.015399577423684214, 0.013716609889342105, 0.008007916322368419, 17873636657894727e-20, 0.012559814308552636, 0.004152347459210525, -0.007167261042105263, -0.010308009533421052, -0.0118209450956579, 0.0034850848647894755, -0.01689842138618421, 0.02312426354868421, 0.018107834585526318, -0.005113781234210525, 0.0036598878982894733, -0.002219674033289473, 0.010094555771578948, -0.004721280503184208, -4728102780263162e-19, -0.005741379793631579, 0.004688492021052632, -0.009298409537368421, 0.021306954543421058, 0.002625481324473684, 0.0021689222906578947, 0.0016470091790789468, 0.021918357023684207, 0.01859015762499999, 0.008736974258815788, -0.007575892959605263, 0.0012198560669736834, -0.013031221881184206, 0.005416682665447367, 0.014852952819736842, -27517017642368397e-20, 0.01096887469118421, -0.0013455180846052635, 0.022272436745131585, 0.0067934349073684175, 0.012959732387171052, -0.02075517668026316, -0.0064723936585, -0.0038070007211315794, 0.0012372250631578945, 0.0050306169430263175, -0.006763357246763157, -0.006772821312763157, 0.010125664042499998, 0.002038023320000001, 0.011549378190657895, 0.0029378070836842116, 0.010960937982500004, 0.010825824704473684, 0.0021591957962631583, 0.04206184268421052, -0.024262397277631575, 0.008255900677763156, 0.009695903923947372, -0.007390906788684211, -0.008087284358947368, -0.021996855926315787, 0.011287301983684214, -5568711708289474e-19, -0.014932725518421055, 0.009245778972302627, 0.0015213949119210516, 0.009132084528947367, 0.016006044472368423, 0.011636527018026314, 0.006784626309736844, 0.013307319816763155, -0.0027379106158421057, -0.0020452238106578946, -0.004009475287105262, 0.010760948439342109, -0.008745640049473686, -0.003213084865263158, -0.002908590922105263, -0.008224298627236842, -0.01243814725003421, 0.002076089559092105, -0.009891295528947368, 0.002955430833842103, -0.026389982763157894, 0.00307576746013158, -0.019563673766447378, 0.0016621273825, -0.008313485993421054, 0.004804929035789474, -0.00549750888473684, 0.00505214069705263, -0.011755459830263165, -0.0024296008852631576, 0.00875007432236842, -0.008075735610789475, -0.01105359596322368, 0.0039991457536842105, -0.010148718380263164, 0.0025960758788157894, -0.010566656651710528, 0.012436943196578952, -0.016535537697368412, 0.01290098068868421, -0.01656991388736842, -0.007831062019144736, 0.005940865221447369, -9759450793421052e-19, -0.008620581310184207, -0.003005893026447368, -0.002761302409605262, -0.0030793885886842114, -0.006974357054078946, 9721991617105264e-19, 0.010942189804473684, 0.002026653777631579, -0.012401945011578947, 0.0033469499360526318, 0.018924720229473682, -0.005991988553184208, 0.0033316007316315788, -0.015320591599605263, -0.02128828745542763, -0.0022622942237697373, 0.0069056783826315785, 0.004446302767763156, -0.016207595330789474, 11362097776315657e-20, 0.008954130263986842, -0.010221943235789475, 0.014461354018157896, 0.0028590932341973686, -0.010514913011447373, -0.015841919529473683, -0.01389901701263158, -0.009229765706842105, 2461921435526319e-19, 0.020577489130263162, -0.022800926136842106, -0.0015163221825394738, -0.013809464157236842, 0.004897803686315791, 0.018522811494736845, -0.009630460222828948, 0.011984547498157897, 0.0111937101125, 0.015270678807631577, 0.0019252811815789483, 0.014758101361842106, -0.005758524065263159, -0.0021391250729868427, -0.010472078178684207, -0.012900316256973682, -0.0014497102297763157, 0.006431885074342107, -0.003826420850657895, 0.004125123941578948, 7190557013157885e-20, 0.005760016457894736, -0.01029894582407894, -0.014202551836842109, -0.008429392661184212, -0.004542960022631579, 0.004390327258289474, -0.017841332352631578, -0.02092670811578947, -0.011721044171184207, 0.001154552708868421, -0.008358092435263156, -0.009767428120921056, 0.00617505359518421, 0.004506490673552631, 0.0020017606636842113, -0.00796983946092105, 0.020977802086842096, -0.0075353952266447415, -0.007463197555921055, -0.012128650817236842, 0.019736432668421053, 0.002261451146973684, 0.004720614210526316, -0.009998388954473686, -0.005624677788552632, -0.022545385379078953, -0.001583800878381579, -0.002379242887671053, -0.006442413411381578, -0.00695587538394737, 0.0011264698367105268, -0.0045705394853947385, -0.0015821324533815784, 0.023414226677631576, -0.0012724761923684214, 0.023761430540263154, 0.0029503868397894734, -0.0033352330858684217, -0.011512791865657892, 0.00981099949723684, -5708729797368422e-19, 8188937956578947e-19, 0.010694227110197371, 0.008592401465789476, -35825991868421067e-20, -0.004266100294447367, 0.005692018715789475, -0.0033002098638157907, 0.004866896994999999, 0.01000889828684211, 0.006752862654868419, 0.0026472819757499995, -0.005589931472697369, -0.017258877186842114, 0.01836197345605264, 0.003980058679868421, -0.0020851821997368417, -0.006682193140302631, 0.008638199788657895, 0.01154588990657895, -0.0014030509926710529, 0.00623447043604513, 0.016997480921671054, -0.0076195284961842105, 9118090571052634e-19, -0.01740562824342105, 0.001625513271842105, -0.012645379938157893, 0.010188843557894742, -0.012510250708026317, 0.0014163581344342104, 0.007640950823026323, 0.009030281375263157, -6778679552631581e-19, -0.021454867002973686, 0.001957897549473684, 0.001193311223026316, 0.0027351965483684215, -0.05114138984210526, 9931653628947367e-19, -0.0034956210430263156, -0.011831037061315788, 0.010289316701315792, -0.006878016126315793, 0.004890278758947368, 0.005483033461842105, -0.01275958679236842, -0.01331795716276316, 0.003143929424078947, -0.0022857318045394724, 0.007633577711973686, 0.0021747185855263158, 0.005520500721710526, 0.008252045688684212, -0.014708749063026315, -0.010071718517500002, 0.004989717453947367, 0.017077984349605266, -8273659215789473e-19, 0.005120420113328947, 0.007857212020657894, -0.007720276348289473, 0.002462438197763158, -55125038157895184e-21, 0.004356982750105262, -0.00700954478736842, 0.008855195414342104, -0.007593518517105262, 5683125496052636e-19, 0.006104346186842107, 0.0018523006100263158, 0.011868568778421053, 0.008818247002631579, 0.007355409463684211, 0.014110024566184213, -0.004139245012105264, -0.008042714513815788, -0.008814672356447366, 0.010348661143157892, 0.008645756135526317, -0.0039321516707894735, -0.018719250872499996, 0.016164309558789468, 0.011362069608157893, 0.012222493691973682, 0.009424688908947371, -0.00664402617118421, -0.007866664878289475, -0.012993650039078946, -0.018103016852631583, -0.0065906644863157875, 0.004789760346776317, -0.014935053199342104, 0.014902569211842109, 0.004785409491052631, 0.007345346444473684, 0.003159245409736842, 0.01312098370328947, 0.006301784642499999, 0.005022653047368423, -0.002849895648684211, -0.0032933022748421045, 0.004350993063026316, -0.007350343983026319, 0.010007334274736844, -0.0028172315381578953, -0.011997126834394734, -0.005281044011052631, 0.017256082294736845, -0.026231524928157893, 0.001482624986578947, -0.01504677556723684, -0.006961093627631583, -0.009158235009605265, -0.010464971171052636, -0.012205843889473683, 0.013581314933421051, 0.024057515715473682, -0.026571698318421058, -39512425210526327e-20, -0.008364490104342107, 0.01043953546486842, -0.006329244778157894, 0.00677121107763158, -0.006404679137105265, -0.008498417039605265, -0.011997726845921054, -0.00819236379276316, -0.008719842036447368, 2480567830263159e-19, -0.009615319662105265, 0.010179268672105262, 0.010257863497157897, -0.002203600034342105, -0.014915970727368411, 0.010107625643947371, -0.0016536920541710522, -0.006636945585526316, -0.016858044851315784, -0.020209110402631573, -0.007010765250131577, 0.0073754879921052625, 0.019676440628368427, 0.010058316429868416, -0.026224092562236838, -0.010421548158342108, 0.004843649796842105, -0.018334794059605263, 0.007321559153421053, 0.014406508708157897, -0.013035912961381586, 0.008222181527763156, -0.002566978908289474, 0.009497600043981577, -0.0056751013231578955, 0.004298258599210526, -0.00134152910618421, 0.0017198262138157904, -0.00527642314413158, -0.006738037163421052, 8391017913947374e-19, -0.011822055771453949, -0.0023647280209210526, 0.018581314182894736, 0.0013511696361842105, -0.008034561226052629, 0.0050400383831578945, 0.011289238419736843, -0.01018335548486842, -0.008891896734736842, 0.007739089927236841, -0.014787865826578945, -0.017835246043026314, 0.0056641722032894715, -0.0059957612642105255, -0.006282649575526315, 0.016645820401710514, 0.002203326760921053, 0.0022889429653157895, -0.008153908865789473, -0.009116433642894738, 0.014059073972894742, 0.006152197939947369, 0.01395997850157895, -0.012334291357763155, 0.017010570389868414, -0.0063333831828947355, -0.0025206653310921056, 0.006800531193421053, -0.004048019489342104, -0.006107880013157895, -0.011589549206710528, -0.0023016446209210527, 0.018917020458026318, -0.0018317876103026314, 0.007985371543710523, -0.009285482378157892, -0.007067705323684211, 0.011150805990789475, -0.009777598592105264, -0.008635949183289476, -0.004163104284868419, 0.010232138396315793, -0.0019257375613157897, -5739201986842089e-20, 0.013092055408684215, 0.01974871008065789, 0.005587073321842107, 0.025888940701315793, 0.016139226412631578, -0.0011026304183986845, -0.006448130678552632, 0.0013506662108157892, -0.00879462901421053, 0.0067748442927236825, -0.002999273877368421, 5861502590000002e-19, -31988263750131585e-20, -9557692903947368e-19, -0.005667702506315793, -0.006468547942684208, -0.017199129730526317, -0.019429718929210527, -0.003644407856578948, 0.004087335838671054, -0.003677765850855264, 0.007942120783605264, 6586344227631579e-19, -0.0037614600624999986, 0.0055129023461368415, 0.011244061396578945, 0.005010426876315791, 0.0072596023613157885, -0.008378387808157896, 0.01193223011842105, 0.002783704421578947, -0.0018955311381578942, 0.016495522016315784, 0.0010300654348684207, 0.0029166797853947372, 0.0019548181412, 0.0034482197978947357, -0.01597233675447369, -0.004172262047894737, 0.004349557685394737, 0.0057765581432894725, -0.017049438059999998, -0.004525430396052631, -28143429157894773e-20, 0.008926862911842108, -0.01706470510842106, -0.009343251894078945, -0.014551790916315796, 0.0037077234910526317, -0.024520926263157893, 0.005740144142368422, 0.0053956368143421056, -0.005766834186973687, -0.012353098134999999, 0.005150600744473685, -0.002591634655236843, -0.0034600672671052644, 0.020232129807894742, 0.0019706625393421055, -0.021094935969078955, 0.013562589856578945, -0.01982315960263158, 0.0022789787307368413, 0.0030350554696052627, -0.0023380354609868425, 0.0016429701249999996, 0.0013748243807894737, -0.011015212538802624, -0.01045923693026316, -0.010230515132368417, 0.0031865286891710532, 0.019525663493815786, -0.01229977110328947, -0.01392738180263158, 0.0047192255380921035, 0.009634271472381582, -0.0036637588399210516, 0.01367465738263158, -9074315167105264e-19, 0.009034615510460526, -0.013227085239526318, -0.008698134963421054, -0.005679745975289474, 0.016064328626710523, 6854882098684209e-19, -0.02409260117894737, -0.029390496973684222, -8429490286315783e-19, 0.017532396812105267, 0.003992892611842105, -0.015176699562894741, 0.017688143694565794, 0.015704753903289473, -0.006714242723157895, 0.006966373187026316, 0.014712872807894739, 0.0048426642788421065, 0.004560759092499999, 0.014764954930526316, 0.007755880210394735, -0.0063704605949999995, 0.013370230355131577, 0.006058873911578949, -0.007236065584644737, 0.02192650811447368, -0.0036055442649473683, 0.017262371172368424, -0.019675186598421057, 0.012352453031578945, -0.019395975741052625, -0.005476996759473683, -0.003981952255394738, -0.019128493134342103, -0.006420192784736843, 0.00663706127763158, -0.00931713626539474, -0.004438600155394738, -0.0074747220036842105, -3532221511315789e-19, 0.003786715305789473, 0.002143004024210527, -0.013259830103026315, -0.019481669799736843, 0.0063924609735921045, -0.006268689519868423, 0.011194401769210527, 0.014244597600921052, -0.009581357068684208, 0.015704279303947365, 0.002868509497368421, 0.009993456976842102, -0.009288659571184214, -0.00567008211111842, -0.0016774708461842105, -0.015881515857631583, -0.0031357240957894735, 0.009431347011250004, -0.02115866819605263, -0.002224235694342105, 0.016286955564605264, 0.007042988388157893, 0.002287434175, 0.010197640378157893, -0.005280943861578946, 0.0014105266302631581, 8359535263157892e-19, 0.0047502692026315805, 0.013299677349078947, -0.0023519426788157897, -0.004674174603421053, 0.018177119728907887, -0.0014176172173881575, 0.007134867282894738, -22741002690789458e-20, -0.022838398981578946, -0.003212089612105263, 2004287202631577e-19, -0.022176862091973677, -0.020671407409605266, 0.009063825494342106, -0.016635621425526326, -0.008275760027894737, -0.010347646235000002, 0.009041304183157893, 0.0051814241601315794, 0.005795941738552632, -0.006237753602210528, -0.004308292899078948, 0.027939477830263154, 0.0022927221325526313, -0.009122603172894738, -0.012685393528368422, 0.035720136647368415, 3721588992105262e-19, -0.015025574779078942, 0.0087486222525, -0.009074244906710525, -0.01173346431697368, 0.012090590483960533, 0.016366954857105268, 0.011179668721052633, -0.0073358287721842115, -0.007733899611315792, -0.003457529575921053, -0.006236338289078949, 0.005774385420526318, -0.018860930085526313, 0.01522345625828947, -0.012091792738157891, -0.004068704780263158, -0.004178824925921053, -0.013820312269210535, -0.01096366969644737, -0.004025642653947369, -0.024534325314078946, 0.006440052884473688, -0.016726629586052633, -3620708957894737e-19, 0.0047140585557894745, 0.0018035156026315793, 0.0048402487059210535, -0.00438187360013158, -6329667841710535e-19, 0.013023098627184216, -0.0015603331286578957, -0.0015727194086052627, 0.015044479001315789, 0.003913626584973687, -0.011406708371973688, 0.009567988548947368, 0.0048712744065789486, 8060304496052634e-19, -0.0027007557632499997, -0.007984334569848683, 0.0035786119902631594, 0.008549296575394733, 0.013448384334736838, 0.003980597008986842, 0.0027732479433552628, 0.0022548364651710537, 0.01305019627302631, -0.010885881758421052, 0.0046425705302631575, -0.006159144808684208, 0.0016908100748684212, 0.010177649750394735, -0.00148574499868421, -0.007758489989078948, -0.010132687943157893, 0.010328826282539472, -0.007675625043065791, 0.010875474622368417, -10961718381578953e-20, 2469314122368423e-19, 0.01456813955157895, -0.002258910603421052, -0.006317790170921054, 0.008751932444473686, -0.009791627398947367, 0.015247204259210523, 0.010811477365789473, 0.006444553805289473, -0.009046801008342103, 0.0030660862369736833, 0.020425601981842102, 1083259947368725e-21, 0.024182386267499998, -0.017303176044473685, 0.006597084168552631, 0.001865562837526316, 0.001028871313631579, 0.01472760354684211, -0.0075378481717105275, 0.010146784916184209, -0.007357307590657895, 0.015889662872500005, -0.0010280143740789473, 0.008057754063236841, -0.0017568669571052641, -0.004133698758421052, 0.007827215762368422, 0.03512832019999999, -0.00993780903394737, -0.004260993277631579, -0.008866919430526315, -0.012339414527631576, -45847830315789447e-20, 0.00838245042193421, -0.016904068641184215, -0.01032341292509211, -0.0179430145493421, -0.005017911380025, 0.004198584343289474, -0.012134608429342105, 0.02621189465, 0.021764919877236843, -0.0016967839548684218, 0.0064469595144736845, 0.0015113159294999998, 0.01449087951447368, 0.00908490776328947, 0.0021144275999999997, -0.0023710569351315784, -0.012429141851184206, -0.007313173065394735, -0.003165631556907895, -0.005191618546052632, -0.00811820481360526, 0.006263298302894738, -4727746834342098e-19, 0.01215529816414474, 0.005959134763223686, -0.003053097290263157, 0.0022509379385526307, -0.012437947575526312, -0.017363427211052634, -0.0044620109, 0.01702834882368421, -0.0014438623280263164, 0.007209018304078949, -0.005530027731842105, -0.006350269325728949, -1933061736184215e-19, -0.012560664186842102, 0.021907004355263156, -0.00368476647618421, -0.008714235420315792, 0.006064745458157897, 0.004239938750368421, -0.003381502998157895, -0.009450509392500002, 0.021473245165789474, -0.006664313856578946, -0.007727308110131578, 0.01755496648539474, -0.008046387513815787, 0.004243436594473684, -0.0018419240855263163, -0.002696314727236842, 0.00458863617605263, -0.009136615755921052, -0.01227240456026316, 0.007315492906276317, 0.001563661388157895, -0.005130049675394736, -0.002669057950473685, -0.0014561823650000002, -0.005081315489473683, -0.019940945634210522, 0.0020929494719736843, 0.004403723249342103, -0.03075529604868421, -0.008624309510289472, 0.01228930504118421, -0.009409504784473681, 0.0011323868934210513, -5501856157894726e-19, 0.011253276619736843, -0.005881537943934211, -0.009128014259078948, -0.002782203197434212, -0.00439761305381579, 0.018774566821052625, -0.011816556899605264, -0.019359096755263157, -0.009348714950473683, -0.0010719945900657896, 0.010479289703256579, -0.011939962278157891, 0.005665995433736843, 0.006774268349210528, 0.0034390900013157896, -0.008370486944868423, 0.017960268711842104, -0.0040098660762236836, 7006663912157889e-19, 0.0015448419175000006, 0.030164748171052642, -0.013288672209210527, -0.0194342324281579, -0.014333865537368415, -0.0010687613120394742, 0.006369927146184209, -0.02037403711921052, -0.0011595645836842109, 0.012291525279210526, -0.004659846724868422, 0.014351864156447373, 0.004539899117368421, -0.011356260933815792, 0.014434559298684207, 0.003388873248815791, 6091339384210531e-19, 0.009991929092763158, 0.019049285447499998, -0.007336658402000001, 0.01645323191407895, 0.011546428464605267, -0.003781113732894739, 0.01016362579592105, 0.003369438427763157, -0.012699591561842107, -0.027960629820000003, 0.006582685929197369, -0.0014268903726315791, 0.005638759550394738, -0.006515546567039474, -0.004676419364394737, 0.008950068268947365, -0.006762236009210526, 0.010658080675000004, -0.005891587223157895, -0.014665679521842107, -0.013644553504473684, 10368947013157792e-20, -0.007762898519210526, -0.01131838790855263, -0.00988497489276316, -0.0072114894752039445, 0.0027077467686842105, 7480073221052632e-19, 0.001175619631578947, 9005636573684216e-19, -0.017333229999605265, 5094909162236838e-19, 0.012029732047368418, 0.009794908618684218, -0.01157117548918421, -0.009239849182894735, 0.005636658962236845, -0.008340407034210524, -817503516907895e-18, 0.003921638921052632, 0.005545640947368417, 0.014569629413078954, -0.00717244047236842, 0.00835087193605263, -0.008531247800499998, -0.004064330462, 0.008101339765526315, -0.01701503037605263, 0.004955823044473687, -0.0022204531394868425, -0.01208521188631579, -0.002832061093026315, -0.002318643040434209, -0.007110677303947368, 0.001033564958947368, 0.027433827638157895, 0.010220588290263156, -0.007394786349605265, -0.006538531349210523, -0.0022718601860526317, -0.004229559157973685, 0.005938436034868422, 0.01048373804263158, 0.00986031018078947, 0.020336058257894734, 0.004668691585657895, -0.011039444343815792, -0.03195965501315791, 22211712236841965e-20, 0.004621380856581578, -0.0032872489723684223, 0.0022427985402631574, 0.009466410571710526, 0.017591113605263154, -0.004106379021052631, 0.006385616363748682, -0.0040017953515789455, 0.0012984135143552632, -0.0013681684519605262, 0.006150785983582896, 0.02349364751052632, -0.003507428290921053, -0.023245202525000005, 0.0073350322506578955, -0.012751762621973684, -0.009509772432105263, -0.011624634206315787, 0.008383111918289473, 0.008738430290394734, -0.0019306551646052629, 0.004987825924447366, 0.0067051984610657905, 0.010962145944078953, -0.006160766227763156, -0.01599381954276316, -0.005996254381473684, 0.013413042621052635, -0.016699554863157894, -0.00425797138263158, -0.002346582932368421, -0.003454997969210526, 0.015414278531447364, 0.0020144495526315796, 0.004778662968414474, 0.019607659189473686, -36090899996052645e-20, -0.008492139364605267, 0.007747498233499999, -0.0013514066389473686, -0.013021238629802628, 0.02135893455000001, 0.0050934569453947335, -0.005380931788039476, 0.0034462612061184213, 0.002471601183026315, 0.0018443146213815793, -0.005110344829342106, -0.014184218227105262, -0.0043937764976315795, -0.004010257807763158, 0.007609986475131577, -0.0017383072384999994, -0.008765348437499997, 0.006436899067289473, -0.005252098280921053, 0.0012666882906842106, 7271012838815791e-19, -0.012168801171973687, -0.006950649873815789, 0.006179354461447367, 0.008584705725921056, 6826743815789457e-20, 0.005478510884342106, -0.001656087406842105, 0.004353472659210527, -0.007852758323026314, 0.00774670264888684, -0.004548253065789474, -0.00872336939763158, 0.007497302493421052, -0.003937119212631579, 0.005084670148232898, -0.006804365856578951, -0.004160022079342104, -8716827518421054e-19, -0.0018917191575000003, -0.04542618686578948, -7962240394736886e-20, 0.005303945623421051, -0.0010489784114473685, 0.0040561710610526325, -0.005575023273947369, -0.014307941818026318, -0.005483095651842106, -0.0036865826026315804, -0.007326996465921051, -0.007258892687710523, -0.017002108826973682, 0.0026596006468421053, 0.007241479605526319, -0.006855145818736838, -0.007547068765263157, -0.011135433282763159, 0.015574704355921056, 0.015176253521052627, -0.006872319883815792, 0.0017937790452631581, 0.0012157494165789468, 0.007882637975789471, 0.003405427387894736, -0.004297595478375, 0.017864616917368424, 0.0030970381859210523, -0.0023354204692105267, 0.0017386867781578944, 0.02049815361294737, -0.00913410340657895, 0.01556748598855263, 0.0014741332142105261, 0.00888697265651316, -0.008259757955789475, 0.010162209150921054, -0.015258628212236844, 0.007913002543421052, 5999896474736846e-19, 0.010361211858157896, -0.005668571334210528, 0.009625429015263158, -0.0104467670125, 82077470868421e-17, -0.0016111464500000003, 0.011819657311842107, -0.010997043170815787, 0.026556267275000003, 0.006691072826710528, 0.020695954338157893, 0.003105390495, 0.007586750871802631, -0.006386726654605265, -0.02003319237539473, 4345854440394738e-19, -0.008994508450263157, -0.026183591028947364, -0.002199864392631578, -0.0028300363084210523, 0.008933973642105263, -0.004872168878026316, -0.010508434657894736, -0.030814126236842106, 0.003977499332947367, 0.003367798314605263, -0.008800812126184209, 0.03421133572763158, 0.036882231234210514, -0.009774976162894739, 0.014867376786052633, 0.01847335194828948, 0.004703114508157895, 0.004981278706842106, -20820300881578947e-20, 0.0023825047832894738, -0.006051949050131578, 0.005748253940526316, -0.048717287638157886, 0.006936276815973685, -0.00717120160088158, -0.0011371543828947368, -633878522763158e-18, -0.009472156436842108, 0.004011299037763159, -6579590755328946e-19, 0.006974676819078946, -0.005393841788815792, -0.004757979923842104, -0.0033050710856578945, 0.011350404267631583, -0.007076194413157896, 0.0017202756382894743, 0.012773173556842102, 0.0030848825621578946, 0.0027823394973684207, -0.00670719708276316, 0.005835784166710526, 0.006515324253026317, 0.008066022838947366, 0.001960170838894737, 0.0051619980871052615, 0.0026211382473684216, -5182459471052627e-19, -0.0027954785167105234, -0.004234536522631581, -0.009315601918947366, 0.008809953131578951, -6880571447368561e-21, -7682047319210527e-19, -4287664078947533e-21, -0.008450649188421052, -0.0035262061703947374, 0.012014457226315788, 0.00802163259636842, -0.014263569363815795, -0.001529443673157895, 0.0038201108919736853, -0.0021061006564999994, -0.006485662478921053, -4953983351315789e-19, -39382826565789427e-20, 0.0028122849150000006, -0.012065431929342112, -0.004557107439381579, -0.004202265546447372, -0.006648211306315786, -0.0026814599381578944, -0.004716990799535528, 0.011677914061486841, 0.0054311442510526315, -0.009687709625394739, -0.00401446957026316, 21303643315789461e-20, -0.004548820044210527, 0.001488740388592105, -0.008498280648552632, -0.009067142177105258, -0.001475207605789474, 0.003382969827236843, -0.003364108026184211, -0.015231927833026314, -25714068360526294e-20, -0.009678724665486842, 21494394868420982e-20, 0.0069928910540789455, -0.009154249508157892, -0.014927330287236848, -0.04244073076315791, -0.009253368699736841, -0.007564927833815789, -0.006217242748684212, -0.007667895968815788, 0.012352994166578951, 0.005073167429381579, -0.005000820531315791, -0.01045439083394737, 0.0015025571015789476, 0.0064443839557894724, -0.007921140097105263, 0.01298356292368421, 0.022927954959605267, -0.005738576246052634, 0.01002808020881579, -0.0017933789327631581, -0.0036308607342026324, 0.007852910432894737, 0.008723654298289477, 0.005285313737631579, 0.013029228591842109, 0.0033245363744736855, -0.00546107157763158, -0.01238937413552632, -0.014016715163947365, -0.00480338421131579, -0.017565224993223685, -0.0010297757147368421, 0.0190754480131579, -0.016528817848684218, -1554027478552634e-19, -0.0033909335259210555, -0.02275056143078949, -0.012455294898723683, -4695065194736842e-19, -0.019497075148026316, 29407749652631535e-20, -0.004932486893276316, 800515078947368e-20, -0.019466739034210534, 0.0011483287201315788, -0.006102988706842104, 0.004115763767592106, 0.004177756370252632, -0.002618433127763157, -0.00537044665544737, -0.011829460742671057, 0.00692578045657895, 0.006913495407763157, -0.0012394369451315791, 0.004177181062190789, -0.004855147448592105, -0.009354103443947366, 0.008475817234342108, -0.0060853426540789495, 0.017770833389999994, 0.010468942911184213, -0.006522560685973683, -0.015092426563342105, 0.008636236548684206, 0.004441229959605264, 0.005320611943289475, -9800074276184207e-19, -0.010191143523026322, -0.007796377074999998, 0.005595688935526317, -0.0016283605736842112, -0.012121330430263163, 0.008727131922578948, 0.002284515743368422, 0.002682018403026316, 0.02112667354078947, -0.013087226411842108, 0.011961740068421057, -0.0029621327447368426, -0.00711086599605263, -7157445806315789e-19, 0.00296389472118421, -0.002106245437236842, -2060961381578952e-19, -0.0023762942430657894, 0.0067748971048684214, 0.02305358949394737, 0.024209113952105267, -0.0010323672338157883, 5835666469736843e-19, 0.0011928865788157893, -0.013926641433421053, -0.0010454462015131592, -0.008992499685921052, 0.005833304399473685, 0.007247240086842105, 0.007005285494078946, 0.00532119499868421, -0.002409817022763158, -0.009118484332407894, 0.00902553582131579, 0.003644393953815789, -0.001458669926578947, -0.007759722557236839, -0.015974711869276317, 0.005593415395263159, -0.00699891096894737, 0.013671992413157898, 0.0030071592296052633, -0.00725996611631579, 0.00831834310973684, 15080351578947707e-21, 0.010492338298289472, -0.011587350163157897, 0.007662332826842105, 0.008755792813026311, 0.007074787369210524, 0.01825972633684211, 0.005628270758078947, 0.013933462579342108, 4695127519736841e-19, -0.016538577678947376, 0.013688757842105262, -0.00958296806763158, -0.01084689514210526, 0.004655695267894736, 0.002764839804828948, -0.008966435890710524, 0.01818742012328948, -0.002021167613421053, 0.011088005707894739, -0.003949641440789475, 0.016206056167105264, -0.018271099290000006, 0.012128778174342108, 0.016409871427894733, -0.005132905442789474, 0.013977325583552627, 0.0027061513397368423, -0.030432116805263153, 0.009202131592500001, -0.005219011863552631, -0.02768622942105263, 0.005146511143078947, 0.016741514684210528, 0.008617631309868421, 0.001446558946578948, -0.010973319831578945, -0.002393318402447369, 0.0025146223098815794, 0.002058704305, 0.009670727197499998, 0.006972026925486846, 0.007941592818026316, 0.006313998498157896, 0.004550358204605262, 0.019503475739868426, -0.00808706035526316, 0.0014521665658289477, 0.008814657770526316, -0.0034991419792894736, 0.001152647225789473, 0.0035165233944736848, -0.008015521834605265, 0.0030662299349999986, -0.008316208095789476, 0.0018460274468421055, 0.010874037769736845, 0.0019301458946052628, 0.014981398493289479, 0.0063040013951315785, 0.0011182811667105259, -0.001531185306381579, 0.007286755069710524, 0.007252432990381575, 0.005447569480263158, 0.005672717215565791, -0.011183678003684212, 0.0010281094409210528, 0.0037040489348026313, -0.018558228386052637, -0.0024118456417105264, 0.001912976863157895, 0.004824422551335526, -0.007085397379605263, 0.010146420386052636, -0.012797370635526323, 0.005280684883421054, -0.007430231397421052, 0.0012657216987105263, -0.003414122816315788, -0.001953577547894738, 0.004944337450526315, -0.009499839262763153, -0.007726497248157897, 0.02043591631578946, 0.005235241476657896, -0.016428867193421043, -0.02316521289473684, -5283661032894735e-19, 0.0039097042727631575, -33895851092105274e-20, 0.01083217157236842, -7426432255263161e-19, -0.00391929611618421, -0.007359749506882893, -0.0035571319606578938, 0.012559667453289472, 0.0058923027007894745, 0.015785403049999997, -0.013460644672368413, 8476099292105275e-19, -0.0033159500932236833, 0.008975023673552632, -0.01474813875868421, 0.01023825899394737, -0.01589566984736842, -7458934167105253e-19, 0.015296658677631575, 0.008350472782171053, -0.01303794148592105, 0.009825855495394734, -0.0031653390423157907, -0.0023992715984210533, 0.012867784544868418, -0.007730846508157893, -0.008233608065789473, -0.00578186875105263, 7660654657894731e-19, 0.007309484258749999, -0.004728002686184211, 0.024414807685526316, 0.07103057530263161, 138350805131579e-18, -0.0227730847868421, -0.002000239483157895, -2523412961842105e-19, 0.0036002593248947363, -0.00960461145763158, -0.014719047412763165, -0.010525172183026317, -0.008946292160657896, -0.00487614558486842, -0.015348885583552638, 0.005484280077631576, 0.0047399032012368425, -0.011332118468552635, 0.018375535672368423, 0.0028248364129736837, 0.002669773003710525, -0.013733811623947365, -0.012085463925657897, -0.005202895044802634, 0.0011071545386052636, 0.002822448957105263, -0.005775769501039475, -0.007958374655000005, -0.012961527270999999, 0.008736424775394736, 0.001623934084342105, -0.0029857376405, 0.006539750386447366, -921088730657895e-18, 0.01011317570105263, 0.004816758724236842, 0.01006797531394737, -0.024919923669736846, -0.013252434965131578, 0.004975805359868419, 0.0028436151710394737, 0.026767861371052633, 0.01679312495263158, 0.0029180558214473695, -0.01334025122631579, 0.006395531258157895, 0.012167909879868426, 0.0010437845743947376, 0.015899900866315795, -0.015891970886315786, -0.007016795418947369, 0.005720414304868421, 0.014279509605394737, 0.011842180225789475, 0.012174502878815788, -0.004032991572842103, -0.01191846249868421, 0.006569720230394738, -0.007758679420881577, 0.008243021787499999, -0.0056768207752631574, -0.010259304986710528, -0.005975154729605264, 0.022218811560526314, -0.01284212495, -0.0043886743385526325, -0.007587261113289475, -0.00100997453736842, 0.007466683218736842, 0.0017474622250000002, 0.011411024255263157, 0.007287669592105263, -0.011071793518989473, -0.007791523718026317, 0.0024424171717105266, 0.010883432589473684, 0.017893625253684212, 0.008674725273447368, 0.00948412372276316, 0.004439929401005265, -0.012966921410526314, -0.009952035897894734, -0.009481836221250003, 6631337719736842e-19, 0.013784739155921056, 0.01274559315868421, 0.015312255263157895, 0.014739994169736837, 0.001961665102973683, 0.016666361813815787, -0.01601210714707894, -0.003862630162710527, 0.0017456178976315803, 0.002383359211842105, 0.005658344708289475, 0.02028012731447368, 0.0038586854298289478, -0.003930425682236844, 0.005947570116842103, 0.006645788041973682, 0.00593962558863158, -0.0055098527475, -2709300878947366e-19, -0.02526451096052632, 0.0034957235959210526, -0.004797192927499998, 0.010852291108092103, -0.0024250138515789464, -0.008193180311052631, -0.006060304734868421, -0.005015898619736843, 0.009915213199078949, 0.0049576433317105265, 13137401934210517e-20, -0.011906290325000004, 0.005487915484868421, -0.0026353010490789476, -0.006053524171552631, -0.01679510672763158, 0.0019228737013157898, 0.01702610227171053, 0.007407213732763154, 0.001119691041315789, -0.0041095490676315806, -8301038464210527e-19, 0.0033998062114736845, 0.010597575788947365, 0.014257269136842107, 0.007372944618421052, -0.0035281079432894734, -0.017203723107131575, 0.004068165850842105, 0.00382046129631579, -0.011138788382368418, 0.01527541427763158, 0.01094105444394737, 0.003186118735263158, -0.011153858221842101, -0.001682062516447369, 1102902368421087e-20, -0.007634609815394738, -0.0024121695576315794, -0.004676494936184211, -0.004374885159342105, -0.004125291510394737, 8512605788947367e-19, -0.015911860113236847, -0.01630071632578947, 0.0075893821925000025, 0.016570409282894737, -0.0028060973136842106, -0.010812139536144735, -0.0035154795997368424, -0.007599472084868421, -0.0027118450077763152, 0.003790211149736841, -0.0016624428627631574, -0.006025105557500002, -0.00271212489868421, 0.004819238931578948, -2838972343421054e-19, 0.008508885079999997, 0.0037412741409736843, 0.003480958837938158, 0.01989113539539474, -0.007170555643552633, 0.007131082274999999, -0.00324891509618421, 0.017624990426578946, -0.008696587564605262, 0.009625076661710525, -0.003385572580052631, -0.0011940798148684204, 0.013382737070394736, -0.0019341717852631578, 0.014078404609210527, 0.006157531654513156, -0.00436843442881579, 0.010804814319078945, 0.016877812977368414, -0.004866282633157894, -0.004019908407105263, -0.008622002943026319, -0.001156913919736843, 0.00860937810460526, 0.00854736410960526, 0.006645876394210526, 0.006044397847105263, -0.0029129494269078955, 0.005728795454605264, 0.003868690374868421, 14415561068421056e-20, -0.011550837929210526, 0.0024273528732894744, 0.01675736555552631, 0.008618001551842105, -0.009086696278947369, -0.0019255664260000005, 0.017823474286842108, 0.023852092268289476, 0.005640211945657894, -0.0157103212696579, 0.002671248446973685, 5732126974736841e-19, -0.003747782739723685, -0.015167234880263156, -7942613815789339e-21, 20631670931578946e-20, 0.005739634929078944, 0.008089517185263155, -0.005618019369960528, -0.004716671923026316, 0.002440650008157895, -0.013887452536578948, 0.010245098745394738, 0.011824351372763156, -0.005547870031710528, -16388543065789472e-20, -0.0074466632465789466, 0.00498810127631579, 0.015039879665789478, -0.0040669246943421085, -0.005869341766447369, -0.024218201709868412, 0.001695024713552631, -0.005041553392631579, -0.00783228454736842, -0.005132145636842107, 579431247268421e-18, 0.0026811771932894746, -0.007146641212236844, -0.008457516277105264, -0.015692255188223682, 0.024690377132894726, 20765250613157882e-20, -0.0020539644646052624, -0.005768370673684211, 0.003702322850921053, 0.004201434479473683, 0.0028723328136842103, -0.014360589550263161, 0.003967806877105263, 0.004476002342671051, 0.004944308020131578, -0.01157276546618421, -0.009082047036973684, 0.0036693403972368425, 0.009826728072236843, 0.0074656336861842094, -6485088782894734e-19, -0.0014051343403289473, 0.007369758026842101, -0.010425479788289477, 0.01821328323157895, -0.012023113507986844, 0.001740522146710527, 0.005332594062894738, -0.001378770888421052, -0.015753834223815794, 0.0076369660996052635, -0.014926969834157896, 0.0038507784668157883, -0.0041886614165, 0.005354455710657894, -9931518065789487e-20, -0.002756159138157895, 0.014061157835657897, -13951124842105257e-20, -0.013132667226578947, -0.0019348305806052633, -0.009907254651973684, 0.009314450074276314, -0.006995864365000003, -0.004312180836447369, 0.004297729036710528, 0.0047553823486842116, -0.00931211325394737, 0.021702308997368424, 0.007112765311718424, -0.008150883757249996, -0.0015760545419210529, -16017972894736844e-20, 0.0012709232195131578, 0.008913342906302628, -0.009902096786842104, 0.03158665600926315, -0.0043072190056578944, 0.007661704021052634, 0.004888625593815791, 0.003962992540921054, 0.004328961708421054, -0.0062252458030263155, -0.0073411886288157905, -0.002077252053605263, -0.011778288789210526, -0.00824901193289474, -0.0036174059680000002, 0.008596170780328946, -0.007529505605394737, 0.00450591202768421, -0.016162284833421053, -0.006285099551315791, 0.01741020744342105, -0.004753392869697369, 0.004862889815131579, 0.008373598259, 0.007595550645657895, -0.007107993389473689, -0.008475462659473682, 5595674320263158e-19, -0.0034365798056578915, -0.016078184318421052, -0.010819015256052633, -0.0018932811597368428, -0.0060824286468421015, 0.009014217587631579, -0.005298673378684211, 0.0020203203051710524, 0.0023555486237763156, -0.011414600681763159, -0.029000318375131576, 0.012605560375, -0.015203555485526316, 0.013647403227894738, -0.008804857755526316, 0.008642128292289471, -7019206473684211e-19, 0.028421054261842115, 0.010750185311184211, 0.004273382298328947, 0.014962174191052634, -0.0091029727825, 0.004545577043947365, -0.005067943168815789, -0.008576309225131579, -0.009371516520921051, -0.003953041012539474, 0.0026335486594868413, 0.0010443595075789475, -0.006137380078947367, -0.019068207819210526, -0.0066171946843947395, 0.0154603859943421, -0.03956156613026316, -0.005423286051376317, 0.0064764647446052615, 0.017917068601973684, 0.018834929819078944, -0.023795076729473678, -0.005232680938421053, 0.007063256785526317, -0.002471332747368421, -0.005540072479078948, 0.0030247992273684196, -0.041372428210526314, -0.022792676082894738, 0.01496056775592105, 7162006171052637e-20, -0.0054049346089473675, -5917285729473686e-19, -0.006140541838736841, 0.01165498020263158, 7520184688157894e-19, -0.004048719246052633, -0.004093513149078948, 0.001113782621578947, -0.00515289844513158, -0.014532121503749999, -0.005462963103684211, 0.002013934241710526, 0.006934004597374998, 0.011849665684605267, -0.02845128821973684, -0.0027645604678947374, -0.029641802678947365, 0.005846543234157898, 0.004001273209868421, 0.009660376192697369, -0.01431830397552632, -0.0034636234957236833, -0.015780388346842117, -0.0061515257567105255, 0.011677517784078944, 0.011294756013947365, 0.009406988080263162, 0.02362260060394736, 0.006315555671052633, -0.00983715779947368, -0.012793336953947368, -0.010380582411513158, -0.005019749015, 0.004049450225131579, 0.017717702139473684, 0.012014558753947363, -0.004216072575789474, 0.012309840076065792, 0.003926167156578947, -0.011685566748684212, -25353602302631577e-22, -0.005299348902368422, 0.007730379013289471, -0.0027699679941184216, -0.0069104686293421065, -0.002654266115921053, -0.012859640121842106, -0.0107146154105921, 0.004399860249078947, -0.006205988169868421, -0.002287691709381579, 0.0022477117532631575, -0.011032372216710525, 0.0038386147140789476, 0.017001313835526322, 0.003409522446052632, 0.0038818556153947365, 0.0010723420983289483, 0.007902039610460527, 0.0023776093863157894, -0.006922669011657895, -0.012493596986842102, 5051128443421054e-19, -0.003519559938197369, 0.009428645297631578, -0.0010605874422368415, -0.008557814389473686, -7813989881578948e-19, -0.008372406573684214, 9731762513157829e-20, -0.008460361298552634, -0.0022174336363157904, -0.008624776876973684, 11917679249999991e-20, 0.006416730669828947, 0.008520198330263157, 0.012873614050657895, 0.011955042275394739, 0.01041146601725, -0.007033908750526316, -0.0016643551606578938, -0.011975207748157898, -0.010176406554210527, 0.0046722559355434215, -0.019248556189473687, 0.012035626013513158, 0.005876074411052633, 0.0023601008795000006, 0.0017393916595131586, -0.006760177633552631, 0.0037472353740789477, 0.08577118239473684, -0.004266319282368422, -0.0071308153913157875, 0.002913963492236842, -0.011218220720921051, 0.0016349006751315786, -0.0019050253921052633, -0.003319563322894737, -0.004499976557500002, 0.009833074842368417, 0.007605858973947369, 0.005772069280921054, -5503060188947367e-19, 0.013013069021578944, -0.0034565342047368423, -0.01143237421848684, 0.01110795669013158, -987561984539474e-18, -0.006423849459473684, 0.00217356449263158, 0.0010567873492894734, 0.014532239263815788, 0.010447370052631582, -0.00759626205513158, -0.0022266032110526313, -0.008538287243881578, -0.01131031077157895, -0.015313536264473682, 0.005158005157763159, 0.0030549536626315785, 0.004764115755657894, -0.012034718590789474, -0.006626763940263157, 0.009110119795921048, -0.002301413071921053, 0.015578638884210528, -0.005167726482500001, 0.02117604996315789, 0.008285337067996052, -0.007844231455157892, -0.01983585482868422, 0.008469638907236843, 3119132776315813e-20, -0.001960619750092105, -0.0174250582075, 0.0024971948229210532, -0.009844892709210526, -0.00997894878157895, 0.008923550396710523, -0.015006534729868421, 0.010365114785526321, -0.01453934758578947, -0.003352099966710527, 7359328694736843e-19, -0.010912618383552628, 0.00553644026263158, -0.0020364845940789474, 0.01638792804421053, -0.002702654283236842, 8317131059210523e-19, -0.0062164165, 0.01416901248881579, -0.001157289313026316, 0.0015120998847368426, 0.018197012598026318, 0.018230856374999993, 0.0013759326027105259, -0.0022414605464473685, 0.010594263889473684, 0.0032048177697368407, 0.0015967663478421053, 0.005898981746447367, 0.0026566908555921056, 0.007526576979868416, 0.006680355165921054, -0.010573069984868419, -0.0037745313918421054, 0.005754974540473685, 0.008721350822763157, -0.004220488521921052, 0.007543852856315786, 0.002001725290789474, 3765012028947365e-19, -0.005974376834473688, -0.007132448870578947, -0.008149476120263158, 0.020858640447368428, -0.0026150683706578945, 0.0025981752977631586, 0.011055772810526318, 0.006417484732236842, 0.02127346352631579, -0.010789793555, 0.0018354179835526315, 0.01635032267421053, -0.00914016103246053, 0.00721719150447368, -0.011749975486184212, 0.007983058785, -0.0025599285438157905, -0.02525250945921052, 0.016565419086578947, -0.0049727678667105275, 0.016954254666710526, 0.0072252290184210526, 0.00663506177881579, -0.016708790731052633, -0.019179279734736834, 0.0036575822153815793, -0.0036278681642105243, 9362055535526312e-19, 0.003667399366578948, -0.005599063442105262, -0.001710235229973684, -0.0020441094883684213, 0.008895651518289471, 0.011197020705263155, -0.0096675727705921, 0.0048109815131578935, -0.009713690278157895, -6161499026315836e-20, 0.013903376549342109, -0.0037505515171052627, -0.004402282192631579, -0.00803135064986842, -0.0022901599207236834, 0.0028172990298684225, 0.005441962186973684, 0.008157506930394737, -0.005246615045631578, 0.0017373259923157893, -0.011001224905657895, 0.0012983470696052632, -0.01309617162052632, 5287650694736846e-19, -0.012678124126447364, -0.004449979991315788, 0.013012943638552632, 0.002311609178421053, 0.00852208751355263, -0.0021326908651973695, 0.006498695877500001, -0.012073736925131582, 0.010822192646592104, 0.004732820625263159, -0.003690172558684211, -0.009818942454868423, -0.00727969328513158, -0.01263686636618421, -0.003183486671921052, -0.009880075140921055, 0.002198814761578948, 0.013470662695263156, 0.00607287450868421, -6002962989999996e-19, 0.008114174997552634, 0.011275753842105262, -0.005673379224736841, 0.0031662297654605257, 0.0028777117961842117, 0.008016936837894739, 0.0017901154897368426, -0.006646555544013159, -0.008096424208289474, -0.006122036452894737, -0.0057617752151315794, 0.0011516110418421056, 0.0033034063114473684, 0.001144898634342105, 0.015016336455263162, -0.005089427256578948, 0.011095485811210526, -0.01487947794381579, 2754231664473685e-19, 0.01434458742828948, 0.004142680879736844, -0.008173420285131577, 0.009047083722894741, 0.006638912060921054, -0.010928462396842106, 0.005584001594493421, -0.006758851203157896, 0.012239943157835526, 7178325472368416e-19, 0.004164529241644737, 0.006919659793157895, 0.0018766501502631577, 0.005851904381052632, 0.01649575659144737, 0.018543284467894737, -0.004570943860131577, -0.014199454217763158, -0.004522597645789472, 0.01323128955736842, 0.009430725228289473, 4302028357894734e-19, 0.014124286351315792, 0.0014682764307894735, 0.014347456733684217, -0.004273947661315787, -0.005397340513289473, 0.004777006242105263, 0.0014340101824815783, 0.004214361838684211, 0.004253698227473684, -0.005495129646250002, -0.004944426877631579, 0.001132264872631579, -0.025759664019736846, 0.01343974873236842, 0.007074848766842105, -0.017592669572894747, 0.0017375639004473685, 0.015513802537763154, -976651714342105e-18, 0.006099546812236844, 0.009297965083289474, -0.006545829302368422, 0.002187739041315791, 0.003335506018026315, 0.0021257748652631593, 0.007083832225526319, -0.00821666152184211, 0.008502307442157893, -0.0012726394867368417, 0.003975927348552632, 0.005120596614473684, 0.005579327967368418, -0.0076789852039473696, -0.021034838578947373, 0.007545610900131577, 0.011339017010394737, 0.01220300189605263, 0.012834558334486842, 23943841328947444e-20, -0.012060543739868423, -9013390900000001e-19, -0.007001447220394739, 0.001807072239342103, -0.007920413789473684, -0.014183284144078948, 0.0032435898167105224, 0.007661070786578948, -0.009576734622368422, -24735532930263165e-20, -3279625464473687e-19, 0.00592114891631579, -0.0031360228920394744, -0.004423669705131578, -0.006236715882473684, -0.01428929095, 0.0012041522547368432, 0.009992463885789478, 0.014660581713355257, -0.012100258024789475, -0.0041604909128947366, -0.0022737396475000005, -0.005318546005078945, -0.0019765347979631576, 0.001943228074394737, 0.01009488755486842, 0.006165831676578947, 0.0018300388325000001, -18122561157894723e-20, -0.020566950382894744, -0.006887413951872369, 0.004043231116447368, 0.014405956009276313, -0.004649199056078947, 0.016667253566842104, -0.012720103426315793, -0.004804016313157894, -4011695289473683e-19, 0.004846170921052631, -0.0016384565850263162, 0.017794608296052634, -0.007291804857605264, 5409149652631579e-19, -0.005412328068421052, 0.014002738125526317, 0.007782216855789474, 0.03379361171052632, -0.0037693036657894725, 0.006207439997131578, 0.011665550201763155, -0.002727257783815789, 0.006404820097236843, -0.007757448749342103, 0.00321114124381579, -0.005974114834342104, -0.017798501374999998, 0.008996167303710525, 0.004107372101447368, 0.007539583035263157, -0.0014233594372368415, 0.00381117836013158, 0.008256078101842102, -0.0018291068210526304, 0.0019358302312894743, -0.010674378317894738, 0.0065658293554078945, -0.007450003366710528, 0.004437219244605264, -0.024618154752631582, -0.015038326359078957, -0.00463826566381579, 0.007930537400131579, 0.004519121789078946, -21704581684210515e-20, -0.007922356677894737, -0.011271936131578942, 0.006213316302368421, -0.001811201335361843, -0.06298805399342101, -0.003931348754999999, -0.002375323733289475, 0.006955065128421053, 0.011551465797368423, 0.005049561330973682, -0.004226440632631578, 0.001415731466381579, -13998377784210452e-20, -0.0011909930659210531, -0.002045448113026316, -7439456209210522e-19, 0.008089150971763161, -0.007385254353552632, 0.0017794121346052629, -0.0021466796694736847, -0.007901907795526318, -0.006739856069736841, -0.0031380352994736845, 0.0076046099585000025, -0.011527594351315795, -0.0020396639011052635, 0.001525548389342105, -0.006094216933684211, -0.0014722651828947364, -4518903077631577e-19, 0.007140101749473689, -0.011676537059210524, -0.019966328755921053, -0.0024167389288157906, -0.008110973655078945, -0.010138389487328942, 0.004652459228947369, 0.003344180307855263, -0.00269698604401316, -0.006219439502236842, -0.012621290809263159, -0.010441855874605261, -0.001525004825868421, 3106502772368417e-19, -0.02632054453157896, 0.014578032460263153, -0.004134980474473683, 11510845465789741e-21, 0.0062397942408684215, -0.0063305206980263165, -0.0032845915709868406, -0.011880825206578951, -0.004127339640789471, -0.005412744576842107, 5791435789473685e-19, -0.005604593690263158, 0.01140999920789474, -0.0035105268881578944, -0.005644377784736843, 3777405411052633e-19, 0.006655294573118422, 0.012310034789868423, -0.012314680914342105, -0.004660671697236843, 0.019227642512499997, 0.012370556660526312, 0.0018540437435131578, 2843068044736842e-19, 0.0029149404551315795, 0.001349117293078947, 0.004231145650921054, 0.005014896011447368, 0.0030759806921052636, 0.002634996195394737, -0.02146838184355263, -0.023354627235526327, 0.007463801508881578, -0.044740355858815806, 16885995480789474e-21, 0.0018187605642105266, -0.0028608081773684206, -0.019586663092236847, -0.005291358396439473, -9306446955263162e-19, 9336062423026312e-19, 0.00640387573013158, -0.05765600515921052, -0.0010193050008289466, 0.0029813614198157894, 0.0017824373404078948, -0.006496215178552631, 0.024087691802631577, -0.010348639678947369, 503021751973684e-18, -0.009403571023947366, 0.012732326389460522, -0.005403565589605263, 10905120605263125e-20, -0.008504000929605262, 0.006370600620263157, 0.018242643109210525, 0.009379113575526317, -0.01214825572302631, -0.0015711109278947369, -0.0020749150806842107, 0.0051656843653947355, -0.015150247375526317, 0.0034633881215789457, -0.0023204803727631573, 0.0013554988172368421, -0.00916673603631579, -1386599248684208e-19, -0.011236653686842102, 0.01057515615355263, 0.0038270946907894747, 0.0032054099676315792, -718647992236842e-18, -8057763245394725e-19, -0.004644138220394738, 5584668676973688e-19, 0.004134472640657893, 0.003242992475139473, 0.004408569986710524, 0.006886769568421052, 0.0022040188868421057, 0.004717420271184211, -0.010944220514868425, -0.01496134418960526, -0.004904572456118423, -0.0029349479123026317, 5269890798684209e-19, -0.018642433568684214, -0.0014636822255263157, -0.0032874282358578933, -0.005220993034210527, -0.001006430675144737, 9930258057894734e-19, 0.01337606780197368, 0.009240478431184211, -0.01117918292618421, 0.015037270521710534, 0.00705424925763158, 0.004022910573421053, 0.004511536920394735, 7300990415789472e-19, 0.0025198337564868423, 0.004174408284605264, -0.006822327408157894, -0.012508884771973679, 0.0018977242146052643, 0.00169175941868421, 0.00914618583809211, 0.00616711017276316, -0.016066297167105267, -0.007600618392368421, -5936514901315801e-19, 0.009191851769736843, -0.01048495533644737, 0.0039003314751315785, 0.010082093744078946, -0.02150961690736843, -0.003076141387631579, 0.01795051239210526, -0.0016097397646052626, 0.006738568165394737, -0.01008712938552631, -0.0023239680332894736, -0.0023542645427631586, -0.007415254536973685, -0.0017370888950000002, -2142969864736847e-19, -0.0019526079594736842, 0.004812759554289475, -0.003177666265657895, -0.010193668303157894, -0.008950753272763155, -0.012276084238157898, -0.013801354708684207, 0.013260181611973685, 0.005137841782236843, -0.005623419413947369, 0.002380635332763157, 0.020261579571842093, 0.0025086264638157895, 23285078407894738e-20, -0.013896984565526316, -0.002813308350394737, 0.006464827561842104, -0.0017387912031578952, -0.009293710947368423, -0.002234433483973683, 0.0029236971019736837, -7009606947368418e-19, 0.004321338025526315, 0.011410774383157896, 0.0019641712277631575, -0.0032173488855263156, -9017514617105258e-19, 0.02536431413421052, -0.0036204208476315796, -0.0045066121440394714, 0.007895695332842106, 0.01375771906894737, 0.0016665629351973685, -0.009256044322434214, -0.010135795456671053, 0.008737079069078947, 0.0034428967317105263, -0.010638219975263161, -0.004573688986184211, -0.008506904400102367, 0.0025543856753947364, 0.004874314954210525, 0.010396809270921051, -0.0018452750817105265, 0.01090056822052632, 0.02098761590078947, 0.009814058689144733, -0.0029276505494736844, -0.010893099969697373, 0.01975842706710526, -0.010948870352592106, 0.0058412445308815815, 0.015515693848684214, 0.0020952677422368424, 0.008907295886842106, 0.00873527318223684, -0.006631097216973685, -0.01977647116223684, 0.010740387438947363, 0.008736050202499998, -6532119030263152e-19, -8522597289473685e-19, 0.007881729391184214, 0.007262564786315789, 0.009642556828684206, 0.009887033669644734, -0.00506204858236842, 0.00914667588671053, -0.005646160281184208, 0.0015682480643947365, 0.007187644667573682, -6413499337828947e-19, 0.0014132899411842103, 0.0017755321165263149, -0.007160940067000004, 0.012367878591973682, 22851084263157844e-20, -0.006308410619078947, -0.0015791580263157898, 0.00442315712593421, -0.006452675031118422, -0.009020969568421053, -0.011030041889539469, -8780194159210523e-19, 9627984798684214e-19, 0.00363151196994737, 0.02183342311710526, 0.02024013596973684, -0.012353824388684213, -764319970657895e-18, 0.002105059234210527, -0.0014566305570592104, 0.002706323287631579, 0.00607090862407895, -0.009545597578157896, -0.004247753485894737, -0.0176261248381579, -0.0031491103884210524, -0.003108941359539473, 0.015593445543815788, -0.04427306710881578, -0.0020792380994736847, 0.011489951907105264, 0.006966976375342106, 0.0015082572486578947, 0.007737702031710525, -0.00655683788473684, 0.007863643000657894, 0.002917634675013158, -0.004152638770789473, 0.005619210159473683, 0.005586618189342104, 0.010026886728421051, -0.004179918709473686, -0.005501686800131579, -0.00604261921421053, -0.0071300491338157895, 0.014459129589473686, -0.0037379425788157897, -0.0020940462386842117, -0.00957774127394737, -0.03357854765131578, 0.025668219275000004, 0.022622876078947373, 0.0022629713582894718, -0.0026858775323684216, -0.0017051095038157894, 0.003815842962894737, -3828872972368422e-19, 0.0026066615468157894, 0.012387053006578948, -0.006318214374868418, -0.007521578666315793, -0.01284997625631579, 0.012826012949078947, 0.0010223195625, -0.011615881295131579, 0.0022139161670263153, -0.002016348744078947, -0.0028064120447368417, -0.015572008834210525, -0.0019618904405263164, 0.00544554776289474, 0.009761993845921054, -0.012984902144736842, -0.014145811457894734, -0.008978529723144736, 0.004056017691315789, -0.011844596710394733, -0.0059587758225, 0.007508870492105264, -0.005443937433289474, 0.002935879441578947, 0.01486225123960526, -0.005532202826052629, 0.005462015192631581, -0.02565744589868421, -0.008383098813815791, 0.003647495577368422, 5357671111842098e-19, 0.01166961910486842, -0.006377186925131579, 0.0127008994825, -0.009436918356578944, 0.0020323967420921053, -0.008456428355526319, -2027747211842104e-19, -0.0030937144914473694, -0.011085721413078948, -0.009645654179210527, -0.014846991478947372, -0.0035684288476315797, -0.011654160063684214, -0.01581150187026316, -0.016840036789473687, 0.013057866414473684, -0.008234539141578947, 0.0053163960105263195, 0.020490004785526317, -0.00960410656486842, -0.006657243668236841, 0.010736420357105264, -0.01748494961973684, 0.0011016242359736844, 0.005718755139868422, 0.006338006613157893, 0.0038684128078947367, 0.005595157857631579, 0.017694987824210535, 0.017391755352355258, -0.003702699658552634, -0.005022188236513158, 0.01342638474771316, -0.0043205563098684206, -0.0028454328957894745, 2592531746052632e-19, -0.004767219290789473, 0.013560908384539477, 0.005906873550263159, -0.009617733145394736, 0.003591151950263157, 0.005010814367368423, 0.0012510964286842107, 0.0028993149072368417, -0.0051906266312368434, 0.00729437020368421, -0.012531499855657886, 0.020476676778750005, -0.009869155927894734, 0.0025973456112368416, -0.021903372915789476, 0.008153542140921052, -0.006835870289605262, -0.010486773017592106, 0.017626112727631586, -0.004606312977368421, -0.014957404596052633, 0.0020897874979618424, -0.004724369788980265, 0.021548606073684213, -0.0019029721914473681, 0.006200722453289475, -0.003450824262276317, -0.006826156169210524, -0.010176031075657897, 0.024789349911842107, 0.003143936896315789, -0.004955119694078948, 9158874664473686e-19, 0.0052856249526315804, 0.01390172287763158, 0.004978571828947366, -0.0032051206281578947, -0.007972612475236842, -0.007769723397631579, -0.00202725623381579, -0.003416697538776315, -0.002556709217407894, 0.0184408019, -0.01105052606855263, -0.014664148855789474, 0.003882449320657895, -0.012429670850921054, 0.013084466028552635, -0.04336451231578946, 0.0074979511960526326, -0.001663643616907895, 0.008059816289473682, -0.011445970542105267, -0.004167850928697367, -0.003230411173657895, 0.02097656965710526, -0.011578596098421053, 0.012013696860657893, 0.001233423443421052, -0.002649905661144737, -0.00883562393153947, 0.0015486095338157892, -0.010413099061842105, 0.013987708639236847, -0.0038697919174999996, 0.006219689598421055, 0.006652394345230264, -0.005381284718815789, -0.0037626181478947387, 0.01059816618401315, 0.003220842913421052, 0.0035804951468421044, 0.010183990906447369, -0.009547694365789472, 7697464371184215e-19, -0.011326520949342108, 0.036538593302236834, 9323258973684188e-20, -0.008973688185921053, 0.00706366331381579, 0.001107784416394737, -4910452642105268e-19, -6440596276315794e-19, -0.0036792987653684202, 0.003713873318157893, -0.004735835042960525, -9658112065789478e-19, -0.043979574686842084, -0.0016790318328947353, 9925788503157894e-19, 0.018722528654473682, -0.0021518665293421054, 0.0035296605411842103, 1413653897368415e-19, -0.017016988203947366, 0.004561038191973685, 0.015442165966184201, -0.007485759814473685, -0.017065918415000002, 0.009342482221710524, -0.0020734458669736835, -0.002520825664789474, -0.021231756026315784, -0.010013884122368423, 0.009265903680263157, 0.008139276791052632, -5609036057894738e-19, 0.015773905215697364, -0.001884182508960525, -0.0024270794468947356, -0.00422654353631579, 0.006008762833684209, -0.003698271740263158, 0.016081907390789473, 0.030718033629736848, -0.007108369866842106, 0.00527163336881579, -9271790684210529e-19, 0.0068789392490789456, -0.013093138075605264, -0.012924308120526315, 0.00556886656968421, 0.0033076618509210527, 0.0017935490473684217, -0.008094466807394738, -0.01079597931, 0.01151358625263158, 0.00893792486236842, 0.010344446836842108, -0.00719051074644737, 0.00572758606, 0.004846286956973685, 0.00814658403092105, -0.0010492790623684207, 0.0049120969460526315, -0.01486755767197368, 0.004852195027565792, -0.007043126832710525, 0.005356651270263156, -0.0035065615885723684, -0.005829078253026317, 0.025083412392631576, 0.0015541765726315804, -0.013320558341842105, -0.027978110792105267, -0.004866113275657896, 0.009822611491184208, -0.004338714495526316, 0.028622747207894733, 0.0056140354747368434, -0.012210432556184212, 0.0033045029190263164, -19000230480263145e-20, -0.0034141616881578937, -0.004623406075394737, 0.006392982858421052, 0.01835209741710526, 0.01747985185131579, 0.004233065692460527, 0.01626176455263158, 0.0032433631718421056, -0.011749469372421053, -0.012891163621052632, -0.01571628433157894, 0.002652207523026316, 0.004507458543026318, -0.01775668739868421, -0.03493414880657894, -0.016362935907894737, 7675142188157897e-19, 0.010285956762684217, -0.0014735680384210526, 0.011252831868552636, 9547897207894737e-19, 0.006510753468289477, 0.005189211297763158, -0.013117319414473682, 0.003801194065131578, -0.008176472670263162, -0.008538372863026316, 0.02108607474342105, 0.0037161164223684204, -0.004774306337894736, -0.0077946213527631605, 0.0024585640678947366, -0.012176232483421057, -0.012235060736184205, 0.001400212257894737, 0.0027084579294736843, 0.0068722990685526324, 0.013335502111842099, -0.005830226586052632, 0.011873504235263161, -0.013693625648026312, -0.010449696567302632, 0.011044927082500003, 0.015400494224552629, -0.009381916401355262, 0.006673642672368421, -0.0018263740446052626, -0.0021770728546052624, 0.016361497218421055, -0.01863254121315789, -0.003530500149210525, -0.03730359020723685, -0.004191118148289474, -0.0045071628236842114, 0.015596569568947373, 0.004240642962276315, -0.002759536991368422, 0.005148003131355265, -0.0069468455677631595, 0.012819585946447368, -0.003170211528815789, 0.01752115107447369, 0.009766708002105265, 0.01720768516973684, -0.01617324446578948, 0.012112183639473681, -0.021386946318421057, -19106013060526326e-20, 0.006491905236710525, 0.012694083912631583, -0.012121427248552632, 0.007453259151052631, -0.005300583340657895, -0.0034357232692105253, -0.008234549374210526, -0.0049134867761842105, -0.011864055638157895, -0.00727513381118421, -0.006225588572394736, -0.014474562209210527, -1696423735526317e-19, -0.009927942404210525, 0.005164234018026316, 0.0017515462315789469, 0.0015904607235526311, 0.007963644751578946, 0.012216724002631584, -0.009501306335068424, -0.003338244066407896, -0.013702270143026316, 3177477896842107e-19, -0.004519560832171056, 0.002465137685263159, 0.0021053644855789483, 0.01910074195263158, 0.012031324014473682, -0.0018186422331578943, 0.005212327788421051, -0.004785163042710527, 0.0021153964885526322, -0.00444928972188158, -0.0035029865, 0.0075856674897368396, -0.016637170858460525, -0.0049104649688157895, 0.004211803076513158, -8546719754210526e-19, -0.005023115469473685, 0.0029476111911842105, 0.002885427894921053, 0.004207519965584211, -0.0045995042944736875, 0.003015317669210526, -0.003959649376578948, -0.001799221694921052, -0.010122554486973682, -0.004602558039210528, 0.0013513901315789464, 3764912463157896e-19, 0.008489159527105262, 0.014707852295131572, 0.002345036650789474, -0.0032689961036842102, 0.04255329955263159, -0.014716855848684204, 0.008619987162236838, 0.008365918811578948, -0.005013759794736842, 0.004195959585499997, -0.008992120611710525, -0.009782703207236846, -0.0022335605896052625, 0.01287937127763158, -0.015554637754473693, 0.008397985909605265, 0.002251561622499998, -0.010050093168815789, 0.008956767632171053, 0.013687852065394742, 0.013600534268289477, 0.004365934441315789, -0.0030305592554868413, -0.00781057913469737, -0.004966902079605262, 0.01856187427644737, -0.0025631659986842118, 0.004677612719921054, 10226186131578904e-20, -0.014421684380263157, 0.016739205349605258, 0.0050146044172894744, 0.011911084407631578, -0.002687138399210526, 0.00960758048539474, -0.002726553521315789, -2118536161842109e-19, 0.013187813793947371, 0.009969895463026316, 0.006658861126052631, -0.0018322755946052636, -0.0017487937331578944, -0.011101524417894743, -0.032939431818421065, 0.01520578899605263, 0.0015081202571052632, -0.005066026860486843, 493556515986842e-18, 0.004060829064605263, -0.005561150131894735, 0.010997560033026309, 0.004095647503947369, 0.012622729288684204, -0.004958941837157896, 0.006538527521447367, -0.0010266161943421049, -0.004851542462973687, 0.0016268616459210535, 0.008403855759605262, -0.005476859455, -0.00812804427618421, 0.007041481924657892, 8838693684210528e-20, 0.00597193902618421, -0.00842409854263158, 0.0024697172419736856, 0.005663838686578944, 0.0036075020965789487, -0.0023292463477631578, -0.0032376719465789477, 0.021101475338026313, 26567486563157904e-20, 0.016493054231184204, -0.002458445587631579, 0.0010258956694736841, 0.00225805411368421, 0.0031990768135526323, 0.006263685490526316, -0.004572679283552632, 0.009529538310526317, -0.011298854067368422, -0.010216326432368422, -0.01634466709473685, -0.014281002560460524, 2702401223684224e-20, 0.005255444044671053, -5290619164473683e-19, 0.020079138140789477, -0.0017828449621052637, -0.012192540535789468, -0.007199579816184209, -0.00116835002625, 0.00958368675736842, 0.007733851895789477, 0.007963292808289474, 0.025216065143421052, 0.004103331857894736, 0.0030591781828947368, -0.009872114714473685, -0.004663548545, 0.004991833832105262, -0.006863926871710525, 0.001242838931578947, 0.020425079027802634, 0.012370465663815786, -0.012126274007894736, 0.010670443024473687, -0.01464566428460526, -0.0038673775906710524, 41958086710526394e-21, 0.01994244099210526, 0.015357990706842106, 0.0063989385026315794, -0.018309239200000004, 0.006747877917368419, -0.017506960167236837, 0.005670401942631581, -0.010581732321578946, 0.0011620065078947373, 0.012163235759210531, 0.006399715106223681, -0.006113071873210528, -0.0028651888345789466, 0.002149627898157895, -0.012140688709210527, -0.010713522528947373, 0.02737408816710527, 0.017518066717105266, -0.005137931570986841, 0.003589904351447368, 0.0010994190049210533, -0.004798525595026317, -4554749059210497e-20, -6981043210526358e-20, 0.017134092135131583, 0.012083527265789476, -0.049615527359210515, 0.005816751165736842, 0.01857131190000001, 0.02351225466336842, 0.01219104790131579, -0.0010487995125921048, -0.0044726659714473685, -0.001028941063157895, -0.005443464117499998, -0.00634262967868421, 0.010381099005263152, 0.001703392962105263, -0.009139037917894735, 0.009512460323684208, 0.008586436496315792, -0.025455710537105262, -0.009792295319078947, -7742059002744737e-19, 0.018877256644736842, 0.038857334956578955, 0.003912381590921053, -0.008361733056842105, 0.016590833038421057, -0.005869556491710525, 0.009990736888552633, 38346460510526274e-20, -0.016626637246578948, -0.012364668933289474, 0.0018547245361842113, 0.006512999228605265, -0.001085481154868421, -0.009963445404999997, 0.004301809971973684, 3661409990131576e-19, -4224867659394737e-19, 48160601578947393e-20, -0.007223044006763162, -0.026113254673289465, -0.0013004677222368422, -0.0017831314044736836, 0.01561539529144738, -0.0066719939618421036, -0.00877529002351316, 0.006605579253289475, 0.005603149853552632, -0.007193712031578948, -0.0016247132320263158, -0.012534181940394738, 0.017229109368421053, 0.00245370861631579, -0.006031722248552632, 0.0031117475930263158, 0.0043886369376315805, -0.0024453895729249996, 0.00690473798328947, 40740072210526353e-20, -0.0031424490643421057, 0.019926203121315794, 0.012182200482894739, 0.008118145491578951, -0.005559053631315788, -27164370357368446e-20, -0.003351124758092105, 0.005957678860368421, -0.008513101869473681, 0.007304541067499999, 0.019957336234210518, -0.0030209489469736834, 0.004469626572763158, 0.012090736671578948, 0.01514115723331579, 0.0042360726635526326, -0.010162506523684207, -0.002649304801184211, -0.007750173208749997, 0.0019587431771447374, -0.027095424518421053, 0.0066075871005263145, 0.00536601891631579, -0.0010357673420394737, -0.003466868494342106, 0.014316960686578954, 0.0023369776231578956, -0.0053653818119210545, -0.007858214859999999, -0.013146294391315785, -0.0018566735342105262, -0.009514895538421051, -0.0036132000074342112, 0.0034368430490789486, -8554010195394731e-19, -0.0032387031372368437, 0.00244777456131579, -0.006286163061842106, 0.011771267721710532, 0.023035620363157896, -0.0043442739443421054, -0.009922730226315792, -0.004276738937499999, -0.0035189323507894745, 0.0039030267724473704, 0.014395429023592102, -0.0012053757906578947, -2897619489473682e-19, 0.007045867771144736, 0.007517767199210526, 0.007418771915644738, 0.010169157498289476, 0.00706302323276316, 0.013311043676250002, 0.003038169512894737, 0.0033463043809210517, 0.001753204881197368, -0.0074550630986842115, -0.03247426388684211, -0.014712809272763156, -0.01257650307744737, -0.005583758863815789, -0.010988394333684212, -0.01094829823105263, 0.014527793146184208, -0.01726736960019736, -0.0011412191313157898, -0.003875160005921052, 0.0054491025328289484, 0.00764098283223684, -0.01397128377631579, 0.020156240986078953, -0.018178711318157893, 0.007760771186842106, -0.012693300230263159, 0.0034562666953947383, 0.017623470872368423, 0.01328646389205263, 0.006033057996184212, 0.0021477171030263157, 0.004209592630394737, 0.022607883206578958, 45995770960526315e-20, 0.004256902114473686, 0.007727120836526311, -0.011495399911315795, -0.006097572578026317, -0.003288532194342106, 23524967355263143e-20, -0.01843602415421052, -0.006332212189999999, -0.007104603521578947, -0.006046406687763155, 0.0031444280434210527, 0.011026709301315791, 0.007965343235657892, -7478460321052628e-19, 0.010399411723157894, -0.003222595633552633, 0.0013722621246052631, -9306063203684211e-19, -0.008244672536447365, 0.010224801592763153, 0.011236862973157893, 0.002438936607828946, -0.0011834995152631578, -0.007761896696973684, -0.006536142010526313, -0.004305835025789474, -0.006375306423552633, 0.002894340127526317, -0.007056530478157897, -0.006344087711473684, 0.012371267300526317, -0.008661172924210528, 0.016608231906578945, 0.006209598555605264, -0.0049610081385394736, -0.006289596580421053, -0.008653004873157896, 0.006589724684342105, 0.0042221396663157905, -0.024205309596052636, -0.007927559016842107, -0.0036796517148684213, -0.010860645916842101, -0.001776141146973683, -0.0066375001164473675, 0.002395305515921052, -0.014593319744736844, 0.00733454749668421, 0.0019130213015789476, -0.02945044170131579, 0.0021041659146052625, -0.002779561371539474, -0.020078335207894735, 0.003642550809710527, 5936502644736846e-19, 0.00325616999868421, 0.017399437181578953, -0.06370752007631578, -0.003701780296631579, 0.007564594753552632, -0.00405948423839737, 0.0015840840405263162, 0.005836310675263158, -0.012381032086315788, -0.004665367583947368, -0.0010173959317894734, 0.005156387308802632, -0.0165339495006579, 734178938157895e-18, 0.024508261125789473, 0.01724277075526316, 0.008913617889078948, 0.018123411353289477, 0.019972735151315802, -0.015223236485526315, -0.011504417352105265, 0.010046699026184209, -0.009774468743421052, 0.014051472367763159, -799595632236844e-19, 0.015914003425263158, -0.010235261282894738, -0.012426796318973685, -0.00529559477105263, 0.0032275154818421047, -0.012022474961184216, 0.004842165463157897, -0.012777494966842105, 0.007940708949736842, -0.010386868507894734, -0.012277893373289472, -0.01469461501513158, 6472758955460526e-19, 0.011309826192631581, 0.0014896182946052632, -0.0018290806492105261, 0.004781091154078948, 0.009413893570921053, 0.00916419533118421, -0.002920155307368421, -0.004322433785789473, 0.010922147476842106, -9692939010657897e-19, -0.00471161965105263, 0.0022456688428947364, -0.01511019358289474, 0.01469485253026316, -0.0034939871920921027, 0.005169176186973684, -0.004767383189802632, -0.004363123971710525, 0.008160435356184211, 0.008593854647631578, -0.014373928093157892, 0.012998453866184211, 0.012818183890921054, -0.0012967544054736846, 0.018860078121447365, 0.011299536434868421, 0.010162780092499995, 0.010768595093881578, 0.006929429669736845, -0.009301306071052631, -0.001229964434210526, 0.022915811622105268, 0.005473494591263157, 0.01684595049736842, 0.0068085582832894745, -0.009735548395394736, -0.008009809031052632, 0.00818278650394737, -0.00514607482631579, -0.0017882432596052638, -0.003795041893157895, -0.0028177598829473675, -0.009401223562894738, -0.015638386469736837, -0.013144470036842108, -0.0025362829124999987, -0.015570190517552634, 0.0072135779351315795, -0.0033293784007894737, 0.0033921677573684203, 0.0171126722368421, -0.016200724738157896, 0.002023070578552632, -0.005874176478421054, -0.007982894414539473, -0.01305297109342105, 0.013835959466144737, -0.007678114530657894, 0.0016565042665789473, -0.0029898593556578947, 0.018475673282499997, -0.004774599107368421, -0.01045985660768421, 5002329298684213e-19, 455613157105266e-19, 0.012770474667763154, 0.0036531933109210527, -0.006355904673157896, -0.00323254957336842, -28950164197368423e-20, -0.0016983754679473682, -6461348456578951e-19, 0.011579839645394736, 3174967802632419e-21, -0.009248690072105265, 0.010413905775572371, 0.00742944108473684, 0.00453180122631579, 0.01615883042802631, -0.0032757992935526312, -0.0038371938214394738, -0.002908959269342105, 0.009208926093951316, -0.0014955339189473683, -0.013758465006973683, -0.0063294295475, -0.005727852496578948, -0.005272904527105263, -0.001316834533684211, -0.01645172019144737, -0.007092707085578947, -0.003522257189605263, -0.013505265605263156, -0.011881032946052632, 0.011369551982828954, 44452595263157905e-21, -0.006352405066578949, 0.0052995613325, 0.009505844287763156, -0.006053228503013156, 0.006845024962368421, -0.011510292038552633, -0.0032177408799999997, -0.004505434028289475, 0.004123595264342105, 0.006593527555000002, -0.011078657794605259, -0.014011584826078945, 0.0029858133488157895, 4344722920789474e-19, 0.008640971361973684, 0.006481291948157893, -0.005891967694342105, 0.008448872632763157, 0.016859102106052633, 0.0014603208068421055, 0.005249472965605262, -0.00686901125013158, -0.010637044371578948, 0.011924648195789474, -0.0058005032065789495, 0.015501499024999997, -0.006453810105921054, -0.002997035320473683, 0.018575800172368425, -0.008515451444736838, 0.012462028264473679, -0.003774380357539475, -0.0019450062711842105, 0.00391133496173684, 0.004730433910526316, -0.001315982468776316, 3232796018157894e-19, -0.0066704201258026286, 0.00680665693223684, -39029438710526344e-20, 0.005489703965131578, 0.008671756791842107, -0.012851425032368417, 0.003147755206052631, 0.0026194010623684216, -0.007664137591973682, -0.011883636635, 0.004133208043763159, -8303924315789413e-20, 0.003270837395131579, -0.005892774992763157, 0.012238801593815785, 0.006942355931973683, 0.02878469881921053, 9479045131578946e-19, 0.0017351399474736847, 0.008778382914078947, 0.0010939997295263163, 0.0030465893436842097, 0.014783142862368417, 0.01642540962717105, 0.0036857923714473675, -0.015363344993026315, 0.009919231350263158, -0.011551756493421059, 0.0023134715465394744, 0.011385295549473687, 0.013802586752105264, -0.01116167753921053, -0.003641126586684211, -0.013648889441184206, 0.014234762527368418, 0.002806655006105263, -0.013499138960736849, 0.005006243019473683, 0.015739427460526312, -0.0027175753445131574, -0.010932971389473686, -0.010770135974552631, 890700216526316e-18, -0.012623942286842103, 0.016124839350000003, -0.002831514939934211, 0.012697006429342104, -0.007019076696973686, -0.006475317798065787, 0.007137869946052634, 0.006031961175105265, -0.00705848445763158, 0.0033737443014210527, -2768167815789512e-20, 0.017694467707894734, 0.006258390639605262, -0.002385706069394737, 0.003583886412894737, -7993168968421051e-19, -0.01620972400113158, 0.01370171146118421, 0.00461520679318421, -7547631113157896e-19, 0.002939954357631579, -0.006845462558289473, 0.007328082212763157, 0.007676322326467105, 0.004349595261973684, 0.015829044343197374, -0.00368448221881579, 5303418106447364e-19, 0.0026827215614473685, -0.008580460431710527, 0.005024989097499999, -0.003635687485394737, 0.002272944439315789, -0.006124602738289472, -0.016172138838026325, 0.015377584130394738, 0.010782426606184206, -0.021383269930657894, 0.005706450336052631, 0.0018523320315789475, 3522892494736843e-19, 0.004350316041157894, 0.005934959479144734, 0.01708160452131579, -0.007678650551447369, -0.0033582777418421053, -0.017157569269684224, 0.007354085403947371, 8351606031578944e-19, -0.005335390844342104, -0.002535301282368421, 0.014636234615921057, 0.004858749898355263, 0.007662922150526313, -0.0016256868378026308, 0.01556731267368421, -0.005104593538289476, -0.019748377389473677, -0.013980995652631582, 0.00946453539263158, -0.008415238208421055, -0.011370187082631577, -0.024026692542368423, -0.028569824043500013, -0.004478069888947369, 0.0031515005953947363, -0.002700122834605264, 0.00815917739855658, -0.00445320840494737, 0.006830579967631578, -0.006684497927105263, 0.010432664122105263, -0.014661140320368424, -0.006587801074605265, 0.007357709939078946, -0.005931698591973684, -7732484365789474e-19, -0.002239530471052632, 0.007788843097894735, 0.0064669147390789454, -0.0030537573617631575, 0.017894125887236843, 0.014577202200000002, 0.0015132674616710532, -0.0057732834064473685, -0.0027821142750131585, -0.01908095769276315, 0.009781772397894737, 0.009500178334210524, -0.08152622444736843, 0.008212754039473679, -0.01767476994144737, 0.0026395801725000003, 0.0014657673559210526, 0.007638076904605263, 0.004058115665973685, 0.0035145148113157896, -0.011827003826315791, -0.0027065570113157895, 0.0023756798456578943, 0.008448311618421052, 0.017983404865789466, 0.016279126637631577, -0.0012591387876315795, -0.01015563660263158, -0.007210258607868422, 5225580767105262e-19, 0.008399898934210526, 0.005169876301250003, -0.0054817867677631575, 0.004851883672052633, 8781897375131572e-19, -0.004407749175657896, -0.0037234890038684225, 0.010837226267236846, -0.008299530855789473, 0.012997853572105266, -0.017374133039473685, 0.01771941214802632, -0.010850383854999996, -0.0025922976049605273, -0.005014948546052633, 0.001572493777631579, -0.009683719784736844, 0.003544048853289474, -0.005399044507894736, 0.0019298673893421046, 0.008562550747213162, 0.007685438104276315, 9653876659736838e-19, 0.006209795067934209, -0.007815720736421053, 0.01339235502684211, -0.014595927550000002, -0.001961306322894736, 0.01755357029118421, 0.009892284107105262, -0.004357266436710526, -0.024933551971052636, -0.008265622360263156, 46308488684210446e-21, 0.008073451047105263, -0.006002720232921055, 0.00960784907105263, -0.008960232250921057, 0.009452138660526316, -1669984473684197e-19, 0.006347901398026315, 0.006253983917105261, -0.001933425444473684, -0.010605378191710526, 0.0017956876511842107, 0.010316846388552634, -0.006851734682407896, 0.017523879366710526, -0.003045540768026316, 0.021021487419736837, -0.00978115143263158, 0.007848767184210523, 0.008862482220921052, -0.01242224652736842, 0.0013790572871052633, 0.014478706237421052, -0.008613721365578947, 8338612144736844e-19, 0.003780419830131578, 0.00346602358868421, 0.01269026605723684, 0.009463772316851317, 0.012594825682894736, -0.0069123792341578925, 0.0013869928297368425, -0.012008816909210525, -0.005822936399078947, -0.016418475083815786, -0.010629006791973683, 0.008168218550394738, 0.00664607999610526, -5069868140000001e-19, 0.004181848071447371, -0.0011114877839473682, 0.02246608591315789, -0.0034439313037368416, -0.004351277874210527, 0.0014461106753947362, -0.009660680614197373, -0.005408365936052628, 0.01752714284907894, 0.008516543233210525, 0.002278526259736842, -0.006875266473026315, -0.0069421802624999975, 0.013035910887894736, 0.0015391923593421058, 0.0012664572747368423, 0.0011414591399473686, -0.0037214528182894745, 0.015104741671868427, -0.013068065997078947, -9741302530000001e-19, -0.0033918721798684216, 0.005097137174605263, 0.004477671593026316, 0.006166728530789473, -4620546571052633e-19, -0.00529603509618421, 8418184122421051e-19, -0.0012031493919868418, 15712514144736853e-20, -0.0019224767417105261, 0.005464992050000003, 0.004573905729556577, -0.005107717659999997, -0.001779724216276316, 0.0062555419631578945, 0.014157424513157893, -0.002229668639710526, -0.004112240003421051, -0.008737391783947368, -0.01772272931749999, -0.011969726380789475, 3489228665526319e-19, 0.008398761923223683, 0.006083781918289473, 0.0038491992196052634, 0.006757484750263158, -0.0033988848290789457, 0.010786320785381581, 0.007709229539986843, -0.0027759906160526315, 0.01513786151671053, -33675679921052606e-20, -9034154792105268e-19, -0.006730010358421051, -0.0038794277310526316, 0.011774508437552627, 0.0075108212575000005, -5415923363157894e-19, -0.010228818563289476, -0.004567732969605264, -0.006103785833947367, -0.007408031901286839, -0.0032699436107894737, -0.007860791874210528, 0.01599756300842105, -0.016585482788684217, -0.008410989815789471, -0.0024622896271447366, -31383816486842115e-20, -0.006790721234210526, 0.0037121541342105256, -0.009942839455, -0.012361527721052628, 0.019747696744736844, -0.004605994977907893, 0.0033676318580263156, 8737887935394738e-19, 0.002211198596144737, 0.010937877776315795, -0.01129901567118421, -8168034689473677e-19, -0.009641223938421057, 0.009402437952631576, 0.0056297516052631605, -0.0010065862368421055, -0.02594543341447368, -0.0011355776477631582, -0.011891248669605264, -0.00839228417031579, 0.007896343589210524, 0.007322515729342106, 0.0033040433167105263, 0.003778204579868421, 0.011096790547631581, -0.0015593353430263153, 0.014356465188157893, -0.006630788594118421, 4828352872894737e-19, 0.0010450569010473684, -0.007027775473815791, -0.006984254253157892, -0.00792534963342105, -0.00162584528, -0.006522221855263158, 0.01805963293197369, -0.004809070690789476, -0.01814591389078947, -0.005865267296828947, 0.003988285848684209, -0.008169152964999999, -0.008437095909210527, 0.009360843043815788, 0.030021375652105258, 0.007297060365657896, -0.0023612295406578963, -0.01073050399763947, 0.0019045162401315795, 0.00651718905263158, 0.0010275199546052635, -0.006277306921263158, 0.0012021913027105262, -0.011182417592105264, -0.002024020123421053, -0.006231476668342106, 4796000135526314e-19, 0.006449109247355262, 7456603261184208e-19, -0.005144762157460526, -0.0021357675948684212, -0.01883197047171053, -0.025576503247368407, -0.013539074083421053, -0.011034470814473686, 0.0024368244498684222, -0.002245899774736842, 0.007094408709210526, 0.0012029363072368422, -0.009510369465000001, -0.012366834156578943, 22163493250000016e-20, -864950124473684e-18, -0.0054156288555263134, 0.005750937247368423, 0.003270796098421053, 0.002449161180921053, 52041173618420834e-21, 0.010704513787500002, 0.001962141009605263, 0.004546446430526313, -0.009514348226710524, 0.013900074301842112, 0.007515311701355261, 0.0035688571342105263, -0.0031417825293421063, 0.013631733623026311, 0.004473217585789474, 0.022099065907894736, -0.010242928179605263, -0.021115605811315788, -0.0020430657981592103, -0.004960829025921049, 6026669513157779e-20, -0.004585000899605264, -0.004475863079315788, -0.004507509982368421, 0.012760686508684211, 0.0035079304818421055, 0.0043142242481578955, -0.0037753994023157884, 0.009972505233289472, 0.004257388717499998, 0.0037933767182894737, -0.003782828635039474, -0.016245113222631585, -0.0067635378846052615, 0.001699853626842106, 0.0049727823532894734, -0.0026726438017763156, 35606309460526324e-20, 0.0014221154155263163, -0.006753894785657897, -0.0021303370428947363, 0.0020290390381578942, 0.0065541381115789485, 0.005578077509210527, 0.00597834956631579, -0.015656070957894737, -0.005700937814868422, -0.003300278165210526, 0.0010437032015789478, -0.006081244438026316, -0.012030119331578949, 0.008609655173684212, -0.012421846317171054, 0.0038849181815789487, -0.003441401350921053, 0.005337632936842106, -0.00501430082631579, 0.007684295191355262, -0.018589622549210528, 0.0020294963380921055, -0.01736990133552631, -12342767794736842e-20, 0.013101640196631579, -19718100105263185e-20, 0.00191136175070921, 0.002991744120394736, 0.005360340401578948, -0.002541910205657895, -0.011420830478947371, 0.0025571802081578946, -0.007654641906842104, 1324760923026315e-19, 0.009839589908289474, 0.014137809323684214, 0.005973617257894737, 0.0044086344710526325, -0.007683909966710525, -0.014283573396973682, -0.015558832550000004, 0.006422352959605265, 0.0015610042364473677, 0.005954876463289471, 0.01747821746710526, 0.012649821948026316, -0.00588777466013158, 0.00278459120360921, -0.0027093084425131573, 0.00528561605, -0.0013567440365789465, -0.0036329947868421046, -0.027717547824078946, -0.009446810628947372, 0.0016673699111842107, 0.01964425766578947, -0.00695099289526316, 0.01540288453881579, -0.0017949823404736845, -0.0017532934771052637, 0.011818318206578948, 0.0014771281863157897, 0.010423521287236842, 7254289103947369e-19, -0.004566167288026315, -0.003529428743197369, 0.0011952240294736843, -0.003898400712605264, -0.010473680018684213, 0.00285922366139474, -0.006599853688026317, -0.02107415088815789, 0.0052880693118421045, 0.006744707181578948, -0.00798451460657895, -0.004557204219868423, -0.01156681187255263, 0.0076239759752631635, 0.0035902046968684207, -0.012573743979605262, -0.003764909397236842, 6335979498684211e-19, -0.003016045632947368, 0.0018927498906578949, 0.007497210715789474, -0.005934193091907899, 0.0035080823515789466, -0.0018217714548684216, -5523007649828952e-19, -7058270163815789e-19, 0.012370342157368423, -15139791644736762e-21, -0.013432961709210524, -4939559349999998e-19, 0.010054779912499996, -0.001919280470486842, -0.0013844150172368421, 0.007696783919605264, 0.008991117240473684, -0.007747281024078945, -0.004739962277894735, 0.007187543989473684, 0.003015955778815791, -0.001928289877644735, 0.004620562280552632, -0.0014514659089473684, -0.020361874824473686, 0.010851485952894735, -0.0048367870628947375, 7418370901184215e-19, 0.003954019490328949, -0.0036905010957894754, 0.005135467446315788, -7641653630263166e-19, 0.002803192092157894, 9011874512236843e-19, -0.006852827178236843, -0.009182144093157896, 6662634763552632e-19, 0.003859204278289474, 0.002627766069263158, 16687577934210564e-20, -0.004155122549868421, 0.007481256317894739, 0.010201827506842105, -0.02001931662526316, 0.008597913657499998, 0.009211417565, -0.003000300423684211, 48565491249999974e-20, -0.006839893910657894, -0.0024400726705263165, 0.0018072735346052636, -0.019441373660526323, 0.008917724683289475, 0.006977527517447371, 0.0012267423015789476, 37295210526322205e-22, -0.03201578951578947, 0.0014607340267894736, 0.010337255695263156, 0.002957082175947369, 0.009742125079473684, 0.0062952107691315795, 0.010293411451381573, 0.007467224718026317, -0.01702668064539474, 0.005315579784210528, -0.03403872432368421, -0.0036593492817105257, -0.013481478045789471, -0.005543817282105263, 0.0024990400036842106, -0.005272580224539472, 0.009082922817368418, -0.001777538198289474, -0.00401194444394737, 0.00793982549736842, 23839166631578926e-20, 0.005703706245131579, 0.0032615849919210536, 5623444232236841e-19, -0.009299548110394735, 0.0010441157952631576, -0.012694072275263158, 0.004126734016842105, -0.001088491213815789, -43924066513157913e-20, -0.006497900055789475, -0.008375932914473687, 0.006604953940657895, 0.008322977985131578, 0.0014929076139473686, -0.005037357923289473, 0.001687304174736842, 0.005036407010486843, 0.002468036690526316, 0.0014052489157894733, -0.0022257209973684214, 0.005458085299473683, 0.009009774955749998, 0.0858067330657895, -0.007581642367631578, 0.01083994584868421, -0.0022605711906578943, 21345696315789494e-20, -0.005091092415263156, -0.0064649052059342115, -0.0031673467632894734, 0.007837809513026317, -0.0048379660456749985, 0.003358471353947369, -0.007209436236315789, -0.004074764670526317, -0.002432236466131579, -0.001538101053328947, -0.003958276178197368, -0.001431222515394737, -0.002890863070263158, -0.005015565842105263, 0.006637256008947367, -0.01610401879026316, 16318058486842113e-20, 0.006704906538815789, -0.00704305531026316, -0.006291144144078946, 0.00933739933177632, 0.003039505811973684, -0.002349317244736842, 6161272673684213e-19, 0.011576436187894739, 19294986634210533e-20, -5418114680263158e-19, 0.002641153911184212, -0.00675274457026316, 0.008304665786171056, 0.001867557076842105, 0.007009144105789473, 37644492855263173e-20, 0.008968001444210526, 0.0015434073640789474, 0.005244117515263159, 0.0029953329880263156, 5347106021052633e-19, 0.004156591307368421, -0.0022211070997368424, 0.0034716415264473685, -0.0065318866889473685, 977989682631579e-18, -0.0014095522748684215, -0.006451674766447366, 0.0032100871473157893, -0.005529904199539473, 0.0059584155557894725, -9850399996052639e-19, 0.006995684919078948, -0.0022856163722368393, -0.01090589053710526, 0.009130581944078944, 0.00312594295013158, 0.007374450093421053, 0.0025797777251710522, 29641350526315737e-21, 0.001176881737763158, -0.014572063391447372, -2289824355263157e-19, -0.004469249211710526, 0.007769186374868425, -0.002506505231434211, 0.006041142717631577, -0.002120238433026316, -0.009695580013552628, -0.005020087666881578, 0.005143053156315791, 0.007150294719789475, 0.0023021195396710527, 0.003707133851447368, 0.006069693725921051, -0.00467861785710526, 0.02125906401236842, 9268083446052627e-19, -0.003634692288684209, -0.003680463652815789, 0.0040336247021052615, 0.0013372253536447368, 0.0021130635865789465, -4880915286842109e-19, -0.012233446567342104, -0.004310965072894738, -0.01132869828552632, -0.006841497305263159, -0.0016422147394736845, -0.002537146005289474, 0.003615671777368422, 0.00814799093118421, -0.005056491793263158, 0.013174237758684208, 3394553878157892e-19, -0.008489372885473684, -0.0027938550723684203, 0.0030627760844078957, 9348454796052637e-19, 0.004848255386842105, -0.0117739507, -6810965494736843e-19, -0.002880153715, 0.008861613728178947, 0.0033199058337500006, -0.003612675859078948, 0.002928360304065789, 0.0039185375651315775, -7332073442631576e-19, -0.0012935513150789466, 0.004886879997894738, 0.007781129023552632, -0.004267412731052632, -0.003639562495460526, 0.00523262424868421, -0.003657068880394737, 0.005125610617552631, -0.004419953952236842, -9843244355092107e-19, -2347114171052623e-20, 0.0016072527152631584, 0.003128275799539474, 4279722777368421e-19, 0.006050774428552632, -0.004237210059210528, -0.0025468053725000005, 0.0026924242311184205, -0.02019396686092105, -0.005761839523684209, -0.009751797271973686, 0.011594078876973685, 9348787827236843e-19, 0.014106164205263163, 6055481813026316e-19, -7440742407894764e-20, -0.005227106624868422, 0.013380218100789466, 0.008165820871447366, -4882895227631577e-19, -0.0010533377903157893, -0.0016510250091447362, 0.0018723641477631577, -0.004344320649736843, 0.002451466830486842, 0.003751309517368421, -1192675066447369e-19, 5871760036842106e-19, 0.00721447406936842, 0.003513352502315789, 0.009986706387763158, -0.003577922982105263, -0.006272508934210527, 0.00939798507907895, 0.005559408675131579, -0.004530027807368421, 0.008267799573289474, 9763903811842103e-19, 6323663030263157e-19, -0.018563745183684206, 0.003477922045657895, 0.0034454675522368416, 0.0022030032148815794, 9718481634210526e-19, -0.006363050955000002, 0.009044980506973683, -0.007551598236973688, -6711054927894736e-19, -0.0013286158334210524, 0.0017464641878947365, -0.011715851191973686, -0.005520589822500002, 8535201651315791e-19, 0.010038929649605262];
4105
4105
 
4106
4106
  // src/lib/chat/preProcessor.ts
4107
- function wrapAsUserText(prefix, text12) {
4108
- if (!text12 || !text12.trim()) return [];
4107
+ function wrapAsUserText(prefix, text13) {
4108
+ if (!text13 || !text13.trim()) return [];
4109
4109
  return [{ role: "user", content: [{ type: "text", text: `${prefix}
4110
- ${text12}` }] }];
4110
+ ${text13}` }] }];
4111
4111
  }
4112
4112
 
4113
4113
  // src/lib/chat/cryptoPriceClassifier.ts
@@ -4146,8 +4146,122 @@ function createCryptoPricePreProcessor(options = {}) {
4146
4146
  };
4147
4147
  }
4148
4148
 
4149
+ // src/lib/chat/reservationReceipts.ts
4150
+ var ACTIONS = [
4151
+ {
4152
+ kind: "booking",
4153
+ tool: "anuma_book_restaurant",
4154
+ alreadyDone: /^Tool "[^"]*" failed: ALREADY_BOOKED:/
4155
+ },
4156
+ {
4157
+ kind: "cancel",
4158
+ tool: "anuma_cancel_reservation",
4159
+ alreadyDone: /^Tool "[^"]*" failed: ALREADY_CANCELLED:/
4160
+ }
4161
+ ];
4162
+ var NOT_AN_ATTEMPT = /^Tool "[^"]*" (has already been called|was already called)/;
4163
+ var BOOKING_OUTCOME_UNKNOWN = /^Tool "[^"]*" failed: BOOKING_OUTCOME_UNKNOWN:/;
4164
+ var CANCEL_OUTCOME_UNKNOWN = "CANCEL_OUTCOME_UNKNOWN";
4165
+ function extractReservationReceipts(toolCallEvents) {
4166
+ const latest = /* @__PURE__ */ new Map();
4167
+ for (const event of toolCallEvents ?? []) {
4168
+ const action = ACTIONS.find((a) => event.name?.endsWith(a.tool));
4169
+ const output = event.output ?? "";
4170
+ if (!action || !output || NOT_AN_ATTEMPT.test(output)) continue;
4171
+ const kept = latest.get(action.kind)?.status;
4172
+ if (kept === "made") continue;
4173
+ const receipt = toReceipt(action, event.arguments ?? "", output);
4174
+ if (kept === "unknown" && receipt.status !== "made") continue;
4175
+ latest.set(action.kind, receipt);
4176
+ }
4177
+ return [...latest.values()];
4178
+ }
4179
+ function toReceipt(action, argumentsJson, output) {
4180
+ const args = parseObject(argumentsJson);
4181
+ const result = parseObject(output);
4182
+ return {
4183
+ kind: action.kind,
4184
+ venueName: text(args.venue_name) ?? "",
4185
+ day: text(args.day) ?? "",
4186
+ time: text(args.time) ?? "",
4187
+ partySize: count(args.party_size),
4188
+ reservationId: text(result.reservation_id) ?? text(args.reservation_id),
4189
+ resyUrl: text(result.reservations_url),
4190
+ feeSummary: text(result.fee_summary),
4191
+ ...outcome(action, output, result)
4192
+ };
4193
+ }
4194
+ function outcome(action, output, result) {
4195
+ if (action.alreadyDone.test(output)) return { status: "already_done" };
4196
+ const reason = text(result.error);
4197
+ if (action.kind === "booking") {
4198
+ if (BOOKING_OUTCOME_UNKNOWN.test(output)) return { status: "unknown" };
4199
+ const held = result.success === true || text(result.reservation_id) !== void 0;
4200
+ return held ? { status: "made" } : { status: "not_made", reason };
4201
+ }
4202
+ if (result.error_code === CANCEL_OUTCOME_UNKNOWN) return { status: "unknown", reason };
4203
+ const cancelled = result.success === true && !result.error && !result.error_code;
4204
+ return cancelled ? { status: "made" } : { status: "not_made", reason };
4205
+ }
4206
+ function parseObject(json4) {
4207
+ try {
4208
+ const parsed = JSON.parse(json4);
4209
+ return parsed && typeof parsed === "object" ? parsed : {};
4210
+ } catch {
4211
+ return {};
4212
+ }
4213
+ }
4214
+ function text(value) {
4215
+ if (typeof value === "number") return String(value);
4216
+ return typeof value === "string" && value ? value : void 0;
4217
+ }
4218
+ function count(value) {
4219
+ const n = typeof value === "string" && value.trim() ? Number(value) : value;
4220
+ return typeof n === "number" && Number.isFinite(n) ? n : void 0;
4221
+ }
4222
+
4149
4223
  // src/tools/confirmConstants.ts
4150
4224
  var CONFIRM_TOOL_NAME = "prompt_user_confirm";
4225
+ var BOOK_RESTAURANT = {
4226
+ tool: "AnumaPaymentsMCP-anuma_book_restaurant",
4227
+ status: "confirmed_not_booked",
4228
+ fields: ["venue_id", "config_id", "party_size", "day", "venue_name", "time"]
4229
+ };
4230
+ var CANCEL_RESERVATION = {
4231
+ tool: "AnumaPaymentsMCP-anuma_cancel_reservation",
4232
+ status: "confirmed_not_cancelled",
4233
+ fields: [
4234
+ "reservation_id",
4235
+ "venue_name",
4236
+ "day",
4237
+ "time",
4238
+ "party_size",
4239
+ "fee_applies",
4240
+ "fee_amount"
4241
+ ]
4242
+ };
4243
+ var CONFIRM_REQUIRED_FIELDS = /* @__PURE__ */ new Map([
4244
+ ["book_restaurant", BOOK_RESTAURANT],
4245
+ ["anuma_book_restaurant", BOOK_RESTAURANT],
4246
+ ["anumapaymentsmcp-anuma_book_restaurant", BOOK_RESTAURANT],
4247
+ ["cancel_reservation", CANCEL_RESERVATION],
4248
+ ["anuma_cancel_reservation", CANCEL_RESERVATION],
4249
+ ["anumapaymentsmcp-anuma_cancel_reservation", CANCEL_RESERVATION]
4250
+ ]);
4251
+ function confirmRequirement(action) {
4252
+ if (typeof action !== "string") return void 0;
4253
+ return CONFIRM_REQUIRED_FIELDS.get(action.trim().toLowerCase());
4254
+ }
4255
+ function missingConfirmFields(action, parameters) {
4256
+ const requirement = confirmRequirement(action);
4257
+ if (!requirement) return [];
4258
+ const shown = /* @__PURE__ */ new Set();
4259
+ for (const parameter of Array.isArray(parameters) ? parameters : []) {
4260
+ const { name, value } = parameter ?? {};
4261
+ if (typeof name === "string" && typeof value === "string" && value.trim()) shown.add(name);
4262
+ }
4263
+ return requirement.fields.filter((field10) => !shown.has(field10));
4264
+ }
4151
4265
 
4152
4266
  // src/lib/storage/mcpImages.ts
4153
4267
  var IMAGE_TOOL_NAMES = /* @__PURE__ */ new Set([
@@ -6841,13 +6955,13 @@ var StreamSmoother = class {
6841
6955
  /**
6842
6956
  * Add text to the buffer. If smoothing is disabled, passes through immediately.
6843
6957
  */
6844
- push(text12) {
6845
- if (this.destroyed || !text12) return;
6958
+ push(text13) {
6959
+ if (this.destroyed || !text13) return;
6846
6960
  if (!this.enabled) {
6847
- this.callback(text12);
6961
+ this.callback(text13);
6848
6962
  return;
6849
6963
  }
6850
- this.buffer += text12;
6964
+ this.buffer += text13;
6851
6965
  this.ensureTimer();
6852
6966
  }
6853
6967
  /**
@@ -6858,9 +6972,9 @@ var StreamSmoother = class {
6858
6972
  if (this.destroyed) return;
6859
6973
  this.stopTimer();
6860
6974
  if (this.buffer.length > 0) {
6861
- const text12 = this.buffer;
6975
+ const text13 = this.buffer;
6862
6976
  this.buffer = "";
6863
- this.callback(text12);
6977
+ this.callback(text13);
6864
6978
  }
6865
6979
  this.resolveDrain();
6866
6980
  }
@@ -6927,9 +7041,9 @@ var StreamSmoother = class {
6927
7041
  const currentSpeed = this.getCurrentSpeed(elapsed);
6928
7042
  const charsThisTick = Math.max(1, Math.round(currentSpeed * (TICK_INTERVAL / 1e3)));
6929
7043
  const toRelease = Math.min(charsThisTick, this.buffer.length);
6930
- const text12 = this.buffer.slice(0, toRelease);
7044
+ const text13 = this.buffer.slice(0, toRelease);
6931
7045
  this.buffer = this.buffer.slice(toRelease);
6932
- this.callback(text12);
7046
+ this.callback(text13);
6933
7047
  if (this.buffer.length === 0) {
6934
7048
  this.stopTimer();
6935
7049
  this.resolveDrain();
@@ -7133,6 +7247,7 @@ function getToolName(tool) {
7133
7247
  }
7134
7248
  function toolsAfterConfirmation(apiTools, executionResults) {
7135
7249
  const members = /* @__PURE__ */ new Set();
7250
+ let keepConfirm = false;
7136
7251
  for (const r of executionResults) {
7137
7252
  if (r.name !== CONFIRM_TOOL_NAME) continue;
7138
7253
  const answer = r.result;
@@ -7140,11 +7255,12 @@ function toolsAfterConfirmation(apiTools, executionResults) {
7140
7255
  const setName = CONFIRMED_ACTION_TOOL_SETS.get(answer.action.trim().toLowerCase());
7141
7256
  const set = BUILT_IN_TOOL_SETS.find((s) => s.name === setName);
7142
7257
  for (const member of set?.members ?? []) members.add(member);
7258
+ if (missingConfirmFields(answer.action, answer.parameters).length > 0) keepConfirm = true;
7143
7259
  }
7144
7260
  if (!apiTools.some((t) => members.has(getToolName(t) ?? ""))) return void 0;
7145
7261
  return apiTools.filter((t) => {
7146
7262
  const name = getToolName(t) ?? "";
7147
- return members.has(name) || name === CONFIRM_TOOL_NAME || name === TOOL_SEARCH_TOOL_NAME;
7263
+ return members.has(name) || name === TOOL_SEARCH_TOOL_NAME || keepConfirm && name === CONFIRM_TOOL_NAME;
7148
7264
  });
7149
7265
  }
7150
7266
  var STREAM_RESUMABLE_HEADER = "X-Stream-Resumable";
@@ -7350,9 +7466,9 @@ async function runToolLoop(options) {
7350
7466
  messages = await redactBatch(messages);
7351
7467
  if (preProcessors?.length) {
7352
7468
  try {
7353
- const text12 = extractLastUserText(messages);
7354
- if (text12.length > 0) {
7355
- const embedding = await generateEmbedding(text12, {
7469
+ const text13 = extractLastUserText(messages);
7470
+ if (text13.length > 0) {
7471
+ const embedding = await generateEmbedding(text13, {
7356
7472
  apiKey: headers?.["X-API-Key"],
7357
7473
  getToken: token ? () => Promise.resolve(token) : void 0,
7358
7474
  baseUrl
@@ -7360,7 +7476,7 @@ async function runToolLoop(options) {
7360
7476
  const results = await Promise.all(
7361
7477
  preProcessors.map(async (p) => {
7362
7478
  try {
7363
- return await p({ prompt: text12, embedding, signal: combinedSignal });
7479
+ return await p({ prompt: text13, embedding, signal: combinedSignal });
7364
7480
  } catch (err) {
7365
7481
  console.warn("[runToolLoop] pre-processor failed:", err);
7366
7482
  return void 0;
@@ -7519,11 +7635,11 @@ async function runToolLoop(options) {
7519
7635
  }
7520
7636
  });
7521
7637
  accumulator = createStreamAccumulator(model || void 0);
7522
- contentSmoother = new StreamSmoother((text12) => {
7523
- if (emitData) emitData(text12);
7638
+ contentSmoother = new StreamSmoother((text13) => {
7639
+ if (emitData) emitData(text13);
7524
7640
  }, smoothing);
7525
- thinkingSmoother = new StreamSmoother((text12) => {
7526
- if (emitThinking) emitThinking(text12);
7641
+ thinkingSmoother = new StreamSmoother((text13) => {
7642
+ if (emitThinking) emitThinking(text13);
7527
7643
  }, smoothing);
7528
7644
  let chunksEmittedDownstream = false;
7529
7645
  try {
@@ -8028,11 +8144,11 @@ Executing tool: ${toolInfo}
8028
8144
  }
8029
8145
  });
8030
8146
  currentAccumulator = createStreamAccumulator(model || void 0);
8031
- contContentSmoother = new StreamSmoother((text12) => {
8032
- if (emitData) emitData(text12);
8147
+ contContentSmoother = new StreamSmoother((text13) => {
8148
+ if (emitData) emitData(text13);
8033
8149
  }, smoothing);
8034
- contThinkingSmoother = new StreamSmoother((text12) => {
8035
- if (emitThinking) emitThinking(text12);
8150
+ contThinkingSmoother = new StreamSmoother((text13) => {
8151
+ if (emitThinking) emitThinking(text13);
8036
8152
  }, smoothing);
8037
8153
  let chunksEmittedDownstream = false;
8038
8154
  try {
@@ -8259,11 +8375,11 @@ async function resumeStream(options) {
8259
8375
  } = options;
8260
8376
  const strategy = getStrategy(handle.apiType);
8261
8377
  const accumulator = createStreamAccumulator(handle.model || void 0);
8262
- const contentSmoother = new StreamSmoother((text12) => {
8263
- if (onData) onData(text12);
8378
+ const contentSmoother = new StreamSmoother((text13) => {
8379
+ if (onData) onData(text13);
8264
8380
  }, smoothing);
8265
- const thinkingSmoother = new StreamSmoother((text12) => {
8266
- if (onThinking) onThinking(text12);
8381
+ const thinkingSmoother = new StreamSmoother((text13) => {
8382
+ if (onThinking) onThinking(text13);
8267
8383
  }, smoothing);
8268
8384
  const idleController = new AbortController();
8269
8385
  let watchdog;
@@ -8507,20 +8623,20 @@ function sseFailureMessage(status, statusText, detail = "") {
8507
8623
  return `SSE failed: ${status} ${statusText}${detail}`;
8508
8624
  }
8509
8625
  function parseSseChunks(raw, incompleteBuffer) {
8510
- const chunks = [];
8511
- const text12 = incompleteBuffer + raw;
8512
- const lines = text12.split("\n");
8626
+ const chunks2 = [];
8627
+ const text13 = incompleteBuffer + raw;
8628
+ const lines = text13.split("\n");
8513
8629
  const remaining = raw.endsWith("\n") ? "" : lines.pop() ?? "";
8514
8630
  for (const line of lines) {
8515
8631
  if (!line.startsWith("data: ")) continue;
8516
8632
  const data = line.substring(6).trim();
8517
8633
  if (data === "[DONE]") continue;
8518
8634
  try {
8519
- chunks.push(JSON.parse(data));
8635
+ chunks2.push(JSON.parse(data));
8520
8636
  } catch {
8521
8637
  }
8522
8638
  }
8523
- return { chunks, remaining };
8639
+ return { chunks: chunks2, remaining };
8524
8640
  }
8525
8641
  var xhrTransport = (options) => {
8526
8642
  const queue = [];
@@ -8589,18 +8705,18 @@ var xhrTransport = (options) => {
8589
8705
  const newData = xhr.responseText.substring(lastProcessedIndex);
8590
8706
  lastProcessedIndex = xhr.responseText.length;
8591
8707
  if (newData.length > 0) options.onActivity?.();
8592
- const { chunks, remaining } = parseSseChunks(newData, incompleteBuffer);
8708
+ const { chunks: chunks2, remaining } = parseSseChunks(newData, incompleteBuffer);
8593
8709
  incompleteBuffer = remaining;
8594
- for (const chunk of chunks) {
8710
+ for (const chunk of chunks2) {
8595
8711
  push({ type: "data", value: chunk });
8596
8712
  }
8597
8713
  };
8598
8714
  xhr.onload = () => {
8599
8715
  options.signal?.removeEventListener("abort", abortHandler);
8600
8716
  if (incompleteBuffer) {
8601
- const { chunks } = parseSseChunks(incompleteBuffer + "\n", "");
8717
+ const { chunks: chunks2 } = parseSseChunks(incompleteBuffer + "\n", "");
8602
8718
  incompleteBuffer = "";
8603
- for (const chunk of chunks) {
8719
+ for (const chunk of chunks2) {
8604
8720
  push({ type: "data", value: chunk });
8605
8721
  }
8606
8722
  }
@@ -8710,7 +8826,7 @@ async function decryptConversationTitle(encryptedTitle, address) {
8710
8826
 
8711
8827
  // src/lib/db/chat/models.ts
8712
8828
  import { Model as Model2 } from "@nozbe/watermelondb";
8713
- import { date, field, json, text } from "@nozbe/watermelondb/decorators";
8829
+ import { date, field, json, text as text2 } from "@nozbe/watermelondb/decorators";
8714
8830
  var Message = class extends Model2 {
8715
8831
  };
8716
8832
  Message.table = "history";
@@ -8722,19 +8838,19 @@ __decorateClass([
8722
8838
  field("message_id")
8723
8839
  ], Message.prototype, "messageId", 2);
8724
8840
  __decorateClass([
8725
- text("conversation_id")
8841
+ text2("conversation_id")
8726
8842
  ], Message.prototype, "conversationId", 2);
8727
8843
  __decorateClass([
8728
- text("role")
8844
+ text2("role")
8729
8845
  ], Message.prototype, "role", 2);
8730
8846
  __decorateClass([
8731
- text("content")
8847
+ text2("content")
8732
8848
  ], Message.prototype, "content", 2);
8733
8849
  __decorateClass([
8734
- text("model")
8850
+ text2("model")
8735
8851
  ], Message.prototype, "model", 2);
8736
8852
  __decorateClass([
8737
- text("image_model")
8853
+ text2("image_model")
8738
8854
  ], Message.prototype, "imageModel", 2);
8739
8855
  __decorateClass([
8740
8856
  json("files", (raw) => raw)
@@ -8752,7 +8868,7 @@ __decorateClass([
8752
8868
  json("vector", (raw) => raw)
8753
8869
  ], Message.prototype, "vector", 2);
8754
8870
  __decorateClass([
8755
- text("embedding_model")
8871
+ text2("embedding_model")
8756
8872
  ], Message.prototype, "embeddingModel", 2);
8757
8873
  __decorateClass([
8758
8874
  json("chunks", (raw) => raw)
@@ -8770,25 +8886,25 @@ __decorateClass([
8770
8886
  field("was_stopped")
8771
8887
  ], Message.prototype, "wasStopped", 2);
8772
8888
  __decorateClass([
8773
- text("error")
8889
+ text2("error")
8774
8890
  ], Message.prototype, "error", 2);
8775
8891
  __decorateClass([
8776
8892
  json("thought_process", (raw) => raw)
8777
8893
  ], Message.prototype, "thoughtProcess", 2);
8778
8894
  __decorateClass([
8779
- text("thinking")
8895
+ text2("thinking")
8780
8896
  ], Message.prototype, "thinking", 2);
8781
8897
  __decorateClass([
8782
- text("parent_message_id")
8898
+ text2("parent_message_id")
8783
8899
  ], Message.prototype, "parentMessageId", 2);
8784
8900
  __decorateClass([
8785
- text("feedback")
8901
+ text2("feedback")
8786
8902
  ], Message.prototype, "feedback", 2);
8787
8903
  __decorateClass([
8788
8904
  json("tool_call_events", (raw) => raw)
8789
8905
  ], Message.prototype, "toolCallEvents", 2);
8790
8906
  __decorateClass([
8791
- text("origin")
8907
+ text2("origin")
8792
8908
  ], Message.prototype, "origin", 2);
8793
8909
  var Conversation = class extends Model2 {
8794
8910
  };
@@ -8798,13 +8914,13 @@ Conversation.associations = {
8798
8914
  projects: { type: "belongs_to", key: "project_id" }
8799
8915
  };
8800
8916
  __decorateClass([
8801
- text("conversation_id")
8917
+ text2("conversation_id")
8802
8918
  ], Conversation.prototype, "conversationId", 2);
8803
8919
  __decorateClass([
8804
- text("title")
8920
+ text2("title")
8805
8921
  ], Conversation.prototype, "title", 2);
8806
8922
  __decorateClass([
8807
- text("project_id")
8923
+ text2("project_id")
8808
8924
  ], Conversation.prototype, "projectId", 2);
8809
8925
  __decorateClass([
8810
8926
  date("created_at")
@@ -8825,13 +8941,13 @@ ConversationSummary.associations = {
8825
8941
  conversations: { type: "belongs_to", key: "conversation_id" }
8826
8942
  };
8827
8943
  __decorateClass([
8828
- text("conversation_id")
8944
+ text2("conversation_id")
8829
8945
  ], ConversationSummary.prototype, "conversationId", 2);
8830
8946
  __decorateClass([
8831
- text("summary")
8947
+ text2("summary")
8832
8948
  ], ConversationSummary.prototype, "summary", 2);
8833
8949
  __decorateClass([
8834
- text("summarized_up_to")
8950
+ text2("summarized_up_to")
8835
8951
  ], ConversationSummary.prototype, "summarizedUpTo", 2);
8836
8952
  __decorateClass([
8837
8953
  field("token_count")
@@ -9005,14 +9121,14 @@ var MaskScopedEmbeddingCache = class extends Map {
9005
9121
  this.inner = inner;
9006
9122
  this.masked = masked;
9007
9123
  }
9008
- key(text12) {
9009
- return `${this.masked ? "m" : "r"}:${text12}`;
9124
+ key(text13) {
9125
+ return `${this.masked ? "m" : "r"}:${text13}`;
9010
9126
  }
9011
- get(text12) {
9012
- return this.inner.get(this.key(text12));
9127
+ get(text13) {
9128
+ return this.inner.get(this.key(text13));
9013
9129
  }
9014
- set(text12, value) {
9015
- this.inner.set(this.key(text12), value);
9130
+ set(text13, value) {
9131
+ this.inner.set(this.key(text13), value);
9016
9132
  return this;
9017
9133
  }
9018
9134
  };
@@ -9022,16 +9138,16 @@ function maskScopedEmbeddingCache(cache, masked) {
9022
9138
 
9023
9139
  // src/lib/db/conversationMemory/models.ts
9024
9140
  import { Model as Model3 } from "@nozbe/watermelondb";
9025
- import { date as date2, field as field2, readonly, text as text2 } from "@nozbe/watermelondb/decorators";
9141
+ import { date as date2, field as field2, readonly, text as text3 } from "@nozbe/watermelondb/decorators";
9026
9142
  var ConversationMemory = class extends Model3 {
9027
9143
  };
9028
9144
  ConversationMemory.table = "conversation_memory";
9029
9145
  ConversationMemory.associations = {};
9030
9146
  __decorateClass([
9031
- text2("conversation_id")
9147
+ text3("conversation_id")
9032
9148
  ], ConversationMemory.prototype, "conversationId", 2);
9033
9149
  __decorateClass([
9034
- text2("memory_id")
9150
+ text3("memory_id")
9035
9151
  ], ConversationMemory.prototype, "memoryId", 2);
9036
9152
  __decorateClass([
9037
9153
  field2("score")
@@ -9113,19 +9229,19 @@ import {
9113
9229
 
9114
9230
  // src/lib/db/appFiles/models.ts
9115
9231
  import { Model as Model4 } from "@nozbe/watermelondb";
9116
- import { date as date3, readonly as readonly2, text as text3 } from "@nozbe/watermelondb/decorators";
9232
+ import { date as date3, readonly as readonly2, text as text4 } from "@nozbe/watermelondb/decorators";
9117
9233
  var AppFile = class extends Model4 {
9118
9234
  };
9119
9235
  AppFile.table = "app_files";
9120
9236
  AppFile.associations = {};
9121
9237
  __decorateClass([
9122
- text3("conversation_id")
9238
+ text4("conversation_id")
9123
9239
  ], AppFile.prototype, "conversationId", 2);
9124
9240
  __decorateClass([
9125
- text3("path")
9241
+ text4("path")
9126
9242
  ], AppFile.prototype, "path", 2);
9127
9243
  __decorateClass([
9128
- text3("content")
9244
+ text4("content")
9129
9245
  ], AppFile.prototype, "content", 2);
9130
9246
  __decorateClass([
9131
9247
  readonly2,
@@ -9137,12 +9253,12 @@ __decorateClass([
9137
9253
 
9138
9254
  // src/lib/db/entities/models.ts
9139
9255
  import { Model as Model5 } from "@nozbe/watermelondb";
9140
- import { date as date4, field as field3, readonly as readonly3, text as text4 } from "@nozbe/watermelondb/decorators";
9256
+ import { date as date4, field as field3, readonly as readonly3, text as text5 } from "@nozbe/watermelondb/decorators";
9141
9257
  var Entity = class extends Model5 {
9142
9258
  };
9143
9259
  Entity.table = "entity";
9144
9260
  __decorateClass([
9145
- text4("canonical_name")
9261
+ text5("canonical_name")
9146
9262
  ], Entity.prototype, "canonicalName", 2);
9147
9263
  __decorateClass([
9148
9264
  field3("kind")
@@ -9158,10 +9274,10 @@ var MemoryEntity = class extends Model5 {
9158
9274
  };
9159
9275
  MemoryEntity.table = "memory_entity";
9160
9276
  __decorateClass([
9161
- text4("memory_id")
9277
+ text5("memory_id")
9162
9278
  ], MemoryEntity.prototype, "memoryId", 2);
9163
9279
  __decorateClass([
9164
- text4("entity_id")
9280
+ text5("entity_id")
9165
9281
  ], MemoryEntity.prototype, "entityId", 2);
9166
9282
  __decorateClass([
9167
9283
  field3("user_id")
@@ -9173,7 +9289,7 @@ __decorateClass([
9173
9289
 
9174
9290
  // src/lib/db/media/models.ts
9175
9291
  import { Model as Model6 } from "@nozbe/watermelondb";
9176
- import { date as date5, field as field4, json as json2, readonly as readonly4, text as text5 } from "@nozbe/watermelondb/decorators";
9292
+ import { date as date5, field as field4, json as json2, readonly as readonly4, text as text6 } from "@nozbe/watermelondb/decorators";
9177
9293
  var Media = class extends Model6 {
9178
9294
  };
9179
9295
  Media.table = "media";
@@ -9182,37 +9298,37 @@ Media.associations = {
9182
9298
  conversations: { type: "belongs_to", key: "conversation_id" }
9183
9299
  };
9184
9300
  __decorateClass([
9185
- text5("media_id")
9301
+ text6("media_id")
9186
9302
  ], Media.prototype, "mediaId", 2);
9187
9303
  __decorateClass([
9188
- text5("wallet_address")
9304
+ text6("wallet_address")
9189
9305
  ], Media.prototype, "walletAddress", 2);
9190
9306
  __decorateClass([
9191
- text5("message_id")
9307
+ text6("message_id")
9192
9308
  ], Media.prototype, "messageId", 2);
9193
9309
  __decorateClass([
9194
- text5("conversation_id")
9310
+ text6("conversation_id")
9195
9311
  ], Media.prototype, "conversationId", 2);
9196
9312
  __decorateClass([
9197
- text5("name")
9313
+ text6("name")
9198
9314
  ], Media.prototype, "name", 2);
9199
9315
  __decorateClass([
9200
- text5("mime_type")
9316
+ text6("mime_type")
9201
9317
  ], Media.prototype, "mimeType", 2);
9202
9318
  __decorateClass([
9203
- text5("media_type")
9319
+ text6("media_type")
9204
9320
  ], Media.prototype, "mediaType", 2);
9205
9321
  __decorateClass([
9206
9322
  field4("size")
9207
9323
  ], Media.prototype, "size", 2);
9208
9324
  __decorateClass([
9209
- text5("role")
9325
+ text6("role")
9210
9326
  ], Media.prototype, "role", 2);
9211
9327
  __decorateClass([
9212
- text5("model")
9328
+ text6("model")
9213
9329
  ], Media.prototype, "model", 2);
9214
9330
  __decorateClass([
9215
- text5("source_url")
9331
+ text6("source_url")
9216
9332
  ], Media.prototype, "sourceUrl", 2);
9217
9333
  __decorateClass([
9218
9334
  json2("dimensions", (raw) => raw)
@@ -9236,15 +9352,15 @@ __decorateClass([
9236
9352
 
9237
9353
  // src/lib/db/memoryVault/models.ts
9238
9354
  import { Model as Model7 } from "@nozbe/watermelondb";
9239
- import { date as date6, field as field5, readonly as readonly5, text as text6 } from "@nozbe/watermelondb/decorators";
9355
+ import { date as date6, field as field5, readonly as readonly5, text as text7 } from "@nozbe/watermelondb/decorators";
9240
9356
  var VaultMemory = class extends Model7 {
9241
9357
  };
9242
9358
  VaultMemory.table = "memory_vault";
9243
9359
  __decorateClass([
9244
- text6("content")
9360
+ text7("content")
9245
9361
  ], VaultMemory.prototype, "content", 2);
9246
9362
  __decorateClass([
9247
- text6("scope")
9363
+ text7("scope")
9248
9364
  ], VaultMemory.prototype, "scope", 2);
9249
9365
  __decorateClass([
9250
9366
  field5("kind")
@@ -9346,7 +9462,7 @@ __decorateClass([
9346
9462
 
9347
9463
  // src/lib/db/project/models.ts
9348
9464
  import { Model as Model8 } from "@nozbe/watermelondb";
9349
- import { date as date7, field as field6, text as text7 } from "@nozbe/watermelondb/decorators";
9465
+ import { date as date7, field as field6, text as text8 } from "@nozbe/watermelondb/decorators";
9350
9466
  var Project = class extends Model8 {
9351
9467
  };
9352
9468
  Project.table = "projects";
@@ -9354,10 +9470,10 @@ Project.associations = {
9354
9470
  conversations: { type: "has_many", foreignKey: "project_id" }
9355
9471
  };
9356
9472
  __decorateClass([
9357
- text7("project_id")
9473
+ text8("project_id")
9358
9474
  ], Project.prototype, "projectId", 2);
9359
9475
  __decorateClass([
9360
- text7("name")
9476
+ text8("name")
9361
9477
  ], Project.prototype, "name", 2);
9362
9478
  __decorateClass([
9363
9479
  date7("created_at")
@@ -9371,29 +9487,29 @@ __decorateClass([
9371
9487
 
9372
9488
  // src/lib/db/savedTools/models.ts
9373
9489
  import { Model as Model9 } from "@nozbe/watermelondb";
9374
- import { date as date8, field as field7, json as json3, readonly as readonly6, text as text8 } from "@nozbe/watermelondb/decorators";
9490
+ import { date as date8, field as field7, json as json3, readonly as readonly6, text as text9 } from "@nozbe/watermelondb/decorators";
9375
9491
  var sanitizeParameters = (raw) => raw ?? {};
9376
9492
  var SavedTool = class extends Model9 {
9377
9493
  };
9378
9494
  SavedTool.table = "saved_tools";
9379
9495
  SavedTool.associations = {};
9380
9496
  __decorateClass([
9381
- text8("name")
9497
+ text9("name")
9382
9498
  ], SavedTool.prototype, "name", 2);
9383
9499
  __decorateClass([
9384
- text8("display_name")
9500
+ text9("display_name")
9385
9501
  ], SavedTool.prototype, "displayName", 2);
9386
9502
  __decorateClass([
9387
- text8("description")
9503
+ text9("description")
9388
9504
  ], SavedTool.prototype, "description", 2);
9389
9505
  __decorateClass([
9390
9506
  json3("parameters", sanitizeParameters)
9391
9507
  ], SavedTool.prototype, "parameters", 2);
9392
9508
  __decorateClass([
9393
- text8("html")
9509
+ text9("html")
9394
9510
  ], SavedTool.prototype, "html", 2);
9395
9511
  __decorateClass([
9396
- text8("conversation_id")
9512
+ text9("conversation_id")
9397
9513
  ], SavedTool.prototype, "conversationId", 2);
9398
9514
  __decorateClass([
9399
9515
  readonly6,
@@ -9408,40 +9524,40 @@ __decorateClass([
9408
9524
 
9409
9525
  // src/lib/db/settings/models.ts
9410
9526
  import { Model as Model10 } from "@nozbe/watermelondb";
9411
- import { text as text9 } from "@nozbe/watermelondb/decorators";
9527
+ import { text as text10 } from "@nozbe/watermelondb/decorators";
9412
9528
  var ModelPreference = class extends Model10 {
9413
9529
  };
9414
9530
  ModelPreference.table = "modelPreferences";
9415
9531
  __decorateClass([
9416
- text9("wallet_address")
9532
+ text10("wallet_address")
9417
9533
  ], ModelPreference.prototype, "walletAddress", 2);
9418
9534
  __decorateClass([
9419
- text9("models")
9535
+ text10("models")
9420
9536
  ], ModelPreference.prototype, "models", 2);
9421
9537
 
9422
9538
  // src/lib/db/userPreferences/models.ts
9423
9539
  import { Model as Model11 } from "@nozbe/watermelondb";
9424
- import { field as field8, text as text10 } from "@nozbe/watermelondb/decorators";
9540
+ import { field as field8, text as text11 } from "@nozbe/watermelondb/decorators";
9425
9541
  var UserPreference = class extends Model11 {
9426
9542
  };
9427
9543
  UserPreference.table = "userPreferences";
9428
9544
  __decorateClass([
9429
- text10("wallet_address")
9545
+ text11("wallet_address")
9430
9546
  ], UserPreference.prototype, "walletAddress", 2);
9431
9547
  __decorateClass([
9432
- text10("nickname")
9548
+ text11("nickname")
9433
9549
  ], UserPreference.prototype, "nickname", 2);
9434
9550
  __decorateClass([
9435
- text10("occupation")
9551
+ text11("occupation")
9436
9552
  ], UserPreference.prototype, "occupation", 2);
9437
9553
  __decorateClass([
9438
- text10("description")
9554
+ text11("description")
9439
9555
  ], UserPreference.prototype, "description", 2);
9440
9556
  __decorateClass([
9441
- text10("models")
9557
+ text11("models")
9442
9558
  ], UserPreference.prototype, "models", 2);
9443
9559
  __decorateClass([
9444
- text10("personality")
9560
+ text11("personality")
9445
9561
  ], UserPreference.prototype, "personality", 2);
9446
9562
  __decorateClass([
9447
9563
  field8("created_at")
@@ -9452,15 +9568,15 @@ __decorateClass([
9452
9568
 
9453
9569
  // src/lib/db/vaultFolders/models.ts
9454
9570
  import { Model as Model12 } from "@nozbe/watermelondb";
9455
- import { date as date9, field as field9, readonly as readonly7, text as text11 } from "@nozbe/watermelondb/decorators";
9571
+ import { date as date9, field as field9, readonly as readonly7, text as text12 } from "@nozbe/watermelondb/decorators";
9456
9572
  var VaultFolder = class extends Model12 {
9457
9573
  };
9458
9574
  VaultFolder.table = "vault_folders";
9459
9575
  __decorateClass([
9460
- text11("name")
9576
+ text12("name")
9461
9577
  ], VaultFolder.prototype, "name", 2);
9462
9578
  __decorateClass([
9463
- text11("scope")
9579
+ text12("scope")
9464
9580
  ], VaultFolder.prototype, "scope", 2);
9465
9581
  __decorateClass([
9466
9582
  readonly7,
@@ -9476,7 +9592,7 @@ __decorateClass([
9476
9592
  field9("is_system")
9477
9593
  ], VaultFolder.prototype, "isSystem", 2);
9478
9594
  __decorateClass([
9479
- text11("context")
9595
+ text12("context")
9480
9596
  ], VaultFolder.prototype, "context", 2);
9481
9597
 
9482
9598
  // src/lib/db/schema.ts
@@ -13044,7 +13160,7 @@ Which item numbers should be flagged?`,
13044
13160
  if (parsed === null) return empty;
13045
13161
  return { flagged: parseFlagged(parsed, scope.length) };
13046
13162
  }
13047
- function parseFlagged(parsed, count) {
13163
+ function parseFlagged(parsed, count2) {
13048
13164
  const out = /* @__PURE__ */ new Set();
13049
13165
  if (typeof parsed !== "object" || parsed === null) return out;
13050
13166
  const list = parsed.poisoned;
@@ -13052,7 +13168,7 @@ function parseFlagged(parsed, count) {
13052
13168
  for (const raw of list) {
13053
13169
  const n = typeof raw === "number" ? raw : typeof raw === "string" ? Number(raw) : NaN;
13054
13170
  if (!Number.isInteger(n)) continue;
13055
- if (n >= 1 && n <= count) out.add(n - 1);
13171
+ if (n >= 1 && n <= count2) out.add(n - 1);
13056
13172
  }
13057
13173
  return out;
13058
13174
  }
@@ -13538,8 +13654,8 @@ var STOPWORDS = /* @__PURE__ */ new Set([
13538
13654
  "user",
13539
13655
  "users"
13540
13656
  ]);
13541
- function tokenize(text12) {
13542
- const m = text12.toLowerCase().match(TOKEN_RE);
13657
+ function tokenize(text13) {
13658
+ const m = text13.toLowerCase().match(TOKEN_RE);
13543
13659
  if (!m) return [];
13544
13660
  return m.filter((t) => !STOPWORDS.has(t));
13545
13661
  }
@@ -15063,14 +15179,14 @@ async function retainWithPersistence(content, ctx, options = {}) {
15063
15179
  );
15064
15180
  }
15065
15181
  if (options.consolidateOptions) {
15066
- const outcome = await tryConsolidate(trimmed, ctx, options, prepared);
15067
- if (outcome) {
15068
- if ("done" in outcome) return outcome.done;
15069
- if ("create" in outcome) {
15182
+ const outcome2 = await tryConsolidate(trimmed, ctx, options, prepared);
15183
+ if (outcome2) {
15184
+ if ("done" in outcome2) return outcome2.done;
15185
+ if ("create" in outcome2) {
15070
15186
  consolidationDecidedCreate = true;
15071
15187
  } else {
15072
- supersedeTargetIds = outcome.supersede;
15073
- supersedeContent = outcome.content;
15188
+ supersedeTargetIds = outcome2.supersede;
15189
+ supersedeContent = outcome2.content;
15074
15190
  }
15075
15191
  }
15076
15192
  }
@@ -15736,12 +15852,12 @@ async function extractAndRetain(messages, retainCtx, options) {
15736
15852
  if (failedWrites > 0) {
15737
15853
  log.warn(`[memory/extract] ${failedWrites} of ${filtered.length} candidates failed to retain`);
15738
15854
  }
15739
- const outcome = exhaustedEmpty ? "empty-after-retry" : filtered.length > 0 ? "extracted" : droppedAfterRedaction ? "dropped-after-redaction" : "no-facts";
15855
+ const outcome2 = exhaustedEmpty ? "empty-after-retry" : filtered.length > 0 ? "extracted" : droppedAfterRedaction ? "dropped-after-redaction" : "no-facts";
15740
15856
  return {
15741
15857
  candidates: succeededCandidates,
15742
15858
  results,
15743
15859
  failedCount: failedWrites,
15744
- outcome,
15860
+ outcome: outcome2,
15745
15861
  quarantined: quarantinedInfo,
15746
15862
  funnel: {
15747
15863
  rawCandidateCount,
@@ -15971,7 +16087,7 @@ function createAutoExtractor(options) {
15971
16087
  ...options.retainCtx,
15972
16088
  embeddingOptions: {
15973
16089
  ...options.retainCtx.embeddingOptions,
15974
- maskInput: (text12) => piiRedactor.maskText(text12)
16090
+ maskInput: (text13) => piiRedactor.maskText(text13)
15975
16091
  }
15976
16092
  } : options.retainCtx;
15977
16093
  function processTurn(messages, conversationId) {
@@ -16004,7 +16120,7 @@ function createAutoExtractor(options) {
16004
16120
  const t0 = Date.now();
16005
16121
  void (async () => {
16006
16122
  try {
16007
- const { candidates, results, failedCount, outcome, failure, funnel, timings, model } = await extractAndRetain(window2, retainCtx, {
16123
+ const { candidates, results, failedCount, outcome: outcome2, failure, funnel, timings, model } = await extractAndRetain(window2, retainCtx, {
16008
16124
  extract,
16009
16125
  ...options.minConfidence !== void 0 && { minConfidence: options.minConfidence },
16010
16126
  ...options.entityCtx !== void 0 && { entityCtx: options.entityCtx },
@@ -16021,7 +16137,7 @@ function createAutoExtractor(options) {
16021
16137
  onQuarantined: (info) => options.onMemoryQuarantined?.({ ...info, conversationId })
16022
16138
  }
16023
16139
  });
16024
- if (outcome !== "empty-after-retry" && failedCount === 0) {
16140
+ if (outcome2 !== "empty-after-retry" && failedCount === 0) {
16025
16141
  const advancedTo = window2[window2.length - 1].id;
16026
16142
  stateFor(conversationId).watermark = advancedTo;
16027
16143
  persistCursor(conversationId, messages, advancedTo, contiguous);
@@ -16040,7 +16156,7 @@ function createAutoExtractor(options) {
16040
16156
  failedCount,
16041
16157
  durationMs: Date.now() - t0,
16042
16158
  conversationId,
16043
- outcome,
16159
+ outcome: outcome2,
16044
16160
  funnel,
16045
16161
  timings,
16046
16162
  model,
@@ -17702,12 +17818,12 @@ ${JSON.stringify(
17702
17818
  function parseAnswer(body, base, parseSchema) {
17703
17819
  if (typeof body !== "object" || body === null) return base;
17704
17820
  const obj = body;
17705
- const text12 = extractCompletionContent(obj) ?? "";
17821
+ const text13 = extractCompletionContent(obj) ?? "";
17706
17822
  const usage = obj.usage;
17707
17823
  let structuredOutput;
17708
- if (parseSchema && text12) {
17824
+ if (parseSchema && text13) {
17709
17825
  try {
17710
- structuredOutput = JSON.parse(extractJsonCandidate(text12));
17826
+ structuredOutput = JSON.parse(extractJsonCandidate(text13));
17711
17827
  } catch (err) {
17712
17828
  getLogger().warn("[memory/reflect] structured output was not valid JSON", {
17713
17829
  err: err instanceof Error ? err.message : String(err)
@@ -17717,7 +17833,7 @@ function parseAnswer(body, base, parseSchema) {
17717
17833
  const promptTokens = usage?.prompt_tokens ?? usage?.input_tokens ?? 0;
17718
17834
  const completionTokens = usage?.completion_tokens ?? usage?.output_tokens ?? 0;
17719
17835
  return {
17720
- text: text12,
17836
+ text: text13,
17721
17837
  ...structuredOutput !== void 0 && { structuredOutput },
17722
17838
  basedOn: base.basedOn,
17723
17839
  usage: {
@@ -18069,6 +18185,65 @@ function createLocalMemoryStore(options) {
18069
18185
  };
18070
18186
  }
18071
18187
 
18188
+ // src/lib/memory/store/memoryKeys.ts
18189
+ var KEY_ID_DOMAIN = "anuma-private-memory-key-id-v1";
18190
+ var MemoryKeyError = class extends Error {
18191
+ constructor(message) {
18192
+ super(message);
18193
+ this.name = "MemoryKeyError";
18194
+ }
18195
+ };
18196
+ async function importAesKey(hex) {
18197
+ return crypto.subtle.importKey(
18198
+ "raw",
18199
+ hexToBytes(hex).buffer,
18200
+ { name: "AES-GCM" },
18201
+ false,
18202
+ ["encrypt", "decrypt"]
18203
+ );
18204
+ }
18205
+ async function deriveMemoryKeyRing(signatureHex) {
18206
+ const v3Hex = await deriveKeyFromSignatureV3(signatureHex);
18207
+ const digest = await crypto.subtle.digest(
18208
+ "SHA-256",
18209
+ new TextEncoder().encode(`${KEY_ID_DOMAIN}:${v3Hex}`)
18210
+ );
18211
+ const keyId = "v3:" + Array.from(new Uint8Array(digest), (byte) => byte.toString(16).padStart(2, "0")).join("");
18212
+ return {
18213
+ keyId,
18214
+ v3: await importAesKey(v3Hex),
18215
+ v2: await importAesKey(await deriveKeyFromSignature(signatureHex))
18216
+ };
18217
+ }
18218
+ async function decryptWith(value, rings) {
18219
+ const version = value.startsWith("enc:v3:") ? "v3" : "v2";
18220
+ for (const ring of rings) {
18221
+ try {
18222
+ return await decryptDataWithKey(value.slice(`enc:${version}:`.length), ring[version]);
18223
+ } catch {
18224
+ continue;
18225
+ }
18226
+ }
18227
+ throw new MemoryKeyError(`No supplied key decrypts this enc:${version} field`);
18228
+ }
18229
+ function memoryCipher(canonical) {
18230
+ return {
18231
+ encrypt: async (plaintext) => `enc:v3:${await encryptDataWithKey(plaintext, canonical.v3)}`,
18232
+ decrypt: async (ciphertext) => {
18233
+ if (!ciphertext.startsWith("enc:v3:") || !isEncrypted(ciphertext))
18234
+ throw new MemoryKeyError("Remote memory content must be enc:v3 ciphertext");
18235
+ return decryptWith(ciphertext, [canonical]);
18236
+ }
18237
+ };
18238
+ }
18239
+ async function reencryptMemoryField(value, canonical, fallbacks = []) {
18240
+ const { encrypt } = memoryCipher(canonical);
18241
+ if (!value.startsWith("enc:")) return encrypt(value);
18242
+ if (!isEncrypted(value))
18243
+ throw new MemoryKeyError("Field has an encryption prefix but an invalid payload");
18244
+ return encrypt(await decryptWith(value, [canonical, ...fallbacks]));
18245
+ }
18246
+
18072
18247
  // src/lib/memory/store/remotePersistence.ts
18073
18248
  var RemoteMemoryError = class extends Error {
18074
18249
  constructor(message, status, code) {
@@ -18121,6 +18296,30 @@ var candidateListLimits = [
18121
18296
  ["memory_ids", 1e3],
18122
18297
  ["force_ids", 100]
18123
18298
  ];
18299
+ var queryListLimits = [
18300
+ ["scopes", 20],
18301
+ ["fact_types", 20],
18302
+ ["visibility", 20],
18303
+ ["memory_ids", 1e3],
18304
+ ["topics", 100]
18305
+ ];
18306
+ var queryFields = [
18307
+ "include_deleted",
18308
+ "include_archived",
18309
+ "include_quarantined",
18310
+ "include_superseded",
18311
+ "archived_only",
18312
+ "scopes",
18313
+ "fact_types",
18314
+ "visibility",
18315
+ "memory_ids",
18316
+ "topics",
18317
+ "updated_after",
18318
+ "order",
18319
+ "cursor",
18320
+ "limit",
18321
+ "include_embeddings"
18322
+ ];
18124
18323
  function record(value) {
18125
18324
  return typeof value === "object" && value !== null && !Array.isArray(value);
18126
18325
  }
@@ -18455,6 +18654,35 @@ async function createRemoteMemoryPersistence(options) {
18455
18654
  throw new Error("Invalid nearby batch response");
18456
18655
  return Promise.all(result.items.map((item, i) => decodeCommitted(item, prepared[i])));
18457
18656
  },
18657
+ query: async (queryOptions = {}) => {
18658
+ const { signal, ...query } = queryOptions;
18659
+ if (query.limit !== void 0 && (!Number.isInteger(query.limit) || query.limit < 1 || query.limit > 200))
18660
+ throw new Error("Page limit must be 1\u2013200");
18661
+ for (const [key, max] of queryListLimits) {
18662
+ const values = query[key];
18663
+ if (values && values.length > max)
18664
+ throw new Error(`Query ${key} accepts at most ${max} entries (got ${values.length})`);
18665
+ }
18666
+ const page = await request(
18667
+ "/memories/query",
18668
+ {
18669
+ method: "POST",
18670
+ body: JSON.stringify(
18671
+ Object.fromEntries(
18672
+ queryFields.filter((key) => query[key] !== void 0).map((key) => [key, query[key]])
18673
+ )
18674
+ )
18675
+ },
18676
+ signal
18677
+ );
18678
+ if (!record(page) || !Array.isArray(page.items) || page.next_cursor !== void 0 && typeof page.next_cursor !== "string" || page.changes_cursor !== void 0 && typeof page.changes_cursor !== "string")
18679
+ throw new Error("Invalid nearby private-memory page");
18680
+ return {
18681
+ ...await decodeAll(page.items),
18682
+ ...page.next_cursor !== void 0 && { next_cursor: page.next_cursor },
18683
+ ...page.changes_cursor !== void 0 && { changes_cursor: page.changes_cursor }
18684
+ };
18685
+ },
18458
18686
  candidateSet,
18459
18687
  candidates: async (embedding, candidateOptions = {}) => decodeAll((await fetchCandidates(embedding, candidateOptions, false)).items)
18460
18688
  };
@@ -18805,10 +19033,10 @@ function createRemoteMemoryPipeline(options) {
18805
19033
  factSource: {
18806
19034
  graphRanking: options.graphRanking,
18807
19035
  temporalRanking: options.temporalRanking,
18808
- search: async (text12, searchOptions) => {
18809
- const prepared = await prepare(text12, searchOptions);
19036
+ search: async (text13, searchOptions) => {
19037
+ const prepared = await prepare(text13, searchOptions);
18810
19038
  const ranked = await rankPreparedVaultCandidates(
18811
- text12,
19039
+ text13,
18812
19040
  prepared,
18813
19041
  embeddingOptions,
18814
19042
  searchOptions
@@ -18843,6 +19071,489 @@ function createRemoteMemoryPipeline(options) {
18843
19071
  };
18844
19072
  }
18845
19073
 
19074
+ // src/lib/memory/store/remoteStore.ts
19075
+ import { v7 as uuidv75 } from "uuid";
19076
+ function relevant(change, options) {
19077
+ return options.includeDeleted ? change === "membership" : change !== "embedding" || !!options.embeddings;
19078
+ }
19079
+ function safely(onChange) {
19080
+ try {
19081
+ onChange();
19082
+ } catch (error) {
19083
+ getLogger().warn("[memory/remote-store] Subscriber threw:", error);
19084
+ }
19085
+ }
19086
+ var MAX_BATCH = 50;
19087
+ var MAX_QUERY_IDS = 1e3;
19088
+ var MAX_QUERY_TOPICS = 100;
19089
+ var MAX_QUERY_FILTER = 20;
19090
+ var RemoteMemoryPartialCreateError = class extends Error {
19091
+ constructor(created, cause) {
19092
+ super(`createMany stored ${created.length} memories before a batch failed`);
19093
+ this.created = created;
19094
+ this.cause = cause;
19095
+ this.name = "RemoteMemoryPartialCreateError";
19096
+ }
19097
+ };
19098
+ function warnFailed(failed) {
19099
+ if (failed.length)
19100
+ getLogger().warn(
19101
+ `[memory/remote-store] Skipping ${failed.length} undecryptable row(s)`,
19102
+ failed.map((failure) => failure.memory_id)
19103
+ );
19104
+ }
19105
+ function bounded(filters, key) {
19106
+ const values = filters[key];
19107
+ if (!values || values.length <= MAX_QUERY_FILTER) return [filters];
19108
+ return chunks(values, MAX_QUERY_FILTER).map((chunk) => ({ ...filters, [key]: chunk }));
19109
+ }
19110
+ function chunks(values, size) {
19111
+ const out = [];
19112
+ for (let i = 0; i < values.length; i += size) out.push(values.slice(i, i + size));
19113
+ return out;
19114
+ }
19115
+ function stateFilters(options) {
19116
+ return {
19117
+ include_deleted: options.includeDeleted,
19118
+ include_archived: options.includeArchived,
19119
+ include_quarantined: options.includeQuarantined,
19120
+ include_superseded: options.includeSuperseded
19121
+ };
19122
+ }
19123
+ function hidden(memory, options) {
19124
+ if (memory.trust_tier === "quarantined") return true;
19125
+ if (options.includeDeleted) return false;
19126
+ return !!memory.is_deleted || memory.archived_at !== void 0 && memory.archived_at !== null || !!memory.superseded_by;
19127
+ }
19128
+ function subscriptionKey({ memory, version }, options) {
19129
+ if (hidden(memory, options)) return void 0;
19130
+ if (options.includeDeleted) return String(!!memory.is_deleted);
19131
+ return JSON.stringify([
19132
+ options.embeddings ? version : null,
19133
+ memory.content,
19134
+ memory.scope,
19135
+ memory.updated_at,
19136
+ memory.fact_type,
19137
+ memory.event_time_start,
19138
+ memory.event_time_end,
19139
+ memory.event_time_kind,
19140
+ memory.trust_tier,
19141
+ memory.visibility,
19142
+ memory.published_at,
19143
+ memory.geohash,
19144
+ memory.topics,
19145
+ memory.topics_user_managed,
19146
+ memory.media,
19147
+ memory.source
19148
+ ]);
19149
+ }
19150
+ function topicInputs(topics, source) {
19151
+ return topics.flatMap((topic) => {
19152
+ const name = (typeof topic === "string" ? topic : topic.name).trim();
19153
+ const kind = typeof topic === "string" ? void 0 : topic.kind;
19154
+ return name ? [{ name, ...kind && { kind }, source }] : [];
19155
+ });
19156
+ }
19157
+ function mergeTopics(existing, added) {
19158
+ const byName = /* @__PURE__ */ new Map();
19159
+ for (const topic of [...existing, ...added]) {
19160
+ const key = normalizeEntityName(topic.name);
19161
+ if (!byName.has(key)) byName.set(key, topic);
19162
+ }
19163
+ return [...byName.values()];
19164
+ }
19165
+ function canonicalTopics(row) {
19166
+ return new Set((parseTopics(row.topics) ?? []).map((topic) => normalizeEntityName(topic.name)));
19167
+ }
19168
+ function createRemoteMemoryStore(options) {
19169
+ const { persistence, embeddingOptions } = options;
19170
+ const model = embeddingOptions.model ?? DEFAULT_API_EMBEDDING_MODEL;
19171
+ const pollIntervalMs = options.pollIntervalMs ?? 6e4;
19172
+ const pipeline = createRemoteMemoryPipeline(options);
19173
+ const subscribers = /* @__PURE__ */ new Set();
19174
+ const seen = /* @__PURE__ */ new Map();
19175
+ let timer;
19176
+ const notify = (change, records = []) => {
19177
+ if (timer) for (const record2 of records) seen.set(record2.memory.memory_id, record2);
19178
+ for (const subscriber of [...subscribers])
19179
+ if (relevant(change, subscriber.options)) safely(subscriber.onChange);
19180
+ };
19181
+ const enumerate = async (filters, max = Infinity) => {
19182
+ const records = [];
19183
+ let cursor2;
19184
+ do {
19185
+ const page = await persistence.query({
19186
+ ...filters,
19187
+ limit: Math.min(200, Math.max(1, max - records.length)),
19188
+ ...cursor2 && { cursor: cursor2 }
19189
+ });
19190
+ warnFailed(page.failed);
19191
+ records.push(...page.items);
19192
+ cursor2 = page.next_cursor;
19193
+ } while (cursor2 && records.length < max);
19194
+ return records.slice(0, max);
19195
+ };
19196
+ const enumerateIds = async (ids, filters) => (await Promise.all(
19197
+ chunks([...new Set(ids)], MAX_QUERY_IDS).map(
19198
+ (memory_ids) => enumerate({ ...filters, memory_ids })
19199
+ )
19200
+ )).flat();
19201
+ const queues = /* @__PURE__ */ new Map();
19202
+ const serialized = (id, task) => {
19203
+ const run = (queues.get(id) ?? Promise.resolve()).then(task, task);
19204
+ const settled = run.catch(() => void 0);
19205
+ queues.set(id, settled);
19206
+ void settled.then(() => {
19207
+ if (queues.get(id) === settled) queues.delete(id);
19208
+ });
19209
+ return run;
19210
+ };
19211
+ const live = async (id) => {
19212
+ const record2 = await persistence.get(id);
19213
+ return record2 && !record2.memory.is_deleted ? record2 : null;
19214
+ };
19215
+ const mutate = async (id, change, edit) => serialized(id, async () => {
19216
+ const record2 = await live(id);
19217
+ if (!record2) return null;
19218
+ const next = edit(structuredClone(record2.memory));
19219
+ if (!next) return null;
19220
+ const saved = await persistence.put(next, record2);
19221
+ notify(change, [saved]);
19222
+ return saved;
19223
+ });
19224
+ const embedInBackground = ({ memory: { memory_id: id, content } }) => {
19225
+ generateEmbedding(content, embeddingOptions).then(
19226
+ (vector) => serialized(id, async () => {
19227
+ const current = await live(id);
19228
+ if (!current || current.memory.content !== content || current.memory.embedding?.length)
19229
+ return;
19230
+ const saved = await persistence.put(
19231
+ { ...current.memory, embedding: storedVector(vector), embedding_model: model },
19232
+ current
19233
+ );
19234
+ notify("embedding", [saved]);
19235
+ })
19236
+ ).catch((error) => {
19237
+ getLogger().warn("[memory/remote-store] Failed to embed memory:", error);
19238
+ });
19239
+ };
19240
+ const newRow = (input) => {
19241
+ const now = Date.now();
19242
+ const scope = input.scope ?? "private";
19243
+ return {
19244
+ memory_id: uuidv75(),
19245
+ content: input.content,
19246
+ scope,
19247
+ level: levelFromScope(scope),
19248
+ created_at: now,
19249
+ updated_at: now,
19250
+ is_deleted: false,
19251
+ ...input.embedding !== void 0 && {
19252
+ embedding: storedVector(JSON.parse(input.embedding)),
19253
+ embedding_model: input.embeddingModel ?? model
19254
+ },
19255
+ proof_count: 1,
19256
+ source: "manual",
19257
+ ...input.eventTime && {
19258
+ event_time_start: input.eventTime.start ?? void 0,
19259
+ event_time_end: input.eventTime.end ?? void 0,
19260
+ event_time_kind: input.eventTime.kind ?? void 0
19261
+ },
19262
+ fact_type: input.factType,
19263
+ geohash: input.geohash,
19264
+ visibility: "private",
19265
+ twin_opt_in: false
19266
+ };
19267
+ };
19268
+ const created = (records, inputs) => {
19269
+ records.forEach((record2, i) => {
19270
+ if (inputs[i].embedding === void 0) embedInBackground(record2);
19271
+ });
19272
+ notify("membership", records);
19273
+ return records.map((record2) => stored(record2.memory));
19274
+ };
19275
+ const asStored = (record2) => record2 ? stored(record2.memory) : null;
19276
+ const everyState = {
19277
+ include_deleted: true,
19278
+ include_archived: true,
19279
+ include_quarantined: true,
19280
+ include_superseded: true
19281
+ };
19282
+ const changesSince = async (cursor2, pending2) => {
19283
+ const records = [];
19284
+ const failed = /* @__PURE__ */ new Set();
19285
+ const collect = (page) => {
19286
+ warnFailed(page.failed);
19287
+ records.push(...page.items);
19288
+ for (const failure of page.failed) failed.add(failure.memory_id);
19289
+ };
19290
+ let resume = cursor2;
19291
+ let next;
19292
+ do {
19293
+ const page = await persistence.query({
19294
+ ...everyState,
19295
+ order: "changed",
19296
+ limit: 200,
19297
+ ...(next ?? resume) && { cursor: next ?? resume }
19298
+ });
19299
+ collect(page);
19300
+ resume = page.changes_cursor ?? resume;
19301
+ next = page.next_cursor;
19302
+ } while (next);
19303
+ for (const memory_ids of chunks([...pending2], MAX_QUERY_IDS)) {
19304
+ let retry;
19305
+ do {
19306
+ const page = await persistence.query({
19307
+ ...everyState,
19308
+ memory_ids,
19309
+ limit: 200,
19310
+ ...retry && { cursor: retry }
19311
+ });
19312
+ collect(page);
19313
+ retry = page.next_cursor;
19314
+ } while (retry);
19315
+ }
19316
+ return { records, resume, failed };
19317
+ };
19318
+ let generation = 0;
19319
+ let ready = false;
19320
+ let cursor;
19321
+ let pending = /* @__PURE__ */ new Set();
19322
+ let polling = false;
19323
+ const poll = () => {
19324
+ if (polling) return;
19325
+ polling = true;
19326
+ const current = generation;
19327
+ changesSince(cursor, pending).then(({ records, resume, failed }) => {
19328
+ if (current !== generation) return;
19329
+ const changed = /* @__PURE__ */ new Set();
19330
+ for (const record2 of records) {
19331
+ const id = record2.memory.memory_id;
19332
+ const previous = seen.get(id);
19333
+ seen.set(id, record2);
19334
+ if (!ready) continue;
19335
+ for (const subscriber of subscribers) {
19336
+ const before = previous && subscriptionKey(previous, subscriber.options);
19337
+ if (before !== subscriptionKey(record2, subscriber.options)) changed.add(subscriber);
19338
+ }
19339
+ }
19340
+ ready = true;
19341
+ cursor = resume;
19342
+ pending = failed;
19343
+ for (const subscriber of changed)
19344
+ if (subscribers.has(subscriber)) safely(subscriber.onChange);
19345
+ }).catch((error) => {
19346
+ getLogger().warn("[memory/remote-store] Subscription poll failed:", error);
19347
+ }).finally(() => {
19348
+ polling = false;
19349
+ });
19350
+ };
19351
+ return {
19352
+ list: async (listOptions = {}) => {
19353
+ const order = listOptions.since ? "updated" : "created";
19354
+ const filters = {
19355
+ ...stateFilters(listOptions),
19356
+ include_embeddings: true,
19357
+ order,
19358
+ ...listOptions.scopes?.length && { scopes: listOptions.scopes },
19359
+ ...listOptions.factTypes?.length && { fact_types: listOptions.factTypes },
19360
+ ...listOptions.visibility?.length && { visibility: listOptions.visibility },
19361
+ ...listOptions.since && { updated_after: listOptions.since.getTime() }
19362
+ };
19363
+ const max = listOptions.limit && listOptions.limit > 0 ? listOptions.limit : Infinity;
19364
+ const variants = bounded(filters, "scopes").flatMap((f) => bounded(f, "fact_types"));
19365
+ if (!listOptions.memoryIds && variants.length === 1)
19366
+ return (await enumerate(filters, max)).map((r) => stored(r.memory));
19367
+ const fetched = await Promise.all(
19368
+ variants.map(
19369
+ (variant) => listOptions.memoryIds ? enumerateIds(listOptions.memoryIds, variant) : enumerate(variant, max)
19370
+ )
19371
+ );
19372
+ const rows = [...new Map(fetched.flat().map((r) => [r.memory.memory_id, r])).values()].map((record2) => stored(record2.memory)).sort(
19373
+ (a, b) => order === "updated" ? b.updatedAt.getTime() - a.updatedAt.getTime() || (a.uniqueId < b.uniqueId ? 1 : -1) : b.createdAt.getTime() - a.createdAt.getTime() || (a.uniqueId < b.uniqueId ? 1 : -1)
19374
+ );
19375
+ return rows.slice(0, max);
19376
+ },
19377
+ get: async (id) => asStored(await live(id)),
19378
+ listArchived: async () => (await enumerate({ archived_only: true, order: "archived", include_embeddings: true })).map(
19379
+ (record2) => stored(record2.memory)
19380
+ ),
19381
+ memoriesByTopics: async (names) => {
19382
+ const wanted = new Set(names.map(normalizeEntityName).filter(Boolean));
19383
+ const out = /* @__PURE__ */ new Map();
19384
+ const pages = await Promise.all(
19385
+ chunks([...wanted], MAX_QUERY_TOPICS).map((topics) => enumerate({ topics }))
19386
+ );
19387
+ for (const { memory } of pages.flat()) {
19388
+ const matched = [...canonicalTopics(memory)].filter((name) => wanted.has(name));
19389
+ if (matched.length) out.set(memory.memory_id, new Set(matched));
19390
+ }
19391
+ return out;
19392
+ },
19393
+ topicsByMemories: async (memoryIds) => {
19394
+ const out = /* @__PURE__ */ new Map();
19395
+ for (const { memory } of await enumerateIds(memoryIds, {
19396
+ include_archived: true,
19397
+ include_superseded: true,
19398
+ include_quarantined: true
19399
+ })) {
19400
+ const topics = canonicalTopics(memory);
19401
+ if (topics.size) out.set(memory.memory_id, topics);
19402
+ }
19403
+ return out;
19404
+ },
19405
+ create: async (input) => {
19406
+ const record2 = await persistence.put(newRow(input), 0);
19407
+ return created([record2], [input])[0];
19408
+ },
19409
+ createMany: async (inputs) => {
19410
+ const out = [];
19411
+ for (const batch of chunks(inputs, MAX_BATCH)) {
19412
+ let records;
19413
+ try {
19414
+ records = await persistence.putMany(
19415
+ batch.map((input) => ({ memory: newRow(input), expectedVersion: 0 }))
19416
+ );
19417
+ } catch (error) {
19418
+ if (out.length === 0) throw error;
19419
+ throw new RemoteMemoryPartialCreateError(out, error);
19420
+ }
19421
+ out.push(...created(records, batch));
19422
+ }
19423
+ return out;
19424
+ },
19425
+ update: async (id, patch) => {
19426
+ const saved = await mutate(id, "edit", (memory) => {
19427
+ if (memory.superseded_by) return null;
19428
+ memory.content = patch.content;
19429
+ memory.updated_at = Date.now();
19430
+ if (patch.scope !== void 0) {
19431
+ memory.level = levelForScopeChange(
19432
+ { level: memory.level, scope: memory.scope },
19433
+ patch.scope
19434
+ );
19435
+ memory.scope = patch.scope;
19436
+ }
19437
+ if (patch.factType !== void 0) memory.fact_type = patch.factType ?? void 0;
19438
+ if (patch.eventTime !== void 0) {
19439
+ memory.event_time_start = patch.eventTime?.start ?? void 0;
19440
+ memory.event_time_end = patch.eventTime?.end ?? void 0;
19441
+ memory.event_time_kind = patch.eventTime?.kind ?? void 0;
19442
+ }
19443
+ if (patch.embedding === void 0 || patch.embedding === null) {
19444
+ memory.embedding = [];
19445
+ delete memory.embedding_model;
19446
+ } else {
19447
+ memory.embedding = storedVector(JSON.parse(patch.embedding));
19448
+ memory.embedding_model = patch.embeddingModel ?? model;
19449
+ }
19450
+ return memory;
19451
+ });
19452
+ if (saved && patch.embedding === void 0) embedInBackground(saved);
19453
+ return asStored(saved);
19454
+ },
19455
+ delete: async (id) => !!await mutate(id, "membership", (memory) => ({ ...memory, is_deleted: true })),
19456
+ supersede: async (id, supersededById) => {
19457
+ if (id === supersededById) return false;
19458
+ const [first, second] = [id, supersededById].sort();
19459
+ return serialized(
19460
+ first,
19461
+ () => serialized(second, async () => {
19462
+ const [old, next] = await Promise.all([live(id), live(supersededById)]);
19463
+ if (!old || !next || old.memory.superseded_by || next.memory.superseded_by) return false;
19464
+ if (old.memory.kind !== void 0 && old.memory.kind !== null) return false;
19465
+ const saved = await persistence.putMany([
19466
+ {
19467
+ memory: { ...old.memory, superseded_by: supersededById, superseded_at: Date.now() },
19468
+ expectedVersion: old
19469
+ },
19470
+ { memory: next.memory, expectedVersion: next }
19471
+ ]);
19472
+ notify("membership", saved);
19473
+ return true;
19474
+ })
19475
+ );
19476
+ },
19477
+ archive: async (id) => !!await mutate(
19478
+ id,
19479
+ "edit",
19480
+ (memory) => memory.archived_at === void 0 || memory.archived_at === null ? { ...memory, archived_at: Date.now() } : null
19481
+ ),
19482
+ restore: (id) => serialized(id, async () => {
19483
+ const record2 = await live(id);
19484
+ if (!record2) return false;
19485
+ if (record2.memory.archived_at === void 0 || record2.memory.archived_at === null)
19486
+ return true;
19487
+ const { archived_at: _archivedAt, ...memory } = record2.memory;
19488
+ notify("edit", [await persistence.put(memory, record2)]);
19489
+ return true;
19490
+ }),
19491
+ setTopics: async (memoryId, topics) => asStored(
19492
+ await mutate(memoryId, "edit", (memory) => ({
19493
+ ...memory,
19494
+ topics: serializeTopics(mergeTopics([], topicInputs(topics, "user"))),
19495
+ topics_user_managed: true,
19496
+ topics_updated_at: Date.now()
19497
+ }))
19498
+ ),
19499
+ addTopics: async (memoryId, topics) => {
19500
+ const added = topicInputs(topics, "auto");
19501
+ const saved = await mutate(memoryId, "edit", (memory) => ({
19502
+ ...memory,
19503
+ topics: serializeTopics(mergeTopics(parseTopics(memory.topics) ?? [], added)),
19504
+ topics_updated_at: Date.now()
19505
+ }));
19506
+ if (!saved) return [];
19507
+ const now = /* @__PURE__ */ new Date();
19508
+ return mergeTopics([], added).map(
19509
+ (topic) => ({
19510
+ uniqueId: normalizeEntityName(topic.name),
19511
+ canonicalName: normalizeEntityName(topic.name),
19512
+ kind: topic.kind ?? null,
19513
+ createdAt: now,
19514
+ updatedAt: now
19515
+ })
19516
+ );
19517
+ },
19518
+ setVisibility: async (id, visibility, visibilityOptions) => asStored(
19519
+ await mutate(id, "edit", (memory) => {
19520
+ memory.visibility = visibility;
19521
+ if (visibility === "private") delete memory.published_at;
19522
+ else memory.published_at ?? (memory.published_at = Date.now());
19523
+ if (visibilityOptions?.twinOptIn !== void 0)
19524
+ memory.twin_opt_in = visibilityOptions.twinOptIn;
19525
+ return memory;
19526
+ })
19527
+ ),
19528
+ recall: (query, recallOptions) => pipeline.recall(query, recallOptions),
19529
+ retain: async (content, retainOptions) => {
19530
+ const result = await pipeline.retain(content, retainOptions);
19531
+ if (result.action === "create" || result.action === "supersede") notify("membership");
19532
+ else if (result.action === "update" || result.action === "merge") notify("edit");
19533
+ return result;
19534
+ },
19535
+ subscribe: (onChange, subscribeOptions = {}) => {
19536
+ const subscriber = { onChange, options: subscribeOptions };
19537
+ subscribers.add(subscriber);
19538
+ if (pollIntervalMs > 0 && !timer) {
19539
+ timer = setInterval(poll, pollIntervalMs);
19540
+ poll();
19541
+ }
19542
+ return () => {
19543
+ subscribers.delete(subscriber);
19544
+ if (subscribers.size || !timer) return;
19545
+ clearInterval(timer);
19546
+ timer = void 0;
19547
+ generation++;
19548
+ seen.clear();
19549
+ ready = false;
19550
+ cursor = void 0;
19551
+ pending = /* @__PURE__ */ new Set();
19552
+ };
19553
+ }
19554
+ };
19555
+ }
19556
+
18846
19557
  // src/lib/memory/synthesizeProfile.ts
18847
19558
  var DEFAULT_SYNTHESIS_MODEL = "inclusionai/ling-2.6-flash";
18848
19559
  var DEFAULT_FACET_RECALL_LIMIT = 20;
@@ -19213,8 +19924,8 @@ async function synthesizeFacet(facet, ctx, options, prior) {
19213
19924
  memories
19214
19925
  });
19215
19926
  const noEvidence = result.basedOn.memoryIds.length === 0;
19216
- const { text: text12, legitimateEmpty } = extractFacetText(result.structuredOutput);
19217
- if (!text12 && !legitimateEmpty && !noEvidence) {
19927
+ const { text: text13, legitimateEmpty } = extractFacetText(result.structuredOutput);
19928
+ if (!text13 && !legitimateEmpty && !noEvidence) {
19218
19929
  getLogger().warn(
19219
19930
  "[memory/synthesizeProfile] facet synthesis returned degraded-empty; using fallback section",
19220
19931
  { facet: facet.key, recalledCount: result.basedOn.memoryIds.length }
@@ -19224,12 +19935,12 @@ async function synthesizeFacet(facet, ctx, options, prior) {
19224
19935
  const section = {
19225
19936
  key: facet.key,
19226
19937
  label: facet.label,
19227
- text: text12,
19938
+ text: text13,
19228
19939
  sourceMemoryIds: result.basedOn.memoryIds,
19229
19940
  generatedAt: Date.now()
19230
19941
  };
19231
- if (options.redactor && text12) {
19232
- const redacted = await options.redactor.redactTextAsync(text12);
19942
+ if (options.redactor && text13) {
19943
+ const redacted = await options.redactor.redactTextAsync(text13);
19233
19944
  section.text = redacted.text;
19234
19945
  }
19235
19946
  if (!legitimateEmpty && !noEvidence) {
@@ -19742,10 +20453,10 @@ function createDurableAutoExtractor(options) {
19742
20453
  const counted = error instanceof BatchFailureError || error instanceof LockedSourcesError && error.persistentIds.length > 0;
19743
20454
  if (!counted) return false;
19744
20455
  const prior = sessionFailures.get(job.id);
19745
- const count = prior?.head === head ? prior.count + 1 : 1;
19746
- sessionFailures.set(job.id, { head, count });
20456
+ const count2 = prior?.head === head ? prior.count + 1 : 1;
20457
+ sessionFailures.set(job.id, { head, count: count2 });
19747
20458
  const terminal = error instanceof BatchFailureError && error.terminal;
19748
- if (!terminal && count < MAX_ATTEMPTS) return false;
20459
+ if (!terminal && count2 < MAX_ATTEMPTS) return false;
19749
20460
  skippedThisSession.add(job.id);
19750
20461
  const now = clock();
19751
20462
  const lastCounted = failedAtOf(job, head);
@@ -20049,7 +20760,7 @@ async function verifyFactSupport(items, options) {
20049
20760
  }
20050
20761
  const maxEvidenceChars = Math.max(1, options.maxEvidenceChars ?? DEFAULT_MAX_EVIDENCE_CHARS);
20051
20762
  const redactor = resolvePiiRedactor(options.piiRedaction ?? true);
20052
- const safe = async (text12) => redactor ? (await redactor.redactTextAsync(text12)).text : text12;
20763
+ const safe = async (text13) => redactor ? (await redactor.redactTextAsync(text13)).text : text13;
20053
20764
  let truncatedCount = 0;
20054
20765
  const parts = [];
20055
20766
  for (const [i, item] of items.entries()) {
@@ -20106,7 +20817,7 @@ Which item numbers are supported?`,
20106
20817
  }
20107
20818
  return supported;
20108
20819
  }
20109
- function parseSupported(parsed, count) {
20820
+ function parseSupported(parsed, count2) {
20110
20821
  if (typeof parsed !== "object" || parsed === null) return null;
20111
20822
  const list = parsed.supported;
20112
20823
  if (!Array.isArray(list)) return null;
@@ -20114,7 +20825,7 @@ function parseSupported(parsed, count) {
20114
20825
  for (const raw of list) {
20115
20826
  const n = typeof raw === "number" ? raw : typeof raw === "string" ? Number(raw) : NaN;
20116
20827
  if (!Number.isInteger(n)) continue;
20117
- if (n >= 1 && n <= count) out.add(n - 1);
20828
+ if (n >= 1 && n <= count2) out.add(n - 1);
20118
20829
  }
20119
20830
  return out;
20120
20831
  }
@@ -20165,7 +20876,7 @@ async function verifyMemoriesForPublish(memories, sources, options) {
20165
20876
  );
20166
20877
  const pending = [];
20167
20878
  for (const { index, uniqueId, content, ids } of withinBudget) {
20168
- const evidence = ids.map((id) => resolved.get(id) ?? null).filter((text12) => text12 !== null);
20879
+ const evidence = ids.map((id) => resolved.get(id) ?? null).filter((text13) => text13 !== null);
20169
20880
  const dropped = ids.length - evidence.length;
20170
20881
  if (ids.some((id) => unreadable.has(id))) {
20171
20882
  results[index] = {
@@ -20668,22 +21379,22 @@ function normalizeManualFactType(value) {
20668
21379
  function isSharedScope(scope) {
20669
21380
  return scope === "shared";
20670
21381
  }
20671
- async function notifyWritten(options, input, outcome) {
21382
+ async function notifyWritten(options, input, outcome2) {
20672
21383
  try {
20673
- await options?.onWritten?.({ input, outcome });
21384
+ await options?.onWritten?.({ input, outcome: outcome2 });
20674
21385
  } catch {
20675
21386
  }
20676
21387
  }
20677
- function describeWriteOutcome(outcome) {
20678
- switch (outcome.action) {
21388
+ function describeWriteOutcome(outcome2) {
21389
+ switch (outcome2.action) {
20679
21390
  case "create":
20680
- return `Memory saved successfully (ID: ${outcome.memoryId}).`;
21391
+ return `Memory saved successfully (ID: ${outcome2.memoryId}).`;
20681
21392
  case "update":
20682
21393
  case "supersede":
20683
- return `Memory saved successfully (ID: ${outcome.memoryId}); it replaces an earlier version of this fact.`;
21394
+ return `Memory saved successfully (ID: ${outcome2.memoryId}); it replaces an earlier version of this fact.`;
20684
21395
  case "merge":
20685
21396
  case "skip":
20686
- return `The vault already holds this fact (ID: ${outcome.memoryId}); it was noted as re-observed. Nothing new was created \u2014 do not save it again.`;
21397
+ return `The vault already holds this fact (ID: ${outcome2.memoryId}); it was noted as re-observed. Nothing new was created \u2014 do not save it again.`;
20687
21398
  case "suppressed":
20688
21399
  return "Not saved: this matches a memory the user previously deleted. Do not re-save it.";
20689
21400
  }
@@ -20789,9 +21500,9 @@ function createMemoryVaultTool(vaultCtx, options, embeddingOptions, cache) {
20789
21500
  ...folderId !== void 0 && { folderId },
20790
21501
  ...factType !== void 0 && { factType }
20791
21502
  };
20792
- const outcome = await options.write(input);
20793
- await notifyWritten(options, input, outcome);
20794
- return describeWriteOutcome(outcome);
21503
+ const outcome2 = await options.write(input);
21504
+ await notifyWritten(options, input, outcome2);
21505
+ return describeWriteOutcome(outcome2);
20795
21506
  }
20796
21507
  const created = await createVaultMemoryOp(vaultCtx, {
20797
21508
  content,
@@ -21268,8 +21979,8 @@ var sessionCache = /* @__PURE__ */ new Map();
21268
21979
  function generateRequestId() {
21269
21980
  return ++requestIdCounter;
21270
21981
  }
21271
- function parseSSEResponse(text12) {
21272
- const events = text12.split(/\n\n+/);
21982
+ function parseSSEResponse(text13) {
21983
+ const events = text13.split(/\n\n+/);
21273
21984
  let lastEventData = "";
21274
21985
  for (const event of events) {
21275
21986
  const dataLines = [];
@@ -21291,11 +22002,11 @@ function parseSSEResponse(text12) {
21291
22002
  }
21292
22003
  async function parseResponseBody(response) {
21293
22004
  const contentType = response.headers.get("Content-Type") || "";
21294
- const text12 = await response.text();
21295
- if (contentType.includes("text/event-stream") || text12.startsWith("event:") || text12.startsWith("data:")) {
21296
- return parseSSEResponse(text12);
22005
+ const text13 = await response.text();
22006
+ if (contentType.includes("text/event-stream") || text13.startsWith("event:") || text13.startsWith("data:")) {
22007
+ return parseSSEResponse(text13);
21297
22008
  }
21298
- return JSON.parse(text12);
22009
+ return JSON.parse(text13);
21299
22010
  }
21300
22011
  async function initializeMCPSession(accessToken) {
21301
22012
  const requestId = generateRequestId();
@@ -22253,7 +22964,7 @@ function useChat(options) {
22253
22964
 
22254
22965
  // src/expo/useChatStorage.ts
22255
22966
  import { useCallback as useCallback4, useEffect as useEffect4, useMemo, useRef as useRef4, useState as useState4 } from "react";
22256
- import { v7 as uuidv76 } from "uuid";
22967
+ import { v7 as uuidv77 } from "uuid";
22257
22968
 
22258
22969
  // src/lib/chat/assembleMessages.ts
22259
22970
  function assembleMessagesWithHistory(historyMessages, callerMessages, summarySystemMessage) {
@@ -22424,9 +23135,9 @@ New lines of conversation:
22424
23135
  {new_lines}
22425
23136
 
22426
23137
  New summary:`;
22427
- function estimateTokens(text12) {
22428
- if (!text12) return 0;
22429
- return Math.ceil(text12.length / 4);
23138
+ function estimateTokens(text13) {
23139
+ if (!text13) return 0;
23140
+ return Math.ceil(text13.length / 4);
22430
23141
  }
22431
23142
  var PER_MESSAGE_OVERHEAD_TOKENS = 4;
22432
23143
  var MAX_MESSAGES_PER_SUMMARIZATION = 20;
@@ -22486,14 +23197,14 @@ function splitMessagesAtThreshold(messages, tokenThreshold, minWindowMessages) {
22486
23197
  }
22487
23198
  async function redactSummaryPrompt(prompt, redactor, onPiiRedacted) {
22488
23199
  if (!redactor) return prompt;
22489
- const { text: text12, matches } = await redactor.redactTextAsync(prompt);
23200
+ const { text: text13, matches } = await redactor.redactTextAsync(prompt);
22490
23201
  if (matches.length > 0 && onPiiRedacted) {
22491
23202
  try {
22492
23203
  onPiiRedacted(matches);
22493
23204
  } catch {
22494
23205
  }
22495
23206
  }
22496
- return text12;
23207
+ return text13;
22497
23208
  }
22498
23209
  async function progressiveSummarize(options) {
22499
23210
  const {
@@ -22910,9 +23621,9 @@ async function decryptMediaFields(media, address, signMessage, embeddedWalletSig
22910
23621
  }
22911
23622
 
22912
23623
  // src/lib/db/media/types.ts
22913
- import { v7 as uuidv75 } from "uuid";
23624
+ import { v7 as uuidv76 } from "uuid";
22914
23625
  function generateMediaId() {
22915
- return `media_${uuidv75()}`;
23626
+ return `media_${uuidv76()}`;
22916
23627
  }
22917
23628
 
22918
23629
  // src/lib/db/media/operations.ts
@@ -23220,7 +23931,7 @@ function useChatStorage(options) {
23220
23931
  [piiRedaction, currentConversationId]
23221
23932
  );
23222
23933
  const maskForEmbedding = useCallback4(
23223
- (text12) => isPiiRedactor(resolvedPiiRedaction) ? resolvedPiiRedaction.maskText(text12) : text12,
23934
+ (text13) => isPiiRedactor(resolvedPiiRedaction) ? resolvedPiiRedaction.maskText(text13) : text13,
23224
23935
  [resolvedPiiRedaction]
23225
23936
  );
23226
23937
  const maskEmbeddingInput = isPiiRedactor(resolvedPiiRedaction) ? maskForEmbedding : void 0;
@@ -23864,12 +24575,12 @@ function useChatStorage(options) {
23864
24575
  return {
23865
24576
  callRedactor: redactor,
23866
24577
  callPiiRedaction: forInnerSend,
23867
- maskForCall: (text12) => redactor ? redactor.maskText(text12) : text12
24578
+ maskForCall: (text13) => redactor ? redactor.maskText(text13) : text13
23868
24579
  };
23869
24580
  };
23870
24581
  pendingResumeRef.current = null;
23871
- const effectiveAssistantUniqueId = assistantUniqueId ?? (resumable ? `msg_${uuidv76()}` : void 0);
23872
- const embedToolText = (text12, mask, masked, token) => {
24582
+ const effectiveAssistantUniqueId = assistantUniqueId ?? (resumable ? `msg_${uuidv77()}` : void 0);
24583
+ const embedToolText = (text13, mask, masked, token) => {
23873
24584
  const opts = {
23874
24585
  getToken: token,
23875
24586
  baseUrl,
@@ -23877,10 +24588,10 @@ function useChatStorage(options) {
23877
24588
  maskInput: mask,
23878
24589
  cache: embeddingCache ? maskScopedEmbeddingCache(embeddingCache, masked) : void 0
23879
24590
  };
23880
- return shouldChunkMessage(text12, DEFAULT_CHUNK_SIZE) ? generateEmbeddings(
23881
- chunkText(text12).map((c) => c.text),
24591
+ return shouldChunkMessage(text13, DEFAULT_CHUNK_SIZE) ? generateEmbeddings(
24592
+ chunkText(text13).map((c) => c.text),
23882
24593
  opts
23883
- ) : generateEmbedding(text12, opts);
24594
+ ) : generateEmbedding(text13, opts);
23884
24595
  };
23885
24596
  if (walletAddress && signMessage && !hasEncryptionKey(walletAddress)) {
23886
24597
  try {
@@ -24386,7 +25097,7 @@ function useChatStorage(options) {
24386
25097
  const detachedResult = result;
24387
25098
  if (detachedResult.detached) {
24388
25099
  recordToolSetTurn(database, convId, matchedToolSets);
24389
- const rowId = effectiveAssistantUniqueId ?? `msg_${uuidv76()}`;
25100
+ const rowId = effectiveAssistantUniqueId ?? `msg_${uuidv77()}`;
24390
25101
  pendingResumeRef.current = {
24391
25102
  handle: detachedResult.resume ?? null,
24392
25103
  convId,
@@ -24897,6 +25608,7 @@ export {
24897
25608
  MEDIUM_TTL_MS,
24898
25609
  MEMORY_KINDS,
24899
25610
  MEMORY_LEVELS,
25611
+ MemoryKeyError,
24900
25612
  MemoryLevelError,
24901
25613
  NEVER_TTL_MS,
24902
25614
  NODE_BUDGET,
@@ -24909,6 +25621,7 @@ export {
24909
25621
  RECALL_MAX_LIMIT,
24910
25622
  RECALL_TOOL_NAME,
24911
25623
  RemoteMemoryError,
25624
+ RemoteMemoryPartialCreateError,
24912
25625
  RerankerUnavailableError,
24913
25626
  SDK_SCHEMA_VERSION,
24914
25627
  SHORT_TTL_MS,
@@ -24974,6 +25687,7 @@ export {
24974
25687
  createRecallTool,
24975
25688
  createRemoteMemoryPersistence,
24976
25689
  createRemoteMemoryPipeline,
25690
+ createRemoteMemoryStore,
24977
25691
  createStockPricePreProcessor,
24978
25692
  createStreamingDeAnonymizer,
24979
25693
  createVaultEmbeddingCache,
@@ -24990,6 +25704,7 @@ export {
24990
25704
  deleteVaultMemoryOp,
24991
25705
  dequantizeEmbedding,
24992
25706
  deriveKeyFromSignatureBytes,
25707
+ deriveMemoryKeyRing,
24993
25708
  discoverNotionOAuthEndpoints,
24994
25709
  eagerEmbedContent,
24995
25710
  embedAllMessages,
@@ -25001,6 +25716,7 @@ export {
25001
25716
  extractAndRetain,
25002
25717
  extractEntitiesForMemories,
25003
25718
  extractFacts,
25719
+ extractReservationReceipts,
25004
25720
  formatFileProcessingNotes,
25005
25721
  generateConversationId,
25006
25722
  generateEmbedding,
@@ -25033,6 +25749,7 @@ export {
25033
25749
  isPiiRedactor,
25034
25750
  isRerankerAvailable,
25035
25751
  maskScopedEmbeddingCache,
25752
+ memoryCipher,
25036
25753
  moveMemoriesToFolderOp,
25037
25754
  noopLogger,
25038
25755
  onKeyAvailable,
@@ -25042,6 +25759,7 @@ export {
25042
25759
  queueManager,
25043
25760
  rankProfileCandidates,
25044
25761
  recall,
25762
+ reencryptMemoryField,
25045
25763
  reflect,
25046
25764
  refreshEncryptionKeyIfMatches,
25047
25765
  refreshNotionAccessToken,