@anuma/sdk 6.36.0 → 6.38.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}
@@ -1788,7 +1788,7 @@ function extractUserMessageFromMessages(messages) {
1788
1788
  }
1789
1789
 
1790
1790
  // src/lib/db/chat/operations.ts
1791
- function messageToStoredRaw(message, projection) {
1791
+ function messageToStoredRaw(message, projection2) {
1792
1792
  const convId = String(message._getRaw("conversation_id"));
1793
1793
  const parseJsonField = (rawValue) => {
1794
1794
  if (!rawValue) return void 0;
@@ -1802,7 +1802,7 @@ function messageToStoredRaw(message, projection) {
1802
1802
  }
1803
1803
  return rawValue;
1804
1804
  };
1805
- const skipEmbeddings = projection?.skipEmbeddings === true;
1805
+ const skipEmbeddings = projection2?.skipEmbeddings === true;
1806
1806
  const sourcesRaw = message._getRaw("sources");
1807
1807
  const vectorRaw = skipEmbeddings ? null : message._getRaw("vector");
1808
1808
  const chunksRaw = skipEmbeddings ? null : message._getRaw("chunks");
@@ -1836,8 +1836,8 @@ function messageToStoredRaw(message, projection) {
1836
1836
  origin: message.origin
1837
1837
  };
1838
1838
  }
1839
- async function messageToStored(message, walletAddress, signMessage, embeddedWalletSigner, projection) {
1840
- const baseMessage = messageToStoredRaw(message, projection);
1839
+ async function messageToStored(message, walletAddress, signMessage, embeddedWalletSigner, projection2) {
1840
+ const baseMessage = messageToStoredRaw(message, projection2);
1841
1841
  if (walletAddress) {
1842
1842
  return await decryptMessageFields(
1843
1843
  baseMessage,
@@ -1851,7 +1851,7 @@ async function messageToStored(message, walletAddress, signMessage, embeddedWall
1851
1851
  function rawDate(value) {
1852
1852
  return new Date(typeof value === "number" ? value : 0);
1853
1853
  }
1854
- function messageRawToStoredRaw(raw, projection) {
1854
+ function messageRawToStoredRaw(raw, projection2) {
1855
1855
  const parseJsonField = (rawValue) => {
1856
1856
  if (!rawValue) return void 0;
1857
1857
  if (typeof rawValue === "string") {
@@ -1864,7 +1864,7 @@ function messageRawToStoredRaw(raw, projection) {
1864
1864
  }
1865
1865
  return rawValue;
1866
1866
  };
1867
- const skipEmbeddings = projection?.skipEmbeddings === true;
1867
+ const skipEmbeddings = projection2?.skipEmbeddings === true;
1868
1868
  const vectorRaw = skipEmbeddings ? null : raw.vector;
1869
1869
  const chunksRaw = skipEmbeddings ? null : raw.chunks;
1870
1870
  return {
@@ -1895,8 +1895,8 @@ function messageRawToStoredRaw(raw, projection) {
1895
1895
  origin: raw.origin
1896
1896
  };
1897
1897
  }
1898
- async function messageRawToStored(raw, walletAddress, signMessage, embeddedWalletSigner, projection) {
1899
- const baseMessage = messageRawToStoredRaw(raw, projection);
1898
+ async function messageRawToStored(raw, walletAddress, signMessage, embeddedWalletSigner, projection2) {
1899
+ const baseMessage = messageRawToStoredRaw(raw, projection2);
1900
1900
  if (walletAddress) {
1901
1901
  return await decryptMessageFields(
1902
1902
  baseMessage,
@@ -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);
2742
+ const sentences = splitIntoSentences(text13);
2743
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
  }
@@ -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];
@@ -2813,18 +2813,18 @@ function chunkText(text12, options) {
2813
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
2820
  if (chunks2.length === 0) {
2821
- const trimmedText = text12.trim();
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
  }
@@ -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
  }
@@ -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;
@@ -8508,8 +8624,8 @@ function sseFailureMessage(status, statusText, detail = "") {
8508
8624
  }
8509
8625
  function parseSseChunks(raw, incompleteBuffer) {
8510
8626
  const chunks2 = [];
8511
- const text12 = incompleteBuffer + raw;
8512
- const lines = text12.split("\n");
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;
@@ -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
@@ -11297,22 +11413,35 @@ async function vaultMemoryRawToStored(raw, walletAddress, signMessage, embeddedW
11297
11413
  return stored2;
11298
11414
  }
11299
11415
  async function getAllVaultMemoriesOp(ctx, options) {
11300
- const conditions = [
11416
+ const results = await ctx.vaultMemoryCollection.query(...vaultListConditions(ctx, options), ...vaultListOrder(options)).unsafeFetchRaw();
11417
+ return mapInBatches(
11418
+ results,
11419
+ (raw) => vaultMemoryRawToStored(raw, ctx.walletAddress, ctx.signMessage, ctx.embeddedWalletSigner)
11420
+ );
11421
+ }
11422
+ function vaultListConditions(ctx, options) {
11423
+ return [
11301
11424
  ...baseVaultConditions(ctx, options),
11302
11425
  ...options?.scopes?.length ? [Q5.where("scope", Q5.oneOf(options.scopes))] : [],
11303
11426
  ...visibilityConditions(options?.visibility),
11304
11427
  ...levelConditions(options?.levels),
11305
11428
  ...options?.kinds?.length ? [Q5.where("kind", Q5.oneOf(options.kinds))] : [],
11306
11429
  ...options?.folderId !== void 0 ? [Q5.where("folder_id", options.folderId)] : [],
11307
- ...options?.factTypes?.length ? [Q5.where("fact_type", Q5.oneOf(options.factTypes))] : [],
11430
+ ...options?.factTypes?.length ? [Q5.where("fact_type", Q5.oneOf(options.factTypes))] : []
11431
+ ];
11432
+ }
11433
+ function vaultListOrder(options) {
11434
+ return [
11308
11435
  Q5.sortBy(options?.since ? "updated_at" : "created_at", Q5.desc),
11309
11436
  ...options?.limit !== null && options?.limit !== void 0 && options.limit > 0 ? [Q5.take(options.limit)] : []
11310
11437
  ];
11311
- const results = await ctx.vaultMemoryCollection.query(...conditions).unsafeFetchRaw();
11312
- return mapInBatches(
11313
- results,
11314
- (raw) => vaultMemoryRawToStored(raw, ctx.walletAddress, ctx.signMessage, ctx.embeddedWalletSigner)
11315
- );
11438
+ }
11439
+ async function getVaultMemoryProjectionsOp(ctx, options) {
11440
+ const results = await ctx.vaultMemoryCollection.query(...vaultListConditions(ctx, options), ...vaultListOrder(options)).unsafeFetchRaw();
11441
+ return results.map((raw) => ({
11442
+ ...vaultMemoryRawToRankable(raw),
11443
+ topicsUserManaged: raw.topics_user_managed === true || raw.topics_user_managed === 1
11444
+ }));
11316
11445
  }
11317
11446
  function vaultMemoryRawToRankable(raw) {
11318
11447
  return {
@@ -13044,7 +13173,7 @@ Which item numbers should be flagged?`,
13044
13173
  if (parsed === null) return empty;
13045
13174
  return { flagged: parseFlagged(parsed, scope.length) };
13046
13175
  }
13047
- function parseFlagged(parsed, count) {
13176
+ function parseFlagged(parsed, count2) {
13048
13177
  const out = /* @__PURE__ */ new Set();
13049
13178
  if (typeof parsed !== "object" || parsed === null) return out;
13050
13179
  const list = parsed.poisoned;
@@ -13052,7 +13181,7 @@ function parseFlagged(parsed, count) {
13052
13181
  for (const raw of list) {
13053
13182
  const n = typeof raw === "number" ? raw : typeof raw === "string" ? Number(raw) : NaN;
13054
13183
  if (!Number.isInteger(n)) continue;
13055
- if (n >= 1 && n <= count) out.add(n - 1);
13184
+ if (n >= 1 && n <= count2) out.add(n - 1);
13056
13185
  }
13057
13186
  return out;
13058
13187
  }
@@ -13538,8 +13667,8 @@ var STOPWORDS = /* @__PURE__ */ new Set([
13538
13667
  "user",
13539
13668
  "users"
13540
13669
  ]);
13541
- function tokenize(text12) {
13542
- const m = text12.toLowerCase().match(TOKEN_RE);
13670
+ function tokenize(text13) {
13671
+ const m = text13.toLowerCase().match(TOKEN_RE);
13543
13672
  if (!m) return [];
13544
13673
  return m.filter((t) => !STOPWORDS.has(t));
13545
13674
  }
@@ -15063,14 +15192,14 @@ async function retainWithPersistence(content, ctx, options = {}) {
15063
15192
  );
15064
15193
  }
15065
15194
  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) {
15195
+ const outcome2 = await tryConsolidate(trimmed, ctx, options, prepared);
15196
+ if (outcome2) {
15197
+ if ("done" in outcome2) return outcome2.done;
15198
+ if ("create" in outcome2) {
15070
15199
  consolidationDecidedCreate = true;
15071
15200
  } else {
15072
- supersedeTargetIds = outcome.supersede;
15073
- supersedeContent = outcome.content;
15201
+ supersedeTargetIds = outcome2.supersede;
15202
+ supersedeContent = outcome2.content;
15074
15203
  }
15075
15204
  }
15076
15205
  }
@@ -15736,12 +15865,12 @@ async function extractAndRetain(messages, retainCtx, options) {
15736
15865
  if (failedWrites > 0) {
15737
15866
  log.warn(`[memory/extract] ${failedWrites} of ${filtered.length} candidates failed to retain`);
15738
15867
  }
15739
- const outcome = exhaustedEmpty ? "empty-after-retry" : filtered.length > 0 ? "extracted" : droppedAfterRedaction ? "dropped-after-redaction" : "no-facts";
15868
+ const outcome2 = exhaustedEmpty ? "empty-after-retry" : filtered.length > 0 ? "extracted" : droppedAfterRedaction ? "dropped-after-redaction" : "no-facts";
15740
15869
  return {
15741
15870
  candidates: succeededCandidates,
15742
15871
  results,
15743
15872
  failedCount: failedWrites,
15744
- outcome,
15873
+ outcome: outcome2,
15745
15874
  quarantined: quarantinedInfo,
15746
15875
  funnel: {
15747
15876
  rawCandidateCount,
@@ -15971,7 +16100,7 @@ function createAutoExtractor(options) {
15971
16100
  ...options.retainCtx,
15972
16101
  embeddingOptions: {
15973
16102
  ...options.retainCtx.embeddingOptions,
15974
- maskInput: (text12) => piiRedactor.maskText(text12)
16103
+ maskInput: (text13) => piiRedactor.maskText(text13)
15975
16104
  }
15976
16105
  } : options.retainCtx;
15977
16106
  function processTurn(messages, conversationId) {
@@ -16004,7 +16133,7 @@ function createAutoExtractor(options) {
16004
16133
  const t0 = Date.now();
16005
16134
  void (async () => {
16006
16135
  try {
16007
- const { candidates, results, failedCount, outcome, failure, funnel, timings, model } = await extractAndRetain(window2, retainCtx, {
16136
+ const { candidates, results, failedCount, outcome: outcome2, failure, funnel, timings, model } = await extractAndRetain(window2, retainCtx, {
16008
16137
  extract,
16009
16138
  ...options.minConfidence !== void 0 && { minConfidence: options.minConfidence },
16010
16139
  ...options.entityCtx !== void 0 && { entityCtx: options.entityCtx },
@@ -16021,7 +16150,7 @@ function createAutoExtractor(options) {
16021
16150
  onQuarantined: (info) => options.onMemoryQuarantined?.({ ...info, conversationId })
16022
16151
  }
16023
16152
  });
16024
- if (outcome !== "empty-after-retry" && failedCount === 0) {
16153
+ if (outcome2 !== "empty-after-retry" && failedCount === 0) {
16025
16154
  const advancedTo = window2[window2.length - 1].id;
16026
16155
  stateFor(conversationId).watermark = advancedTo;
16027
16156
  persistCursor(conversationId, messages, advancedTo, contiguous);
@@ -16040,7 +16169,7 @@ function createAutoExtractor(options) {
16040
16169
  failedCount,
16041
16170
  durationMs: Date.now() - t0,
16042
16171
  conversationId,
16043
- outcome,
16172
+ outcome: outcome2,
16044
16173
  funnel,
16045
16174
  timings,
16046
16175
  model,
@@ -17702,12 +17831,12 @@ ${JSON.stringify(
17702
17831
  function parseAnswer(body, base, parseSchema) {
17703
17832
  if (typeof body !== "object" || body === null) return base;
17704
17833
  const obj = body;
17705
- const text12 = extractCompletionContent(obj) ?? "";
17834
+ const text13 = extractCompletionContent(obj) ?? "";
17706
17835
  const usage = obj.usage;
17707
17836
  let structuredOutput;
17708
- if (parseSchema && text12) {
17837
+ if (parseSchema && text13) {
17709
17838
  try {
17710
- structuredOutput = JSON.parse(extractJsonCandidate(text12));
17839
+ structuredOutput = JSON.parse(extractJsonCandidate(text13));
17711
17840
  } catch (err) {
17712
17841
  getLogger().warn("[memory/reflect] structured output was not valid JSON", {
17713
17842
  err: err instanceof Error ? err.message : String(err)
@@ -17717,7 +17846,7 @@ function parseAnswer(body, base, parseSchema) {
17717
17846
  const promptTokens = usage?.prompt_tokens ?? usage?.input_tokens ?? 0;
17718
17847
  const completionTokens = usage?.completion_tokens ?? usage?.output_tokens ?? 0;
17719
17848
  return {
17720
- text: text12,
17849
+ text: text13,
17721
17850
  ...structuredOutput !== void 0 && { structuredOutput },
17722
17851
  basedOn: base.basedOn,
17723
17852
  usage: {
@@ -17948,6 +18077,7 @@ function createLocalMemoryStore(options) {
17948
18077
  };
17949
18078
  const vaultCache = options.vaultCache ?? createVaultEmbeddingCache();
17950
18079
  const ownedBy = userId !== void 0 ? [Q8.where("user_id", userId)] : [];
18080
+ const linksOwnedBy = userId === void 0 ? [] : options.allowUnscopedRows ? [Q8.or(Q8.where("user_id", userId), Q8.where("user_id", null))] : [Q8.where("user_id", userId)];
17951
18081
  const watchedColumns = [
17952
18082
  "content",
17953
18083
  "scope",
@@ -17990,6 +18120,29 @@ function createLocalMemoryStore(options) {
17990
18120
  },
17991
18121
  memoriesByTopics: (names) => getMemoriesByEntityNamesOp(entityCtx, names),
17992
18122
  topicsByMemories: (memoryIds) => getEntitiesByMemoryIdsOp(entityCtx, memoryIds),
18123
+ listTopics: async () => {
18124
+ const links = await entityCtx.memoryEntityCollection.query(...linksOwnedBy).fetch();
18125
+ const members = /* @__PURE__ */ new Map();
18126
+ for (const link of links) {
18127
+ const entityId = String(link.entityId);
18128
+ const set = members.get(entityId) ?? /* @__PURE__ */ new Set();
18129
+ set.add(String(link.memoryId));
18130
+ members.set(entityId, set);
18131
+ }
18132
+ const entities = userId === void 0 ? await entityCtx.entityCollection.query().fetch() : members.size ? await entityCtx.entityCollection.query(Q8.where("id", Q8.oneOf([...members.keys()]))).fetch() : [];
18133
+ const byName = /* @__PURE__ */ new Map();
18134
+ for (const entity of entities) {
18135
+ const count2 = members.get(entity.id)?.size ?? 0;
18136
+ const existing = byName.get(entity.canonicalName);
18137
+ byName.set(entity.canonicalName, {
18138
+ name: entity.canonicalName,
18139
+ kind: existing?.kind ?? entity.kind ?? null,
18140
+ memoryCount: (existing?.memoryCount ?? 0) + count2
18141
+ });
18142
+ }
18143
+ return [...byName.values()].sort((a, b) => a.name.localeCompare(b.name));
18144
+ },
18145
+ listProjections: (listOptions) => getVaultMemoryProjectionsOp(vaultCtx, listOptions),
17993
18146
  create: async (input) => {
17994
18147
  const created = await createVaultMemoryOp(vaultCtx, input);
17995
18148
  if (input.embedding === void 0) embedInBackground(created);
@@ -18051,7 +18204,6 @@ function createLocalMemoryStore(options) {
18051
18204
  );
18052
18205
  const subscriptions = [memories.subscribe(afterFirst())];
18053
18206
  if (subscribeOptions?.topics) {
18054
- const linksOwnedBy = userId === void 0 ? [] : options.allowUnscopedRows ? [Q8.or(Q8.where("user_id", userId), Q8.where("user_id", null))] : [Q8.where("user_id", userId)];
18055
18207
  subscriptions.push(
18056
18208
  entityCtx.memoryEntityCollection.query(...linksOwnedBy).observe().subscribe(afterFirst())
18057
18209
  );
@@ -18461,6 +18613,31 @@ async function createRemoteMemoryPersistence(options) {
18461
18613
  throw new Error("Invalid nearby candidate response");
18462
18614
  return result;
18463
18615
  };
18616
+ const fetchQueryPage = async (queryOptions) => {
18617
+ const { signal, ...query } = queryOptions;
18618
+ if (query.limit !== void 0 && (!Number.isInteger(query.limit) || query.limit < 1 || query.limit > 200))
18619
+ throw new Error("Page limit must be 1\u2013200");
18620
+ for (const [key, max] of queryListLimits) {
18621
+ const values = query[key];
18622
+ if (values && values.length > max)
18623
+ throw new Error(`Query ${key} accepts at most ${max} entries (got ${values.length})`);
18624
+ }
18625
+ const page = await request(
18626
+ "/memories/query",
18627
+ {
18628
+ method: "POST",
18629
+ body: JSON.stringify(
18630
+ Object.fromEntries(
18631
+ queryFields.filter((key) => query[key] !== void 0).map((key) => [key, query[key]])
18632
+ )
18633
+ )
18634
+ },
18635
+ signal
18636
+ );
18637
+ 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")
18638
+ throw new Error("Invalid nearby private-memory page");
18639
+ return page;
18640
+ };
18464
18641
  const candidateSet = async (embedding, candidateOptions = {}) => {
18465
18642
  const result = await fetchCandidates(embedding, candidateOptions, true);
18466
18643
  if (!Number.isSafeInteger(result.total_count) || result.total_count < 0 || !Number.isSafeInteger(result.unavailable_count) || result.unavailable_count < 0)
@@ -18539,34 +18716,27 @@ async function createRemoteMemoryPersistence(options) {
18539
18716
  return Promise.all(result.items.map((item, i) => decodeCommitted(item, prepared[i])));
18540
18717
  },
18541
18718
  query: async (queryOptions = {}) => {
18542
- const { signal, ...query } = queryOptions;
18543
- if (query.limit !== void 0 && (!Number.isInteger(query.limit) || query.limit < 1 || query.limit > 200))
18544
- throw new Error("Page limit must be 1\u2013200");
18545
- for (const [key, max] of queryListLimits) {
18546
- const values = query[key];
18547
- if (values && values.length > max)
18548
- throw new Error(`Query ${key} accepts at most ${max} entries (got ${values.length})`);
18549
- }
18550
- const page = await request(
18551
- "/memories/query",
18552
- {
18553
- method: "POST",
18554
- body: JSON.stringify(
18555
- Object.fromEntries(
18556
- queryFields.filter((key) => query[key] !== void 0).map((key) => [key, query[key]])
18557
- )
18558
- )
18559
- },
18560
- signal
18561
- );
18562
- 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")
18563
- throw new Error("Invalid nearby private-memory page");
18719
+ const page = await fetchQueryPage(queryOptions);
18564
18720
  return {
18565
18721
  ...await decodeAll(page.items),
18566
18722
  ...page.next_cursor !== void 0 && { next_cursor: page.next_cursor },
18567
18723
  ...page.changes_cursor !== void 0 && { changes_cursor: page.changes_cursor }
18568
18724
  };
18569
18725
  },
18726
+ queryMetadata: async (queryOptions = {}) => {
18727
+ const page = await fetchQueryPage(queryOptions);
18728
+ return {
18729
+ items: page.items.map((item) => {
18730
+ const {
18731
+ memory: { content: _content, kind_value: _kindValue, ...memory },
18732
+ version,
18733
+ server_updated_at
18734
+ } = memoryRecord(item);
18735
+ return { memory, version, server_updated_at };
18736
+ }),
18737
+ ...page.next_cursor !== void 0 && { next_cursor: page.next_cursor }
18738
+ };
18739
+ },
18570
18740
  candidateSet,
18571
18741
  candidates: async (embedding, candidateOptions = {}) => decodeAll((await fetchCandidates(embedding, candidateOptions, false)).items)
18572
18742
  };
@@ -18917,10 +19087,10 @@ function createRemoteMemoryPipeline(options) {
18917
19087
  factSource: {
18918
19088
  graphRanking: options.graphRanking,
18919
19089
  temporalRanking: options.temporalRanking,
18920
- search: async (text12, searchOptions) => {
18921
- const prepared = await prepare(text12, searchOptions);
19090
+ search: async (text13, searchOptions) => {
19091
+ const prepared = await prepare(text13, searchOptions);
18922
19092
  const ranked = await rankPreparedVaultCandidates(
18923
- text12,
19093
+ text13,
18924
19094
  prepared,
18925
19095
  embeddingOptions,
18926
19096
  searchOptions
@@ -18957,6 +19127,19 @@ function createRemoteMemoryPipeline(options) {
18957
19127
 
18958
19128
  // src/lib/memory/store/remoteStore.ts
18959
19129
  import { v7 as uuidv75 } from "uuid";
19130
+ function projection({ memory }) {
19131
+ return {
19132
+ uniqueId: memory.memory_id,
19133
+ scope: memory.scope,
19134
+ folderId: memory.folder_id ?? null,
19135
+ embedding: memory.embedding?.length ? JSON.stringify(memory.embedding) : null,
19136
+ embeddingModel: memory.embedding_model ?? null,
19137
+ createdAt: new Date(memory.created_at),
19138
+ updatedAt: new Date(memory.updated_at),
19139
+ lastObservedAt: memory.last_observed_at ?? null,
19140
+ topicsUserManaged: memory.topics_user_managed ?? false
19141
+ };
19142
+ }
18960
19143
  function relevant(change, options) {
18961
19144
  return options.includeDeleted ? change === "membership" : change !== "embedding" || !!options.embeddings;
18962
19145
  }
@@ -18991,6 +19174,9 @@ function bounded(filters, key) {
18991
19174
  if (!values || values.length <= MAX_QUERY_FILTER) return [filters];
18992
19175
  return chunks(values, MAX_QUERY_FILTER).map((chunk) => ({ ...filters, [key]: chunk }));
18993
19176
  }
19177
+ function maxOf(options) {
19178
+ return options.limit && options.limit > 0 ? options.limit : Infinity;
19179
+ }
18994
19180
  function chunks(values, size) {
18995
19181
  const out = [];
18996
19182
  for (let i = 0; i < values.length; i += size) out.push(values.slice(i, i + size));
@@ -19062,26 +19248,49 @@ function createRemoteMemoryStore(options) {
19062
19248
  for (const subscriber of [...subscribers])
19063
19249
  if (relevant(change, subscriber.options)) safely(subscriber.onChange);
19064
19250
  };
19065
- const enumerate = async (filters, max = Infinity) => {
19251
+ const pages = async (read, filters, max = Infinity) => {
19066
19252
  const records = [];
19067
19253
  let cursor2;
19068
19254
  do {
19069
- const page = await persistence.query({
19255
+ const page = await read({
19070
19256
  ...filters,
19071
19257
  limit: Math.min(200, Math.max(1, max - records.length)),
19072
19258
  ...cursor2 && { cursor: cursor2 }
19073
19259
  });
19074
- warnFailed(page.failed);
19260
+ if (page.failed) warnFailed(page.failed);
19075
19261
  records.push(...page.items);
19076
19262
  cursor2 = page.next_cursor;
19077
19263
  } while (cursor2 && records.length < max);
19078
19264
  return records.slice(0, max);
19079
19265
  };
19080
- const enumerateIds = async (ids, filters) => (await Promise.all(
19266
+ const decrypted = (options2) => persistence.query(options2);
19267
+ const metadata = (options2) => persistence.queryMetadata(options2);
19268
+ const enumerate = (filters, max = Infinity) => pages(decrypted, filters, max);
19269
+ const enumerateIds = async (read, ids, filters) => (await Promise.all(
19081
19270
  chunks([...new Set(ids)], MAX_QUERY_IDS).map(
19082
- (memory_ids) => enumerate({ ...filters, memory_ids })
19271
+ (memory_ids) => pages(read, { ...filters, memory_ids })
19083
19272
  )
19084
19273
  )).flat();
19274
+ const listFilters = (listOptions) => ({
19275
+ ...stateFilters(listOptions),
19276
+ include_embeddings: true,
19277
+ order: listOptions.since ? "updated" : "created",
19278
+ ...listOptions.scopes?.length && { scopes: listOptions.scopes },
19279
+ ...listOptions.factTypes?.length && { fact_types: listOptions.factTypes },
19280
+ ...listOptions.visibility?.length && { visibility: listOptions.visibility },
19281
+ ...listOptions.since && { updated_after: listOptions.since.getTime() }
19282
+ });
19283
+ const listRows = async (read, listOptions, filters, max) => {
19284
+ const variants = bounded(filters, "scopes").flatMap((f) => bounded(f, "fact_types"));
19285
+ if (!listOptions.memoryIds && variants.length === 1) return pages(read, filters, max);
19286
+ const fetched = await Promise.all(
19287
+ variants.map(
19288
+ (variant) => listOptions.memoryIds ? enumerateIds(read, listOptions.memoryIds, variant) : pages(read, variant, max)
19289
+ )
19290
+ );
19291
+ const time = (row) => filters.order === "updated" ? row.memory.updated_at : row.memory.created_at;
19292
+ return [...new Map(fetched.flat().map((r) => [r.memory.memory_id, r])).values()].sort((a, b) => time(b) - time(a) || (a.memory.memory_id < b.memory.memory_id ? 1 : -1)).slice(0, max);
19293
+ };
19085
19294
  const queues = /* @__PURE__ */ new Map();
19086
19295
  const serialized = (id, task) => {
19087
19296
  const run = (queues.get(id) ?? Promise.resolve()).then(task, task);
@@ -19123,12 +19332,15 @@ function createRemoteMemoryStore(options) {
19123
19332
  };
19124
19333
  const newRow = (input) => {
19125
19334
  const now = Date.now();
19126
- const scope = input.scope ?? "private";
19335
+ const { level, scope } = resolveCreateLevel(input);
19336
+ assertValidKindLevel(input.kind, level);
19127
19337
  return {
19128
19338
  memory_id: uuidv75(),
19129
19339
  content: input.content,
19130
19340
  scope,
19131
- level: levelFromScope(scope),
19341
+ level,
19342
+ ...input.kind !== void 0 && input.kind !== null && { kind: input.kind },
19343
+ ...typeof input.kindValue === "string" && { kind_value: input.kindValue },
19132
19344
  created_at: now,
19133
19345
  updated_at: now,
19134
19346
  is_deleted: false,
@@ -19157,6 +19369,30 @@ function createRemoteMemoryStore(options) {
19157
19369
  return records.map((record2) => stored(record2.memory));
19158
19370
  };
19159
19371
  const asStored = (record2) => record2 ? stored(record2.memory) : null;
19372
+ const withKnownKinds = async (topics) => {
19373
+ const unkinded = [
19374
+ ...new Set(topics.filter((t) => !t.kind).map((t) => normalizeEntityName(t.name)))
19375
+ ];
19376
+ if (unkinded.length === 0) return topics;
19377
+ const kinds = /* @__PURE__ */ new Map();
19378
+ for (const names of chunks(unkinded, MAX_QUERY_TOPICS)) {
19379
+ for (const { memory } of await pages(metadata, {
19380
+ topics: names,
19381
+ include_archived: true,
19382
+ include_quarantined: true,
19383
+ include_superseded: true
19384
+ })) {
19385
+ for (const topic of parseTopics(memory.topics) ?? []) {
19386
+ const name = normalizeEntityName(topic.name);
19387
+ if (topic.kind && !kinds.has(name)) kinds.set(name, topic.kind);
19388
+ }
19389
+ }
19390
+ }
19391
+ return topics.map((topic) => {
19392
+ const kind = topic.kind ?? kinds.get(normalizeEntityName(topic.name));
19393
+ return kind ? { ...topic, kind } : topic;
19394
+ });
19395
+ };
19160
19396
  const everyState = {
19161
19397
  include_deleted: true,
19162
19398
  include_archived: true,
@@ -19233,30 +19469,34 @@ function createRemoteMemoryStore(options) {
19233
19469
  });
19234
19470
  };
19235
19471
  return {
19236
- list: async (listOptions = {}) => {
19237
- const order = listOptions.since ? "updated" : "created";
19238
- const filters = {
19239
- ...stateFilters(listOptions),
19240
- include_embeddings: true,
19241
- order,
19242
- ...listOptions.scopes?.length && { scopes: listOptions.scopes },
19243
- ...listOptions.factTypes?.length && { fact_types: listOptions.factTypes },
19244
- ...listOptions.visibility?.length && { visibility: listOptions.visibility },
19245
- ...listOptions.since && { updated_after: listOptions.since.getTime() }
19246
- };
19247
- const max = listOptions.limit && listOptions.limit > 0 ? listOptions.limit : Infinity;
19248
- const variants = bounded(filters, "scopes").flatMap((f) => bounded(f, "fact_types"));
19249
- if (!listOptions.memoryIds && variants.length === 1)
19250
- return (await enumerate(filters, max)).map((r) => stored(r.memory));
19251
- const fetched = await Promise.all(
19252
- variants.map(
19253
- (variant) => listOptions.memoryIds ? enumerateIds(listOptions.memoryIds, variant) : enumerate(variant, max)
19254
- )
19255
- );
19256
- const rows = [...new Map(fetched.flat().map((r) => [r.memory.memory_id, r])).values()].map((record2) => stored(record2.memory)).sort(
19257
- (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)
19258
- );
19259
- return rows.slice(0, max);
19472
+ list: async (listOptions = {}) => (await listRows(decrypted, listOptions, listFilters(listOptions), maxOf(listOptions))).map(
19473
+ (r) => stored(r.memory)
19474
+ ),
19475
+ listProjections: async (listOptions = {}) => (await listRows(metadata, listOptions, listFilters(listOptions), maxOf(listOptions))).map(
19476
+ projection
19477
+ ),
19478
+ listTopics: async () => {
19479
+ const topics = /* @__PURE__ */ new Map();
19480
+ for (const { memory } of await pages(metadata, {
19481
+ include_archived: true,
19482
+ include_quarantined: true,
19483
+ include_superseded: true
19484
+ })) {
19485
+ for (const topic of parseTopics(memory.topics) ?? []) {
19486
+ const name = normalizeEntityName(topic.name);
19487
+ if (!name) continue;
19488
+ const entry = topics.get(name) ?? {
19489
+ name,
19490
+ kind: null,
19491
+ memoryCount: 0,
19492
+ members: /* @__PURE__ */ new Set()
19493
+ };
19494
+ entry.kind ?? (entry.kind = topic.kind ?? null);
19495
+ entry.members.add(memory.memory_id);
19496
+ topics.set(name, entry);
19497
+ }
19498
+ }
19499
+ return [...topics.values()].map(({ members, ...topic }) => ({ ...topic, memoryCount: members.size })).sort((a, b) => a.name.localeCompare(b.name));
19260
19500
  },
19261
19501
  get: async (id) => asStored(await live(id)),
19262
19502
  listArchived: async () => (await enumerate({ archived_only: true, order: "archived", include_embeddings: true })).map(
@@ -19265,10 +19505,10 @@ function createRemoteMemoryStore(options) {
19265
19505
  memoriesByTopics: async (names) => {
19266
19506
  const wanted = new Set(names.map(normalizeEntityName).filter(Boolean));
19267
19507
  const out = /* @__PURE__ */ new Map();
19268
- const pages = await Promise.all(
19508
+ const pages2 = await Promise.all(
19269
19509
  chunks([...wanted], MAX_QUERY_TOPICS).map((topics) => enumerate({ topics }))
19270
19510
  );
19271
- for (const { memory } of pages.flat()) {
19511
+ for (const { memory } of pages2.flat()) {
19272
19512
  const matched = [...canonicalTopics(memory)].filter((name) => wanted.has(name));
19273
19513
  if (matched.length) out.set(memory.memory_id, new Set(matched));
19274
19514
  }
@@ -19276,7 +19516,7 @@ function createRemoteMemoryStore(options) {
19276
19516
  },
19277
19517
  topicsByMemories: async (memoryIds) => {
19278
19518
  const out = /* @__PURE__ */ new Map();
19279
- for (const { memory } of await enumerateIds(memoryIds, {
19519
+ for (const { memory } of await enumerateIds(decrypted, memoryIds, {
19280
19520
  include_archived: true,
19281
19521
  include_superseded: true,
19282
19522
  include_quarantined: true
@@ -19309,15 +19549,26 @@ function createRemoteMemoryStore(options) {
19309
19549
  update: async (id, patch) => {
19310
19550
  const saved = await mutate(id, "edit", (memory) => {
19311
19551
  if (memory.superseded_by) return null;
19552
+ const level = patch.level !== void 0 ? patch.level : patch.scope !== void 0 ? levelForScopeChange({ level: memory.level, scope: memory.scope }, patch.scope) : resolveMemoryLevel(memory.level, memory.scope);
19553
+ const kind = patch.kind !== void 0 ? patch.kind : memory.kind;
19554
+ assertValidKindLevel(kind, level);
19312
19555
  memory.content = patch.content;
19313
19556
  memory.updated_at = Date.now();
19314
- if (patch.scope !== void 0) {
19315
- memory.level = levelForScopeChange(
19316
- { level: memory.level, scope: memory.scope },
19317
- patch.scope
19318
- );
19557
+ if (patch.level !== void 0) {
19558
+ memory.level = level;
19559
+ memory.scope = scopeForLevel(level);
19560
+ } else if (patch.scope !== void 0) {
19561
+ memory.level = level;
19319
19562
  memory.scope = patch.scope;
19320
19563
  }
19564
+ if (patch.kind !== void 0) {
19565
+ if (patch.kind === null) delete memory.kind;
19566
+ else memory.kind = patch.kind;
19567
+ }
19568
+ if (patch.kindValue !== void 0) {
19569
+ if (patch.kindValue === null) delete memory.kind_value;
19570
+ else memory.kind_value = patch.kindValue;
19571
+ }
19321
19572
  if (patch.factType !== void 0) memory.fact_type = patch.factType ?? void 0;
19322
19573
  if (patch.eventTime !== void 0) {
19323
19574
  memory.event_time_start = patch.eventTime?.start ?? void 0;
@@ -19372,16 +19623,19 @@ function createRemoteMemoryStore(options) {
19372
19623
  notify("edit", [await persistence.put(memory, record2)]);
19373
19624
  return true;
19374
19625
  }),
19375
- setTopics: async (memoryId, topics) => asStored(
19376
- await mutate(memoryId, "edit", (memory) => ({
19377
- ...memory,
19378
- topics: serializeTopics(mergeTopics([], topicInputs(topics, "user"))),
19379
- topics_user_managed: true,
19380
- topics_updated_at: Date.now()
19381
- }))
19382
- ),
19626
+ setTopics: async (memoryId, topics) => {
19627
+ const chosen = await withKnownKinds(topicInputs(topics, "user"));
19628
+ return asStored(
19629
+ await mutate(memoryId, "edit", (memory) => ({
19630
+ ...memory,
19631
+ topics: serializeTopics(mergeTopics([], chosen)),
19632
+ topics_user_managed: true,
19633
+ topics_updated_at: Date.now()
19634
+ }))
19635
+ );
19636
+ },
19383
19637
  addTopics: async (memoryId, topics) => {
19384
- const added = topicInputs(topics, "auto");
19638
+ const added = await withKnownKinds(topicInputs(topics, "auto"));
19385
19639
  const saved = await mutate(memoryId, "edit", (memory) => ({
19386
19640
  ...memory,
19387
19641
  topics: serializeTopics(mergeTopics(parseTopics(memory.topics) ?? [], added)),
@@ -19808,8 +20062,8 @@ async function synthesizeFacet(facet, ctx, options, prior) {
19808
20062
  memories
19809
20063
  });
19810
20064
  const noEvidence = result.basedOn.memoryIds.length === 0;
19811
- const { text: text12, legitimateEmpty } = extractFacetText(result.structuredOutput);
19812
- if (!text12 && !legitimateEmpty && !noEvidence) {
20065
+ const { text: text13, legitimateEmpty } = extractFacetText(result.structuredOutput);
20066
+ if (!text13 && !legitimateEmpty && !noEvidence) {
19813
20067
  getLogger().warn(
19814
20068
  "[memory/synthesizeProfile] facet synthesis returned degraded-empty; using fallback section",
19815
20069
  { facet: facet.key, recalledCount: result.basedOn.memoryIds.length }
@@ -19819,12 +20073,12 @@ async function synthesizeFacet(facet, ctx, options, prior) {
19819
20073
  const section = {
19820
20074
  key: facet.key,
19821
20075
  label: facet.label,
19822
- text: text12,
20076
+ text: text13,
19823
20077
  sourceMemoryIds: result.basedOn.memoryIds,
19824
20078
  generatedAt: Date.now()
19825
20079
  };
19826
- if (options.redactor && text12) {
19827
- const redacted = await options.redactor.redactTextAsync(text12);
20080
+ if (options.redactor && text13) {
20081
+ const redacted = await options.redactor.redactTextAsync(text13);
19828
20082
  section.text = redacted.text;
19829
20083
  }
19830
20084
  if (!legitimateEmpty && !noEvidence) {
@@ -20337,10 +20591,10 @@ function createDurableAutoExtractor(options) {
20337
20591
  const counted = error instanceof BatchFailureError || error instanceof LockedSourcesError && error.persistentIds.length > 0;
20338
20592
  if (!counted) return false;
20339
20593
  const prior = sessionFailures.get(job.id);
20340
- const count = prior?.head === head ? prior.count + 1 : 1;
20341
- sessionFailures.set(job.id, { head, count });
20594
+ const count2 = prior?.head === head ? prior.count + 1 : 1;
20595
+ sessionFailures.set(job.id, { head, count: count2 });
20342
20596
  const terminal = error instanceof BatchFailureError && error.terminal;
20343
- if (!terminal && count < MAX_ATTEMPTS) return false;
20597
+ if (!terminal && count2 < MAX_ATTEMPTS) return false;
20344
20598
  skippedThisSession.add(job.id);
20345
20599
  const now = clock();
20346
20600
  const lastCounted = failedAtOf(job, head);
@@ -20644,7 +20898,7 @@ async function verifyFactSupport(items, options) {
20644
20898
  }
20645
20899
  const maxEvidenceChars = Math.max(1, options.maxEvidenceChars ?? DEFAULT_MAX_EVIDENCE_CHARS);
20646
20900
  const redactor = resolvePiiRedactor(options.piiRedaction ?? true);
20647
- const safe = async (text12) => redactor ? (await redactor.redactTextAsync(text12)).text : text12;
20901
+ const safe = async (text13) => redactor ? (await redactor.redactTextAsync(text13)).text : text13;
20648
20902
  let truncatedCount = 0;
20649
20903
  const parts = [];
20650
20904
  for (const [i, item] of items.entries()) {
@@ -20701,7 +20955,7 @@ Which item numbers are supported?`,
20701
20955
  }
20702
20956
  return supported;
20703
20957
  }
20704
- function parseSupported(parsed, count) {
20958
+ function parseSupported(parsed, count2) {
20705
20959
  if (typeof parsed !== "object" || parsed === null) return null;
20706
20960
  const list = parsed.supported;
20707
20961
  if (!Array.isArray(list)) return null;
@@ -20709,7 +20963,7 @@ function parseSupported(parsed, count) {
20709
20963
  for (const raw of list) {
20710
20964
  const n = typeof raw === "number" ? raw : typeof raw === "string" ? Number(raw) : NaN;
20711
20965
  if (!Number.isInteger(n)) continue;
20712
- if (n >= 1 && n <= count) out.add(n - 1);
20966
+ if (n >= 1 && n <= count2) out.add(n - 1);
20713
20967
  }
20714
20968
  return out;
20715
20969
  }
@@ -20760,7 +21014,7 @@ async function verifyMemoriesForPublish(memories, sources, options) {
20760
21014
  );
20761
21015
  const pending = [];
20762
21016
  for (const { index, uniqueId, content, ids } of withinBudget) {
20763
- const evidence = ids.map((id) => resolved.get(id) ?? null).filter((text12) => text12 !== null);
21017
+ const evidence = ids.map((id) => resolved.get(id) ?? null).filter((text13) => text13 !== null);
20764
21018
  const dropped = ids.length - evidence.length;
20765
21019
  if (ids.some((id) => unreadable.has(id))) {
20766
21020
  results[index] = {
@@ -21263,22 +21517,22 @@ function normalizeManualFactType(value) {
21263
21517
  function isSharedScope(scope) {
21264
21518
  return scope === "shared";
21265
21519
  }
21266
- async function notifyWritten(options, input, outcome) {
21520
+ async function notifyWritten(options, input, outcome2) {
21267
21521
  try {
21268
- await options?.onWritten?.({ input, outcome });
21522
+ await options?.onWritten?.({ input, outcome: outcome2 });
21269
21523
  } catch {
21270
21524
  }
21271
21525
  }
21272
- function describeWriteOutcome(outcome) {
21273
- switch (outcome.action) {
21526
+ function describeWriteOutcome(outcome2) {
21527
+ switch (outcome2.action) {
21274
21528
  case "create":
21275
- return `Memory saved successfully (ID: ${outcome.memoryId}).`;
21529
+ return `Memory saved successfully (ID: ${outcome2.memoryId}).`;
21276
21530
  case "update":
21277
21531
  case "supersede":
21278
- return `Memory saved successfully (ID: ${outcome.memoryId}); it replaces an earlier version of this fact.`;
21532
+ return `Memory saved successfully (ID: ${outcome2.memoryId}); it replaces an earlier version of this fact.`;
21279
21533
  case "merge":
21280
21534
  case "skip":
21281
- 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.`;
21535
+ 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.`;
21282
21536
  case "suppressed":
21283
21537
  return "Not saved: this matches a memory the user previously deleted. Do not re-save it.";
21284
21538
  }
@@ -21384,9 +21638,9 @@ function createMemoryVaultTool(vaultCtx, options, embeddingOptions, cache) {
21384
21638
  ...folderId !== void 0 && { folderId },
21385
21639
  ...factType !== void 0 && { factType }
21386
21640
  };
21387
- const outcome = await options.write(input);
21388
- await notifyWritten(options, input, outcome);
21389
- return describeWriteOutcome(outcome);
21641
+ const outcome2 = await options.write(input);
21642
+ await notifyWritten(options, input, outcome2);
21643
+ return describeWriteOutcome(outcome2);
21390
21644
  }
21391
21645
  const created = await createVaultMemoryOp(vaultCtx, {
21392
21646
  content,
@@ -21863,8 +22117,8 @@ var sessionCache = /* @__PURE__ */ new Map();
21863
22117
  function generateRequestId() {
21864
22118
  return ++requestIdCounter;
21865
22119
  }
21866
- function parseSSEResponse(text12) {
21867
- const events = text12.split(/\n\n+/);
22120
+ function parseSSEResponse(text13) {
22121
+ const events = text13.split(/\n\n+/);
21868
22122
  let lastEventData = "";
21869
22123
  for (const event of events) {
21870
22124
  const dataLines = [];
@@ -21886,11 +22140,11 @@ function parseSSEResponse(text12) {
21886
22140
  }
21887
22141
  async function parseResponseBody(response) {
21888
22142
  const contentType = response.headers.get("Content-Type") || "";
21889
- const text12 = await response.text();
21890
- if (contentType.includes("text/event-stream") || text12.startsWith("event:") || text12.startsWith("data:")) {
21891
- return parseSSEResponse(text12);
22143
+ const text13 = await response.text();
22144
+ if (contentType.includes("text/event-stream") || text13.startsWith("event:") || text13.startsWith("data:")) {
22145
+ return parseSSEResponse(text13);
21892
22146
  }
21893
- return JSON.parse(text12);
22147
+ return JSON.parse(text13);
21894
22148
  }
21895
22149
  async function initializeMCPSession(accessToken) {
21896
22150
  const requestId = generateRequestId();
@@ -23019,9 +23273,9 @@ New lines of conversation:
23019
23273
  {new_lines}
23020
23274
 
23021
23275
  New summary:`;
23022
- function estimateTokens(text12) {
23023
- if (!text12) return 0;
23024
- return Math.ceil(text12.length / 4);
23276
+ function estimateTokens(text13) {
23277
+ if (!text13) return 0;
23278
+ return Math.ceil(text13.length / 4);
23025
23279
  }
23026
23280
  var PER_MESSAGE_OVERHEAD_TOKENS = 4;
23027
23281
  var MAX_MESSAGES_PER_SUMMARIZATION = 20;
@@ -23081,14 +23335,14 @@ function splitMessagesAtThreshold(messages, tokenThreshold, minWindowMessages) {
23081
23335
  }
23082
23336
  async function redactSummaryPrompt(prompt, redactor, onPiiRedacted) {
23083
23337
  if (!redactor) return prompt;
23084
- const { text: text12, matches } = await redactor.redactTextAsync(prompt);
23338
+ const { text: text13, matches } = await redactor.redactTextAsync(prompt);
23085
23339
  if (matches.length > 0 && onPiiRedacted) {
23086
23340
  try {
23087
23341
  onPiiRedacted(matches);
23088
23342
  } catch {
23089
23343
  }
23090
23344
  }
23091
- return text12;
23345
+ return text13;
23092
23346
  }
23093
23347
  async function progressiveSummarize(options) {
23094
23348
  const {
@@ -23815,7 +24069,7 @@ function useChatStorage(options) {
23815
24069
  [piiRedaction, currentConversationId]
23816
24070
  );
23817
24071
  const maskForEmbedding = useCallback4(
23818
- (text12) => isPiiRedactor(resolvedPiiRedaction) ? resolvedPiiRedaction.maskText(text12) : text12,
24072
+ (text13) => isPiiRedactor(resolvedPiiRedaction) ? resolvedPiiRedaction.maskText(text13) : text13,
23819
24073
  [resolvedPiiRedaction]
23820
24074
  );
23821
24075
  const maskEmbeddingInput = isPiiRedactor(resolvedPiiRedaction) ? maskForEmbedding : void 0;
@@ -24459,12 +24713,12 @@ function useChatStorage(options) {
24459
24713
  return {
24460
24714
  callRedactor: redactor,
24461
24715
  callPiiRedaction: forInnerSend,
24462
- maskForCall: (text12) => redactor ? redactor.maskText(text12) : text12
24716
+ maskForCall: (text13) => redactor ? redactor.maskText(text13) : text13
24463
24717
  };
24464
24718
  };
24465
24719
  pendingResumeRef.current = null;
24466
24720
  const effectiveAssistantUniqueId = assistantUniqueId ?? (resumable ? `msg_${uuidv77()}` : void 0);
24467
- const embedToolText = (text12, mask, masked, token) => {
24721
+ const embedToolText = (text13, mask, masked, token) => {
24468
24722
  const opts = {
24469
24723
  getToken: token,
24470
24724
  baseUrl,
@@ -24472,10 +24726,10 @@ function useChatStorage(options) {
24472
24726
  maskInput: mask,
24473
24727
  cache: embeddingCache ? maskScopedEmbeddingCache(embeddingCache, masked) : void 0
24474
24728
  };
24475
- return shouldChunkMessage(text12, DEFAULT_CHUNK_SIZE) ? generateEmbeddings(
24476
- chunkText(text12).map((c) => c.text),
24729
+ return shouldChunkMessage(text13, DEFAULT_CHUNK_SIZE) ? generateEmbeddings(
24730
+ chunkText(text13).map((c) => c.text),
24477
24731
  opts
24478
- ) : generateEmbedding(text12, opts);
24732
+ ) : generateEmbedding(text13, opts);
24479
24733
  };
24480
24734
  if (walletAddress && signMessage && !hasEncryptionKey(walletAddress)) {
24481
24735
  try {
@@ -25600,6 +25854,7 @@ export {
25600
25854
  extractAndRetain,
25601
25855
  extractEntitiesForMemories,
25602
25856
  extractFacts,
25857
+ extractReservationReceipts,
25603
25858
  formatFileProcessingNotes,
25604
25859
  generateConversationId,
25605
25860
  generateEmbedding,