amenbo 0.4.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.en.md CHANGED
@@ -15,7 +15,8 @@ Most general-purpose scraping tools assume the English-speaking web. On Japanese
15
15
  - **Furigana**: strips `<ruby>` reading annotations to prevent duplicated body text
16
16
  - **Information rendered as images**: pages built around image-based pricing tables or banners automatically fall back to screenshots when text extraction is poor
17
17
  - **Dropped or malformed tables**: data tables with high link density (e.g., comparison tables) can be dropped entirely during content extraction; amenbo detects such tables and restores them to their original position. Tables kept in the body are also normalized for colspan/rowspan and multi-level headers to prevent column misalignment
18
- - **Major Japanese sites**: dedicated adapters for Qiita / Zenn / note / Hatena Blog / Yahoo! News / PR TIMES / Wikipedia (Japanese / Chinese / Korean)
18
+ - **Lost headings**: on pages that wrap headings with edit-link containers (wiki-style sites), content extraction can strip the entire heading structure; amenbo detects headings whose section content survived and restores them in place (keeping outline / section progressive disclosure reliable)
19
+ - **Major Japanese sites**: dedicated adapters for Qiita / Zenn / note / Hatena Blog / Yahoo! News / PR TIMES
19
20
 
20
21
  For a measured comparison against similar tools (official fetch MCP / Jina Reader / Playwright MCP / PixelRAG pixelshot), see the article "[エージェントのWeb取得、ツール次第でトークンが5000倍違った話](https://zenn.dev/rererr_engineer/articles/e571e5b6eb1d53)" (Japanese). The benchmark harness and raw logs are in [`bench/`](./bench/).
21
22
 
package/README.md CHANGED
@@ -15,7 +15,8 @@ amenbo(アメンボ / water strider)は、Claude Code や Codex のようなコ
15
15
  - **ふりがな**:`<ruby>` の振り仮名を除去し、本文の二重化を防止
16
16
  - **画像で出す情報**:画像化された料金表やバナー中心のページは、テキスト抽出が貧弱なとき自動でスクリーンショットに切り替え
17
17
  - **表の欠落・崩れ**:リンク密度の高いデータ表(比較表など)は本文抽出時に丸ごと落ちることがあり、そうした表を検出して元の位置へ復元します。本文に残った表も colspan/rowspan・多段ヘッダを正規化し、列ズレを防ぎます
18
- - **国内主要サイト**:Qiita / Zenn / note / はてなブログ / Yahoo!ニュース / PR TIMES / Wikipedia(日本語・中国語・韓国語版)に専用アダプタ
18
+ - **見出しの消失**:見出しが編集リンク付きラッパーに包まれたページ(Wiki系など)では本文抽出時に見出し構造が丸ごと失われることがあり、本文が残っている節の見出しを検出して元の位置へ復元します(outline / section の段階開示が安定)
19
+ - **国内主要サイト**:Qiita / Zenn / note / はてなブログ / Yahoo!ニュース / PR TIMES に専用アダプタ
19
20
 
20
21
  類似ツール(公式 fetch MCP / Jina Reader / Playwright MCP / PixelRAG pixelshot)との実測比較は、記事「[エージェントのWeb取得、ツール次第でトークンが5000倍違った話](https://zenn.dev/rererr_engineer/articles/e571e5b6eb1d53)」を参照してください。ハーネスと生ログは [`bench/`](./bench/) にあります。
21
22
 
@@ -11,12 +11,10 @@
11
11
  * ページ構造がクエリ毎に大きく異なり単一セレクタでの決定的抽出が難しいため、
12
12
  * Phase 3の初期セットからは見送り、確認が取れた6サイトのみを実装する。
13
13
  *
14
- * Phase 4追加: ja/zh/ko.wikipedia.org。Readabilityが記事中の全<h2>-<h6>見出しを剥ぎ落として
15
- * しまう(MediaWikiが見出しを`<div class="mw-heading">`等でラップし編集リンクを併記する
16
- * 構造をReadabilityの本文整形ロジックが正しく扱えないため)ことを実機検証で確認しており、
17
- * アダプタでReadabilityを完全にバイパスすることで見出し構造を保つ(outlineモードの実用性に直結)。
18
- * CJK各版はMediaWikiのクラス名が言語非依存なため単一アダプタで賄う。en等は既存ベンチ実測との
19
- * 兼ね合いから対象外(全言語化はen実測を伴う別判断)。
14
+ * Wikipediaアダプタは置かない(v0.4.1で撤去): 外部サイトの仕様変更・筆者独自記法への追従を
15
+ * 要するサイト固有対応は避ける方針。Readabilityが見出しを剥がす問題はサイトを問わない一般問題
16
+ * として、汎用の見出し救出(extract/markdown.tsのcollectHeadings/reinsertDroppedHeadings)で
17
+ * 対応する(実キャプチャja/zh/koでアダプタ経路とのパリティを計測確認済み)。
20
18
  */
21
19
  import type { SiteAdapter } from "./types.js";
22
20
  export declare const SITE_ADAPTERS: SiteAdapter[];
@@ -36,13 +36,6 @@ export const SITE_ADAPTERS = [
36
36
  contentSelectors: ["#press-release-body", "article"],
37
37
  notes: "PR TIMESリリース本文。",
38
38
  },
39
- {
40
- name: "wikipedia-cjk",
41
- hostPattern: /(^|\.)(?:ja|zh|ko)\.wikipedia\.org$/i,
42
- contentSelectors: [".mw-parser-output"],
43
- removeSelectors: [".mw-editsection", ".navbox", ".ambox", ".hatnote", ".noprint", ".mw-empty-elt"],
44
- notes: "Wikipedia日本語/中国語/韓国語版の本文(MediaWiki出力)。Readabilityが見出しを剥がすため必須。MediaWikiのクラス名は言語非依存で、CJK各版に同一セレクタが通用する。",
45
- },
46
39
  ];
47
40
  /** ホスト名(document.location.hostname相当)に一致するアダプタを探す。無ければnull。 */
48
41
  export function findAdapter(hostname) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAsBA,MAAM,CAAC,MAAM,aAAa,GAAkB;IAC1C;QACE,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,oBAAoB;QACjC,gBAAgB,EAAE,CAAC,eAAe,EAAE,SAAS,CAAC;QAC9C,KAAK,EAAE,sCAAsC;KAC9C;IACD;QACE,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,mBAAmB;QAChC,gBAAgB,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC;QACrC,KAAK,EAAE,mCAAmC;KAC3C;IACD;QACE,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,mBAAmB;QAChC,gBAAgB,EAAE,CAAC,oCAAoC,EAAE,kBAAkB,EAAE,SAAS,CAAC;QACvF,KAAK,EAAE,yCAAyC;KACjD;IACD;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,4CAA4C;QACzD,gBAAgB,EAAE,CAAC,gBAAgB,EAAE,SAAS,CAAC;QAC/C,eAAe,EAAE,CAAC,mBAAmB,EAAE,qBAAqB,CAAC;QAC7D,KAAK,EAAE,+CAA+C;KACvD;IACD;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,6BAA6B;QAC1C,gBAAgB,EAAE,CAAC,eAAe,EAAE,gBAAgB,EAAE,SAAS,CAAC;QAChE,KAAK,EAAE,oBAAoB;KAC5B;IACD;QACE,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,qBAAqB;QAClC,gBAAgB,EAAE,CAAC,qBAAqB,EAAE,SAAS,CAAC;QACpD,KAAK,EAAE,iBAAiB;KACzB;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,sCAAsC;QACnD,gBAAgB,EAAE,CAAC,mBAAmB,CAAC;QACvC,eAAe,EAAE,CAAC,iBAAiB,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,CAAC;QAClG,KAAK,EAAE,wGAAwG;KAChH;CACF,CAAC;AAEF,+DAA+D;AAC/D,MAAM,UAAU,WAAW,CAAC,QAAgB;IAC1C,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,IAAI,CAAC;AACrF,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAoBA,MAAM,CAAC,MAAM,aAAa,GAAkB;IAC1C;QACE,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,oBAAoB;QACjC,gBAAgB,EAAE,CAAC,eAAe,EAAE,SAAS,CAAC;QAC9C,KAAK,EAAE,sCAAsC;KAC9C;IACD;QACE,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,mBAAmB;QAChC,gBAAgB,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC;QACrC,KAAK,EAAE,mCAAmC;KAC3C;IACD;QACE,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,mBAAmB;QAChC,gBAAgB,EAAE,CAAC,oCAAoC,EAAE,kBAAkB,EAAE,SAAS,CAAC;QACvF,KAAK,EAAE,yCAAyC;KACjD;IACD;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,4CAA4C;QACzD,gBAAgB,EAAE,CAAC,gBAAgB,EAAE,SAAS,CAAC;QAC/C,eAAe,EAAE,CAAC,mBAAmB,EAAE,qBAAqB,CAAC;QAC7D,KAAK,EAAE,+CAA+C;KACvD;IACD;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,6BAA6B;QAC1C,gBAAgB,EAAE,CAAC,eAAe,EAAE,gBAAgB,EAAE,SAAS,CAAC;QAChE,KAAK,EAAE,oBAAoB;KAC5B;IACD;QACE,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,qBAAqB;QAClC,gBAAgB,EAAE,CAAC,qBAAqB,EAAE,SAAS,CAAC;QACpD,KAAK,EAAE,iBAAiB;KACzB;CACF,CAAC;AAEF,+DAA+D;AAC/D,MAAM,UAAU,WAAW,CAAC,QAAgB;IAC1C,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,IAAI,CAAC;AACrF,CAAC"}
@@ -48,6 +48,11 @@ export interface DroppedTable {
48
48
  probes: string[];
49
49
  /** 表の直前の見出し(優先)または近傍段落の正規化テキスト。位置復元のアンカー。無ければ空。 */
50
50
  anchor: string;
51
+ /**
52
+ * anchorの由来。heading由来は見出し要素の完全一致で照合し(「人口」等の短く非一意な見出しが
53
+ * 段落の部分文字列へ吸着して表が無関係な節へ誤挿入されるのを防ぐ)、paragraph由来は包含判定する。
54
+ */
55
+ anchorKind: "heading" | "paragraph" | "";
51
56
  }
52
57
  /**
53
58
  * turndownのGFMテーブル変換はcolspan/rowspan・多段ヘッダを扱えず列ズレや空セルを生む。
@@ -75,20 +80,81 @@ export declare function collectDataTables(body: TableQueryHost): DroppedTable[];
75
80
  /**
76
81
  * Readability出力に含まれない表だけを、可能なら元の位置(アンカー直後)へ、無理なら末尾へ再結合する。
77
82
  * アンカー(表の直前見出し/段落)がReadability出力に残っていれば、その要素の直後に挿入して
78
- * 「表が本来属していた節」へ戻す(記事構造=意味の保持)。残っていなければ末尾フォールバック。
83
+ * 「表が本来属していた節」へ戻す(記事構造=意味の保持)。残っていなければ末尾フォールバック
84
+ * (誤配置より末尾が安全)。
79
85
  */
80
86
  export declare function reinsertDroppedTables(contentHtml: string, tables: DroppedTable[]): {
81
87
  html: string;
82
88
  appended: number;
83
89
  };
90
+ /** 救出対象の見出し。位置復元のため直後段落テキストをアンカーとして持つ。 */
91
+ export interface DroppedHeading {
92
+ /** 見出しレベル(2-6)。h1はReadabilityがtitleへ昇格させるため対象外。 */
93
+ level: number;
94
+ /** normalizeForSignatureで正規化した見出しのプレーンテキスト。outlineに要る階層とテキストのみ持つ。 */
95
+ text: string;
96
+ /**
97
+ * 節スコープ内の十分長いコンテンツ要素(段落/表/リスト等)を文書順に並べた位置復元アンカー候補。
98
+ * 最初の段落まで(段落を含む)を最大HEADING_ANCHOR_CANDIDATE_MAX件持ち、照合は先頭から試して
99
+ * 最初に一致した要素の直前へ挿入する。単一アンカーにしないのは、節先頭のブロックが
100
+ * Readabilityに落とされるノイズ(廃止グラフ注意書き等)だった場合に、後続の実在要素
101
+ * (データ表や本文段落)へ吸着させるため。段落優先にせず文書順なのは、節の先頭が表のとき
102
+ * 見出しを表の前に立てるため(段落優先だと見出しが表の後ろへ入り、表が前の節へ帰属してしまう)。
103
+ * 空配列=節本文なし(復元しない)。
104
+ */
105
+ anchors: HeadingAnchorCandidate[];
106
+ }
107
+ export interface HeadingAnchorCandidate {
108
+ text: string;
109
+ /**
110
+ * block(表/リスト)由来はnormalizeTableHtml再構築で空白が消えるため全空白除去で照合し、
111
+ * paragraph由来は空白正規化ベースの包含で照合する(全空白除去を段落由来へ広げると欧文で偽陽性が増える)。
112
+ */
113
+ kind: "paragraph" | "block";
114
+ }
115
+ /** collectHeadingsが走査するDOM要素の最小インターフェース。 */
116
+ interface HeadingCandidate {
117
+ tagName: string;
118
+ textContent: string;
119
+ parentElement: HeadingCandidate | null;
120
+ closest(selector: string): HeadingCandidate | null;
121
+ }
122
+ interface HeadingQueryHost {
123
+ querySelectorAll(selector: string): ArrayLike<HeadingCandidate>;
124
+ }
125
+ /**
126
+ * Readabilityは見出しがラッパー要素(編集リンク付きdiv等)に包まれていると本文整形時にh2-h6を
127
+ * 丸ごと落とし、outline/section機能が依存する節構造を全消失させる。parse前のdocumentからh2-h6を
128
+ * 採取し、節スコープ内の段落/ブロックをアンカーにして位置復元に備える。
129
+ * parseは渡したdocumentを破壊的に変更するため、必ずparse前に呼ぶこと。
130
+ * h1はReadabilityがtitleへ昇格させるため対象外(復元するとtitleと二重化する)。
131
+ * 見出し内リンク等のmarkupは持たない(outlineに要るのはテキストと階層のみ)。
132
+ */
133
+ export declare function collectHeadings(body: HeadingQueryHost): DroppedHeading[];
134
+ /**
135
+ * Readabilityが落とした見出しを、アンカー(直後段落)がReadability出力に残っている場合のみ、
136
+ * その段落の直前(beforebegin)へ`<hN>text</hN>`として戻す。
137
+ *
138
+ * 表救出(reinsertDroppedTables)との最重要差分は「アンカー不在の見出しは復元しない・末尾
139
+ * フォールバックもしない」こと。表=データそのもの(失うと情報欠落)だが、見出し=節のラベルであり、
140
+ * 節本文がReadability出力に残っていない見出しを戻してもノイズにしかならない。アンカーの生存確認が
141
+ * 「その節が本文として残っているか」の判定を兼ね、nav/フッター等Readabilityが正しく落とした節の
142
+ * 見出しを自然に除外する(サイト固有知識なしでnavbox見出しを拾わない)。
143
+ * 同一テキストの見出しは最初の1件のみ扱う(同名節の複数復元はアンカー取り違えリスクの方が大きい)。
144
+ * 挿入は「同テキストの見出しが本文に無い」場合のみのため、再適用しても増えない(冪等)。
145
+ */
146
+ export declare function reinsertDroppedHeadings(contentHtml: string, headings: DroppedHeading[]): {
147
+ html: string;
148
+ restored: number;
149
+ };
84
150
  /**
85
151
  * 本文HTMLに保持された複雑表(colspan/rowspan・多段ヘッダ)をその場で正規化し、あわせて全表の
86
152
  * セル内ブロック要素をインライン化する。
87
153
  * 救出経路(reinsertDroppedTables)は「Readabilityが落とした表」しか正規化しないため、
88
154
  * Readability/アダプタ/ジオメトリ/selector等が本文に保持した複雑表は未正規化のまま
89
155
  * turndownへ渡ると列ズレ・空セルになる。turndown直前の全経路共通パスでこれを補う。
90
- * (検証URLの日本語Wikipedia rowspan表はアダプタ経路=Readability非経由のため、
91
- * readability経路限定ではなく全経路に適用する必要がある。)
156
+ * (アダプタ経路(例: zenn等)はReadabilityを経由しないため、readability経路限定ではなく
157
+ * 全経路に適用する必要がある。)
92
158
  * 正規化はspan/多段ヘッダを持つ最外データ表だけを対象にし、レイアウト表・単純表・
93
159
  * 既に正規化済みの表(救出で挿入済みを含む)は触らないため冪等。
94
160
  * インライン化はブロック要素を持つ全ての表が対象(セル内ul等によるturndown-gfmのouterHTML
@@ -303,6 +303,7 @@ function normalizeForSignature(text) {
303
303
  /**
304
304
  * document順に並べた要素列から、tableIndexの表の直前アンカー(見出し優先・無ければ近傍段落)を求める。
305
305
  * 見出しは節の先頭に表を戻すのに最適。見出しが皆無なページ用に段落をフォールバックにする。
306
+ * 由来(heading/paragraph)を返し、照合方法(完全一致/包含)を呼び出し側で出し分けられるようにする。
306
307
  */
307
308
  function findTableAnchor(seq, tableIndex) {
308
309
  let paragraph = "";
@@ -313,13 +314,13 @@ function findTableAnchor(seq, tableIndex) {
313
314
  const text = normalizeForSignature(el.textContent);
314
315
  if (/^H[1-6]$/.test(el.tagName)) {
315
316
  if (text.length > 0)
316
- return text.slice(0, ANCHOR_MAX_LENGTH); // 見出し優先。
317
+ return { text: text.slice(0, ANCHOR_MAX_LENGTH), kind: "heading" }; // 見出し優先。
317
318
  }
318
319
  else if (!paragraph && text.length >= ANCHOR_MIN_PARAGRAPH_LENGTH) {
319
320
  paragraph = text.slice(0, ANCHOR_MAX_LENGTH);
320
321
  }
321
322
  }
322
- return paragraph;
323
+ return paragraph ? { text: paragraph, kind: "paragraph" } : { text: "", kind: "" };
323
324
  }
324
325
  /**
325
326
  * 表内セル(th/td)から重複判定用の照合プローブを作る。入れ子表を内包するセルは、その内側の
@@ -374,10 +375,12 @@ export function collectDataTables(body) {
374
375
  }
375
376
  if (maxCells < 2)
376
377
  continue;
378
+ const anchor = findTableAnchor(seq, i);
377
379
  result.push({
378
380
  html: normalizeTableHtml(table.outerHTML),
379
381
  probes: buildTableProbes(table),
380
- anchor: findTableAnchor(seq, i),
382
+ anchor: anchor.text,
383
+ anchorKind: anchor.kind,
381
384
  });
382
385
  }
383
386
  return result;
@@ -398,10 +401,28 @@ function isTableAlreadyPresent(table, contentText) {
398
401
  }
399
402
  return hits >= Math.floor(table.probes.length / 2) + 1;
400
403
  }
404
+ /**
405
+ * 表アンカーの照合。heading由来は見出し要素(h1-h6)の正規化テキスト完全一致に限定する
406
+ * (「人口」等の短く非一意な見出しが段落の部分文字列へ吸着し、表が無関係な節へ誤挿入されるのを防ぐ。
407
+ * 実測: zh.wikipedia 广东省で人口統計表が航空節へ誤挿入)。anchorが80字で切り詰められている場合のみ
408
+ * 前方一致を許す。paragraph由来は従来どおり包含判定する。
409
+ */
410
+ function matchesTableAnchor(node, table) {
411
+ if (table.anchor.length === 0)
412
+ return false;
413
+ const nodeText = normalizeForSignature(node.textContent);
414
+ if (table.anchorKind === "heading") {
415
+ if (!/^H[1-6]$/.test(node.tagName))
416
+ return false;
417
+ return nodeText === table.anchor || (table.anchor.length === ANCHOR_MAX_LENGTH && nodeText.startsWith(table.anchor));
418
+ }
419
+ return nodeText.includes(table.anchor);
420
+ }
401
421
  /**
402
422
  * Readability出力に含まれない表だけを、可能なら元の位置(アンカー直後)へ、無理なら末尾へ再結合する。
403
423
  * アンカー(表の直前見出し/段落)がReadability出力に残っていれば、その要素の直後に挿入して
404
- * 「表が本来属していた節」へ戻す(記事構造=意味の保持)。残っていなければ末尾フォールバック。
424
+ * 「表が本来属していた節」へ戻す(記事構造=意味の保持)。残っていなければ末尾フォールバック
425
+ * (誤配置より末尾が安全)。
405
426
  */
406
427
  export function reinsertDroppedTables(contentHtml, tables) {
407
428
  if (tables.length === 0)
@@ -417,9 +438,7 @@ export function reinsertDroppedTables(contentHtml, tables) {
417
438
  const anchorNodes = Array.from(host.body.querySelectorAll("h1, h2, h3, h4, h5, h6, p"));
418
439
  const tail = [];
419
440
  for (const table of missing) {
420
- const anchorNode = table.anchor
421
- ? anchorNodes.find((node) => normalizeForSignature(node.textContent).includes(table.anchor))
422
- : undefined;
441
+ const anchorNode = anchorNodes.find((node) => matchesTableAnchor(node, table));
423
442
  if (anchorNode) {
424
443
  anchorNode.insertAdjacentHTML("afterend", table.html);
425
444
  }
@@ -431,6 +450,145 @@ export function reinsertDroppedTables(contentHtml, tables) {
431
450
  const html = tail.length > 0 ? `${inserted}\n${tail.join("\n")}` : inserted;
432
451
  return { html, appended: missing.length };
433
452
  }
453
+ function isNestedInTable(el) {
454
+ // TABLE自身はclosestが自分を返すため祖先表は親から探す。他要素はel自身から探す。
455
+ const from = el.tagName === "TABLE" ? el.parentElement : el;
456
+ return from?.closest("table") != null;
457
+ }
458
+ /** 見出しレベル(H1-H6→1-6)を返す。見出しでなければ0。 */
459
+ function headingLevel(tagName) {
460
+ const match = /^H([1-6])$/.exec(tagName);
461
+ return match ? Number(match[1]) : 0;
462
+ }
463
+ const HEADING_ANCHOR_SELECTOR = "h1, h2, h3, h4, h5, h6, p, table, ul, ol, dl";
464
+ const HEADING_ANCHOR_CANDIDATE_MAX = 4;
465
+ /**
466
+ * document順の要素列から、headingIndexの見出しの節スコープ内アンカーを求める。
467
+ * スコープは「自レベル以下(数値がlevel以下)の見出しに達するまで」。子見出し(数値が大きい)は
468
+ * 跨いで走査を続ける(親h2の直後に子h3が続く構造でも親の段落まで辿り着けるようにするため)。
469
+ * 段落(p)を最優先し、無ければ表/リスト等ブロックの先頭をフォールバックにする(表・リストのみの節用)。
470
+ * 表の内側の要素はanchorにしない(挿入先から除外されるため命中しても復元できない)。
471
+ * 由来(paragraph/block)を返し、照合方法を呼び出し側で出し分けられるようにする。無ければ空。
472
+ */
473
+ function findHeadingAnchor(seq, headingIndex) {
474
+ const level = headingLevel(seq[headingIndex]?.tagName ?? "");
475
+ const candidates = [];
476
+ for (let i = headingIndex + 1; i < seq.length; i++) {
477
+ const el = seq[i];
478
+ if (!el)
479
+ continue;
480
+ const elLevel = headingLevel(el.tagName);
481
+ if (elLevel > 0) {
482
+ if (elLevel <= level)
483
+ break; // 同レベル/上位の見出し=節の終端。子見出しは跨いで継続。
484
+ continue;
485
+ }
486
+ if (isNestedInTable(el))
487
+ continue;
488
+ const text = normalizeForSignature(el.textContent);
489
+ if (text.length < ANCHOR_MIN_PARAGRAPH_LENGTH)
490
+ continue;
491
+ const kind = el.tagName === "P" ? "paragraph" : "block";
492
+ candidates.push({ text: text.slice(0, ANCHOR_MAX_LENGTH), kind });
493
+ // 段落は照合が安定しているため、最初の段落が候補に入ったら打ち切る(それが落ちている節は
494
+ // 本文ごと消えているとみなす)。ブロックだけが続く節は上限まで候補を積む。
495
+ if (kind === "paragraph" || candidates.length >= HEADING_ANCHOR_CANDIDATE_MAX)
496
+ break;
497
+ }
498
+ return candidates;
499
+ }
500
+ /**
501
+ * Readabilityは見出しがラッパー要素(編集リンク付きdiv等)に包まれていると本文整形時にh2-h6を
502
+ * 丸ごと落とし、outline/section機能が依存する節構造を全消失させる。parse前のdocumentからh2-h6を
503
+ * 採取し、節スコープ内の段落/ブロックをアンカーにして位置復元に備える。
504
+ * parseは渡したdocumentを破壊的に変更するため、必ずparse前に呼ぶこと。
505
+ * h1はReadabilityがtitleへ昇格させるため対象外(復元するとtitleと二重化する)。
506
+ * 見出し内リンク等のmarkupは持たない(outlineに要るのはテキストと階層のみ)。
507
+ */
508
+ export function collectHeadings(body) {
509
+ const result = [];
510
+ const seq = Array.from(body.querySelectorAll(HEADING_ANCHOR_SELECTOR));
511
+ for (let i = 0; i < seq.length; i++) {
512
+ const el = seq[i];
513
+ if (!el)
514
+ continue;
515
+ const level = headingLevel(el.tagName);
516
+ if (level < 2)
517
+ continue; // h1(title二重化)と非見出し(p/表/リスト)を除外。
518
+ const text = normalizeForSignature(el.textContent);
519
+ if (text.length === 0)
520
+ continue; // 空見出しは捨てる。
521
+ result.push({ level, text, anchors: findHeadingAnchor(seq, i) });
522
+ }
523
+ return result;
524
+ }
525
+ const HEADING_INSERT_TARGET_SELECTOR = "p, blockquote, table, ul, ol, dl";
526
+ /**
527
+ * 見出しアンカーの照合を由来で出し分ける。
528
+ * block(表/リスト)由来は両辺の全空白を除去して包含判定する。normalizeTableHtmlで再構築された表は
529
+ * セル間に空白が入らないため、生DOM textContent由来のanchorと空白がズレて通常の照合が外れる
530
+ * (実測: 表由来anchorが全滅)。CJKでは空白の意味が薄く除去による誤一致リスクは無視できるが、
531
+ * 欧文での偽陽性を避けるため段落由来には広げず、paragraph由来はnormalizeForSignatureベースの包含に留める。
532
+ */
533
+ function matchesAnchorText(nodeText, anchor, kind) {
534
+ if (anchor.length === 0)
535
+ return false;
536
+ if (kind === "block") {
537
+ const needle = anchor.replace(/\s+/g, "");
538
+ return needle.length > 0 && nodeText.replace(/\s+/g, "").includes(needle);
539
+ }
540
+ return normalizeForSignature(nodeText).includes(anchor);
541
+ }
542
+ /**
543
+ * Readabilityが落とした見出しを、アンカー(直後段落)がReadability出力に残っている場合のみ、
544
+ * その段落の直前(beforebegin)へ`<hN>text</hN>`として戻す。
545
+ *
546
+ * 表救出(reinsertDroppedTables)との最重要差分は「アンカー不在の見出しは復元しない・末尾
547
+ * フォールバックもしない」こと。表=データそのもの(失うと情報欠落)だが、見出し=節のラベルであり、
548
+ * 節本文がReadability出力に残っていない見出しを戻してもノイズにしかならない。アンカーの生存確認が
549
+ * 「その節が本文として残っているか」の判定を兼ね、nav/フッター等Readabilityが正しく落とした節の
550
+ * 見出しを自然に除外する(サイト固有知識なしでnavbox見出しを拾わない)。
551
+ * 同一テキストの見出しは最初の1件のみ扱う(同名節の複数復元はアンカー取り違えリスクの方が大きい)。
552
+ * 挿入は「同テキストの見出しが本文に無い」場合のみのため、再適用しても増えない(冪等)。
553
+ */
554
+ export function reinsertDroppedHeadings(contentHtml, headings) {
555
+ if (headings.length === 0)
556
+ return { html: contentHtml, restored: 0 };
557
+ const { document } = parseHTML(`<!DOCTYPE html><html><body>${contentHtml}</body></html>`);
558
+ const host = document;
559
+ const existing = new Set();
560
+ for (const el of Array.from(host.body.querySelectorAll("h1, h2, h3, h4, h5, h6"))) {
561
+ const text = normalizeForSignature(el.textContent);
562
+ if (text.length > 0)
563
+ existing.add(text);
564
+ }
565
+ // 表の内側の要素は挿入先から除外する(td内のpにマッチして見出しが表の中へ入り込むのを防ぐ)。
566
+ const anchorNodes = Array.from(host.body.querySelectorAll(HEADING_INSERT_TARGET_SELECTOR)).filter((node) => !isNestedInTable(node));
567
+ const handled = new Set();
568
+ let restored = 0;
569
+ for (const heading of headings) {
570
+ if (handled.has(heading.text))
571
+ continue; // 同一テキストは最初の1件のみ扱う。
572
+ handled.add(heading.text);
573
+ if (existing.has(heading.text))
574
+ continue; // 既に本文にある見出しは戻さない。
575
+ if (heading.anchors.length === 0)
576
+ continue; // アンカー不在=節本文が残っていないので復元しない。
577
+ // 候補を文書順に試し、最初に一致した要素の直前へ挿入する(節先頭のブロックが落ちていれば
578
+ // 後続のデータ表・段落へ吸着する)。
579
+ let anchorNode;
580
+ for (const candidate of heading.anchors) {
581
+ anchorNode = anchorNodes.find((node) => matchesAnchorText(node.textContent, candidate.text, candidate.kind));
582
+ if (anchorNode)
583
+ break;
584
+ }
585
+ if (!anchorNode)
586
+ continue; // 全候補が出力に無い=その節は落とされているので復元しない。
587
+ anchorNode.insertAdjacentHTML("beforebegin", `<h${heading.level}>${escapeHtml(heading.text)}</h${heading.level}>`);
588
+ restored++;
589
+ }
590
+ return restored > 0 ? { html: host.body.innerHTML, restored } : { html: contentHtml, restored: 0 };
591
+ }
434
592
  /**
435
593
  * 正規化が必要な「データ表」かを判定する。2行2列以上かつ、colspan/rowspanを持つか
436
594
  * 「先頭に2行以上の連続ヘッダ行があり、かつその後にデータ行が残る(多段ヘッダ)」表のみtrue。
@@ -544,8 +702,8 @@ function inlineCellBlocks(table) {
544
702
  * 救出経路(reinsertDroppedTables)は「Readabilityが落とした表」しか正規化しないため、
545
703
  * Readability/アダプタ/ジオメトリ/selector等が本文に保持した複雑表は未正規化のまま
546
704
  * turndownへ渡ると列ズレ・空セルになる。turndown直前の全経路共通パスでこれを補う。
547
- * (検証URLの日本語Wikipedia rowspan表はアダプタ経路=Readability非経由のため、
548
- * readability経路限定ではなく全経路に適用する必要がある。)
705
+ * (アダプタ経路(例: zenn等)はReadabilityを経由しないため、readability経路限定ではなく
706
+ * 全経路に適用する必要がある。)
549
707
  * 正規化はspan/多段ヘッダを持つ最外データ表だけを対象にし、レイアウト表・単純表・
550
708
  * 既に正規化済みの表(救出で挿入済みを含む)は触らないため冪等。
551
709
  * インライン化はブロック要素を持つ全ての表が対象(セル内ul等によるturndown-gfmのouterHTML
@@ -672,14 +830,22 @@ export function extractMarkdown(html, options = {}) {
672
830
  if (document.body) {
673
831
  prunedBlockCount = pruneLowValueBlocks(document.body);
674
832
  }
675
- // Readabilityはリンク密度の高いデータ表(各国人口ソート表等)を本文から丸ごと落とすことがある。
676
- // parseは渡したdocumentを破壊的に変更するため、parse前に救出候補の表を位置アンカー付きで採取しておく。
833
+ // Readabilityはリンク密度の高いデータ表(各国人口ソート表等)を本文から丸ごと落とし、
834
+ // 見出しをラッパー要素ごと剥ぐこともある。parseは渡したdocumentを破壊的に変更するため、
835
+ // parse前に救出候補の表・見出しを位置アンカー付きで採取しておく。
677
836
  const dataTables = document.body ? collectDataTables(document.body) : [];
837
+ const droppedHeadings = document.body ? collectHeadings(document.body) : [];
678
838
  const article = new Readability(document).parse();
679
839
  const geometryHtml = options.geometry ? extractByGeometry(document, options.geometry) : null;
680
840
  if (article && article.content && (article.textContent ?? "").trim().length >= MIN_READABILITY_TEXT_LENGTH) {
681
- // Readabilityが取りこぼしたデータ表を、可能なら元の位置へ戻して本文へ再結合する。
682
- contentHtml = reinsertDroppedTables(article.content, dataTables).html;
841
+ // 見出し→表→見出しの順で戻す。1回目の見出し復元で表のアンカー(表直前の見出し優先)を
842
+ // 立ててから表を戻す。表が1つでも戻ったときだけ2回目を回し、Readabilityが落として救出で
843
+ // 本文へ戻った表をアンカーに持つ見出し(データ表のみの節)を拾う(1回目は表が本文に無く
844
+ // 復元できない)。表が戻らなければcontentは不変で2回目は必ずno-opなので、一般ページに
845
+ // 常時パースコストを乗せないよう分岐する。reinsertDroppedHeadingsは既存見出し集合で冪等。
846
+ const withHeadings = reinsertDroppedHeadings(article.content, droppedHeadings).html;
847
+ const tableStep = reinsertDroppedTables(withHeadings, dataTables);
848
+ contentHtml = tableStep.appended > 0 ? reinsertDroppedHeadings(tableStep.html, droppedHeadings).html : tableStep.html;
683
849
  title = article.title || title;
684
850
  extractionMethod = "readability";
685
851
  }
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/extract/markdown.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/extract/markdown.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,eAAe,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAkC,MAAM,wBAAwB,CAAC;AAC9F,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAA6B,MAAM,eAAe,CAAC;AAE5G,OAAO,EAAE,mBAAmB,EAAyB,MAAM,cAAc,CAAC;AAyB1E,MAAM,2BAA2B,GAAG,GAAG,CAAC;AACxC,MAAM,qBAAqB,GAAG,mFAAmF,CAAC;AAClH,qDAAqD;AACrD,oDAAoD;AACpD,MAAM,mBAAmB,GAAG,IAAI,GAAG,IAAI,CAAC;AAExC,SAAS,qBAAqB;IAC5B,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,CAAC;IACvF,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjB,OAAO,OAAO,CAAC;AACjB,CAAC;AAaD,uCAAuC;AACvC,SAAS,iBAAiB,CAAC,IAAwB;IACjD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;IACtD,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC;QACvD,SAAS,IAAI,KAAK,GAAG,MAAM,CAAC;QAC5B,IAAI,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,IAAI;YAAE,UAAU,EAAE,CAAC;IACrD,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,MAAM;QACrB,kBAAkB,EAAE,UAAU;QAC9B,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,mBAAmB,EAAE,CAAC,CAAC;KAC3D,CAAC;AACJ,CAAC;AAED,oDAAoD;AACpD,SAAS,mBAAmB,CAAC,QAA6C,EAAE,QAAiD;IAC3H,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC3B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO;YACL,mBAAmB,EAAE,CAAC;YACtB,iBAAiB,EAAE,CAAC;YACpB,cAAc,EAAE,CAAC;YACjB,WAAW,EAAE,CAAC;YACd,QAAQ,EAAE,CAAC;YACX,qBAAqB,EAAE,CAAC;YACxB,QAAQ,EAAE,CAAC;YACX,kBAAkB,EAAE,CAAC;YACrB,YAAY,EAAE,CAAC;YACf,sBAAsB,EAAE,CAAC;SAC1B,CAAC;IACJ,CAAC;IAED,iEAAiE;IACjE,2EAA2E;IAC3E,4CAA4C;IAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACnC,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,CAAC,EAAE,CAAC;QAC/E,EAAE,CAAC,MAAM,EAAE,CAAC;IACd,CAAC;IAED,MAAM,iBAAiB,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC;IAC/E,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;IAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;IAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;IACrD,MAAM,qBAAqB,GAAG,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC;IAClF,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAE3C,mDAAmD;IACnD,0DAA0D;IAC1D,+CAA+C;IAC/C,MAAM,aAAa,GAAG,QAAQ,IAAI,QAAQ,CAAC,SAAS,GAAG,CAAC,IAAI,QAAQ,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IACtG,MAAM,kBAAkB,GAAG,aAAa;QACtC,CAAC,CAAC;YACE,mBAAmB,EAAE,sBAAsB,CAAC,aAAa,CAAC,cAAc,EAAE,aAAa,CAAC,SAAS,EAAE,aAAa,CAAC,UAAU,CAAC;YAC5H,kBAAkB,EAAE,sBAAsB,CACxC,aAAa,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK,OAAO,CAAC,EAC/D,aAAa,CAAC,SAAS,EACvB,aAAa,CAAC,UAAU,CACzB;SACF;QACH,CAAC,CAAC,IAAI,CAAC;IAET,OAAO;QACL,mBAAmB,EAAE,CAAC,EAAE,oBAAoB;QAC5C,iBAAiB;QACjB,cAAc;QACd,WAAW;QACX,QAAQ;QACR,qBAAqB;QACrB,GAAG,UAAU;QACb,sBAAsB,EAAE,CAAC,EAAE,oBAAoB;QAC/C,GAAG,CAAC,kBAAkB,IAAI,EAAE,CAAC;KAC9B,CAAC;AACJ,CAAC;AAYD,wDAAwD;AACxD,SAAS,oBAAoB,CAAC,QAA6B,EAAE,SAAmB;IAC9E,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;IAC1B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAWD;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,QAA8B,EAAE,QAA8B;IACvF,MAAM,OAAO,GAAG,wBAAwB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC9D,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,eAAe,GAAG,2BAA2B;QAAE,OAAO,IAAI,CAAC;IAEnF,MAAM,WAAW,GAAG,IAAI,GAAG,EAA+B,CAAC;IAC3D,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC;QAC5E,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAAE,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/H,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5D,CAAC;AAqDD,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAC7B,MAAM,2BAA2B,GAAG,EAAE,CAAC;AACvC,MAAM,QAAQ,GAAG,IAAI,CAAC;AACtB,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAC3B,MAAM,eAAe,GAAG,CAAC,CAAC;AAC1B,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAC5B,gDAAgD;AAChD,MAAM,yBAAyB,GAAG,EAAE,CAAC;AA6BrC,uDAAuD;AACvD,SAAS,SAAS,CAAC,KAAoB;IACrC,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC;IAC3C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IAClD,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAC,8BAA8B,SAAS,gBAAgB,CAAC,CAAC;IACxF,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,MAAM,KAAK,GAAG,OAA+B,CAAC;IAC9C,yCAAyC;IACzC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAE,QAAoC,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAChG,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,OAAO,CAC1C,CAAC;IAEF,gDAAgD;IAChD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,CAAC;IACtG,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;IAC7B,IAAI,QAAQ,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAErC,MAAM,IAAI,GAAuC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAC5F,MAAM,KAAK,GAAc,EAAE,CAAC;IAC5B,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,KAAK,IAAI,IAAI,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC;QACvG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC;QAC5E,WAAW,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;QAC9B,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,KAAK,SAAS;gBAAE,CAAC,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;YACxD,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;YACxD,MAAM,MAAM,GAAa,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;YACrF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;oBACjC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC;gBAC/B,CAAC;YACH,CAAC;YACD,CAAC,IAAI,OAAO,CAAC;QACf,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IACxE,IAAI,OAAO,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAEpC,MAAM,aAAa,GAAG,CAAC,CAAS,EAAE,CAAS,EAAU,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;IACjF,MAAM,cAAc,GAAG,CAAC,CAAS,EAAE,CAAS,EAAU,EAAE;QACtD,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACnE,CAAC,CAAC;IACF,yDAAyD;IACzD,MAAM,iBAAiB,GAAG,CAAC,CAAS,EAAW,EAAE,CAAC,KAAK,CAAC,CAAC,CAAE,IAAI,WAAW,CAAC,CAAC,CAAE,IAAI,CAAC,CAAC;IACpF,MAAM,mBAAmB,GAAG,CAAC,CAAS,EAAW,EAAE;QACjD,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACnE,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE;YAAE,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC;QAC/E,OAAO,OAAO,KAAK,OAAO,CAAC;IAC7B,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,CAAC,KAAe,EAAE,GAAgB,EAAU,EAAE,CAAC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;IAChI,MAAM,OAAO,GAAG,CAAC,CAAS,EAAU,EAAE;QACpC,+CAA+C;QAC/C,6DAA6D;QAC7D,0CAA0C;QAC1C,MAAM,GAAG,GAAgB,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5D,MAAM,IAAI,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC;QACnE,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC7E,CAAC,CAAC;IAEF,oDAAoD;IACpD,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,OAAO,KAAK,GAAG,QAAQ,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACrC,IAAI,IAAI;YAAE,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,KAAK,EAAE,CAAC;IACV,CAAC;IACD,IAAI,KAAK,IAAI,QAAQ,EAAE,CAAC;QACtB,KAAK,GAAG,CAAC,CAAC;QACV,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,OAAO,KAAK,GAAG,WAAW,GAAG,QAAQ,IAAI,iBAAiB,CAAC,KAAK,GAAG,WAAW,CAAC;QAAE,WAAW,EAAE,CAAC;IAE/F,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,4DAA4D;IAC5D,mDAAmD;IACnD,gCAAgC;IAChC,IAAI,WAAW,IAAI,CAAC,IAAI,KAAK,GAAG,WAAW,GAAG,QAAQ,EAAE,CAAC;QACvD,+CAA+C;QAC/C,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;YACjC,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;gBACjD,MAAM,CAAC,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC9B,IAAI,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC;oBAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACxD,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/B,CAAC;QACD,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;QACvC,KAAK,IAAI,CAAC,GAAG,KAAK,GAAG,WAAW,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE;YAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACjF,CAAC;SAAM,CAAC;QACN,gDAAgD;QAChD,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,IAAI,CAAC,KAAK,KAAK,IAAI,iBAAiB,CAAC,CAAC,CAAC;gBAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;;gBAChE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,sDAAsD;IACtD,6DAA6D;IAC7D,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACzC,IAAI,OAAO;YAAE,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IACD,YAAY,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;IAErC,MAAM,GAAG,GAAa,CAAC,SAAS,CAAC,CAAC;IAClC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC;QAAE,GAAG,CAAC,IAAI,CAAC,YAAY,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACtF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;QAAE,GAAG,CAAC,IAAI,CAAC,UAAU,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;IAC7E,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,GAAG,CAAC,IAAI,CAAC,UAAU,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;IACzE,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACrB,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACtB,CAAC;AAED,iCAAiC;AACjC,SAAS,qBAAqB,CAAC,IAAY;IACzC,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AACnE,CAAC;AAOD;;;;GAIG;AACH,SAAS,eAAe,CAAC,GAAqB,EAAE,UAAkB;IAChE,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,KAAK,IAAI,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,KAAK,OAAO;YAAE,SAAS,CAAC,WAAW;QACxD,MAAM,IAAI,GAAG,qBAAqB,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;QACnD,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,iBAAiB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS;QACpG,CAAC;aAAM,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,IAAI,2BAA2B,EAAE,CAAC;YACpE,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AACrF,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,KAAqB;IAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;IACzH,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,IAAI,CAAC,MAAM,GAAG,gBAAgB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QAC/D,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,qBAAqB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAClH,CAAC;IACD,OAAO,MAAM;SACV,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;SACzC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;SACpE,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC;SACzB,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAoB;IACpD,MAAM,MAAM,GAAmB,EAAE,CAAC;IAClC,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,kCAAkC,CAAC,CAAC,CAAC;IAClF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO;YAAE,SAAS;QAClD,4BAA4B;QAC5B,IAAI,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC;YAAE,SAAS;QACpD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QACtD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS;QAC9B,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,GAAG,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;YACpD,IAAI,KAAK,GAAG,QAAQ;gBAAE,QAAQ,GAAG,KAAK,CAAC;QACzC,CAAC;QACD,IAAI,QAAQ,GAAG,CAAC;YAAE,SAAS;QAC3B,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC;YACzC,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC;YAC/B,MAAM,EAAE,MAAM,CAAC,IAAI;YACnB,UAAU,EAAE,MAAM,CAAC,IAAI;SACxB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,SAAS,qBAAqB,CAAC,KAAmB,EAAE,WAAmB;IACrE,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3C,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,IAAI,EAAE,CAAC;IAC9D,CAAC;IACD,OAAO,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AACzD,CAAC;AAED;;;;;GAKG;AACH,SAAS,kBAAkB,CAAC,IAAuB,EAAE,KAAmB;IACtE,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5C,MAAM,QAAQ,GAAG,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACzD,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACnC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,KAAK,CAAC;QACjD,OAAO,QAAQ,KAAK,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,iBAAiB,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACvH,CAAC;IACD,OAAO,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACzC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,WAAmB,EAAE,MAAsB;IAC/E,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IAEnE,2DAA2D;IAC3D,iCAAiC;IACjC,MAAM,WAAW,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,qBAAqB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;IACrF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IAEpE,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAC,8BAA8B,WAAW,gBAAgB,CAAC,CAAC;IAC1F,MAAM,IAAI,GAAG,QAAiC,CAAC;IAC/C,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,2BAA2B,CAAC,CAAC,CAAC;IAExF,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QAC/E,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,kBAAkB,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB;QAC5C,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;IACrC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC5E,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;AAC5C,CAAC;AA8CD,SAAS,eAAe,CAAC,EAAiB;IACxC,iDAAiD;IACjD,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5D,OAAO,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;AACxC,CAAC;AAED,sCAAsC;AACtC,SAAS,YAAY,CAAC,OAAe;IACnC,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzC,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,uBAAuB,GAAG,8CAA8C,CAAC;AAE/E,MAAM,4BAA4B,GAAG,CAAC,CAAC;AAEvC;;;;;;;GAOG;AACH,SAAS,iBAAiB,CAAC,GAAuB,EAAE,YAAoB;IACtE,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;IAC7D,MAAM,UAAU,GAA6B,EAAE,CAAC;IAChD,KAAK,IAAI,CAAC,GAAG,YAAY,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnD,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,EAAE;YAAE,SAAS;QAClB,MAAM,OAAO,GAAG,YAAY,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAChB,IAAI,OAAO,IAAI,KAAK;gBAAE,MAAM,CAAC,+BAA+B;YAC5D,SAAS;QACX,CAAC;QACD,IAAI,eAAe,CAAC,EAAE,CAAC;YAAE,SAAS;QAClC,MAAM,IAAI,GAAG,qBAAqB,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;QACnD,IAAI,IAAI,CAAC,MAAM,GAAG,2BAA2B;YAAE,SAAS;QACxD,MAAM,IAAI,GAA0B,EAAE,CAAC,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;QAC/E,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,iBAAiB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QAClE,8CAA8C;QAC9C,uCAAuC;QACvC,IAAI,IAAI,KAAK,WAAW,IAAI,UAAU,CAAC,MAAM,IAAI,4BAA4B;YAAE,MAAM;IACvF,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,IAAsB;IACpD,MAAM,MAAM,GAAqB,EAAE,CAAC;IACpC,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,CAAC,CAAC;IACvE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,EAAE;YAAE,SAAS;QAClB,MAAM,KAAK,GAAG,YAAY,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,KAAK,GAAG,CAAC;YAAE,SAAS,CAAC,iCAAiC;QAC1D,MAAM,IAAI,GAAG,qBAAqB,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;QACnD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS,CAAC,YAAY;QAC7C,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,iBAAiB,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAiBD,MAAM,8BAA8B,GAAG,kCAAkC,CAAC;AAE1E;;;;;;GAMG;AACH,SAAS,iBAAiB,CAAC,QAAgB,EAAE,MAAc,EAAE,IAA2B;IACtF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACtC,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC1C,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,qBAAqB,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC1D,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,uBAAuB,CAAC,WAAmB,EAAE,QAA0B;IACrF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IAErE,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAC,8BAA8B,WAAW,gBAAgB,CAAC,CAAC;IAC1F,MAAM,IAAI,GAAG,QAAwC,CAAC;IAEtD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAAC;QAClF,MAAM,IAAI,GAAG,qBAAqB,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;QACnD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,kDAAkD;IAClD,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,8BAA8B,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;IACpI,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,SAAS,CAAC,oBAAoB;QAC7D,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,SAAS,CAAC,mBAAmB;QAC7D,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS,CAAC,4BAA4B;QACxE,8CAA8C;QAC9C,oBAAoB;QACpB,IAAI,UAA0C,CAAC;QAC/C,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACxC,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7G,IAAI,UAAU;gBAAE,MAAM;QACxB,CAAC;QACD,IAAI,CAAC,UAAU;YAAE,SAAS,CAAC,gCAAgC;QAC3D,UAAU,CAAC,kBAAkB,CAAC,aAAa,EAAE,KAAK,OAAO,CAAC,KAAK,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;QACnH,QAAQ,EAAE,CAAC;IACb,CAAC;IAED,OAAO,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;AACrG,CAAC;AAyBD;;;;;;;GAOG;AACH,SAAS,uBAAuB,CAAC,KAAsB;IACrD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC,CAAC;IACpG,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAClC,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,IAAI,gBAAgB,GAAG,IAAI,CAAC;IAC5B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,KAAK,IAAI,IAAI,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC;QAClG,IAAI,KAAK,CAAC,MAAM,GAAG,QAAQ;YAAE,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC;QACrD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC;gBAAE,OAAO,GAAG,IAAI,CAAC;QACjH,CAAC;QACD,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC;QACzF,IAAI,gBAAgB,IAAI,cAAc;YAAE,iBAAiB,EAAE,CAAC;;YACvD,gBAAgB,GAAG,KAAK,CAAC;IAChC,CAAC;IACD,IAAI,QAAQ,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/B,MAAM,sBAAsB,GAAG,iBAAiB,IAAI,CAAC,IAAI,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC;IACzF,OAAO,OAAO,IAAI,sBAAsB,CAAC;AAC3C,CAAC;AAwBD,MAAM,mBAAmB,GAAG,qDAAqD,CAAC;AAElF,4DAA4D;AAC5D,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACjF,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,EAAsB;IAC/C,IAAI,IAAI,GAAG,EAAE,CAAC,eAAe,CAAC;IAC9B,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC;QACtD,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QACnF,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,uCAAuC;AACvC,SAAS,iBAAiB,CAAC,EAAsB;IAC/C,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC;IACvB,2DAA2D;IAC3D,2BAA2B;IAC3B,MAAM,IAAI,GAAG,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,YAAY,IAAI,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IACzF,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjC,iDAAiD;QACjD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC;aAClC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC;aACzC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;aAChC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;aACjC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChB,OAAO,IAAI,GAAG,KAAK,CAAC;IACtB,CAAC;IACD,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,eAAe,CAAC;IACtF,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;IAChC,IAAI,GAAG,KAAK,YAAY;QAAE,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,gBAAgB;IAC/D,OAAO,GAAG,IAAI,SAAS,UAAU,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,OAAO;AACtG,CAAC;AAED,mDAAmD;AACnD,SAAS,WAAW,CAAC,EAAsB,EAAE,IAAwB;IACnE,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,GAAG,GAAG,EAAE,CAAC,aAAa,CAAC;IAC3B,OAAO,GAAG,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAC3B,KAAK,EAAE,CAAC;QACR,GAAG,GAAG,GAAG,CAAC,aAAa,CAAC;IAC1B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,KAAyB;IACjD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC,CAAC;IACtH,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IACtE,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;QACzB,EAAE,CAAC,kBAAkB,CAAC,aAAa,EAAE,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5D,EAAE,CAAC,MAAM,EAAE,CAAC;IACd,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,uBAAuB,CAAC,WAAmB;IACzD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,WAAW,CAAC;IACxD,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAC,8BAA8B,WAAW,gBAAgB,CAAC,CAAC;IAC1F,MAAM,IAAI,GAAG,QAAmC,CAAC;IAEjD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/D,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,gBAAgB,CAAC,KAAsC,CAAC;YAAE,OAAO,GAAG,IAAI,CAAC;IAC/E,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC;YAAE,SAAS,CAAC,kBAAkB;QACvE,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC;YAAE,SAAS;QAC9C,KAAK,CAAC,kBAAkB,CAAC,UAAU,EAAE,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QAC1E,KAAK,CAAC,MAAM,EAAE,CAAC;QACf,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;IAED,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC;AACrD,CAAC;AAWD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,uBAAuB,CAAC,QAA+B;IACrE,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC;QACxE,IAAI,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC;YAAE,SAAS;QACtC,EAAE,CAAC,MAAM,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAcD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,8BAA8B,CAAC,IAAY;IACzD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/C,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAC,8BAA8B,IAAI,gBAAgB,CAAC,CAAC;IACnF,MAAM,IAAI,GAAG,QAA2C,CAAC;IAEzD,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QACpE,IAAI,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC;YAAE,SAAS;QACtC,EAAE,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;IACD,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,OAAO,GAAmB,EAAE;IACxE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,aAAa,CAAC;IACzC,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAErC,uBAAuB,CAAC,QAA4C,CAAC,CAAC;IACtE,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAC/B,oBAAoB,CAAC,QAAgD,CAAC,CAAC;IAEvE,sDAAsD;IACtD,MAAM,YAAY,GAAG,mBAAmB,CAAC,QAA0D,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEvH,IAAI,WAAmB,CAAC;IACxB,IAAI,KAAK,GAAkB,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC;IAClD,IAAI,gBAAgB,GAAG,CAAC,CAAC;IACzB,IAAI,WAAW,GAAkB,IAAI,CAAC;IACtC,IAAI,gBAAkC,CAAC;IAEvC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QACxE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,eAAe,CAAC,GAAG,EAAE,0BAA0B,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/E,CAAC;QACD,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3D,gBAAgB,GAAG,UAAU,CAAC;IAChC,CAAC;SAAM,CAAC;QACN,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE;YACrB,IAAI,CAAC;gBACH,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;YAC/B,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QACL,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACxD,MAAM,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,QAA0C,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAEnI,IAAI,OAAO,IAAI,cAAc,EAAE,CAAC;YAC9B,KAAK,MAAM,cAAc,IAAI,OAAO,CAAC,eAAe,IAAI,EAAE,EAAE,CAAC;gBAC3D,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;oBAC7E,EAAE,CAAC,MAAM,EAAE,CAAC;gBACd,CAAC;YACH,CAAC;YACD,gBAAgB,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC;YACvD,WAAW,GAAG,cAAc,CAAC,SAAS,CAAC;YACvC,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;YAC3B,gBAAgB,GAAG,SAAS,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAClB,gBAAgB,GAAG,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACxD,CAAC;YAED,kDAAkD;YAClD,oDAAoD;YACpD,qCAAqC;YACrC,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAiC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACtG,MAAM,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAmC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAE3G,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;YAClD,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,QAA2C,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAEhI,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,IAAI,2BAA2B,EAAE,CAAC;gBAC3G,8CAA8C;gBAC9C,oDAAoD;gBACpD,8CAA8C;gBAC9C,mDAAmD;gBACnD,0DAA0D;gBAC1D,MAAM,YAAY,GAAG,uBAAuB,CAAC,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,IAAI,CAAC;gBACpF,MAAM,SAAS,GAAG,qBAAqB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;gBAClE,WAAW,GAAG,SAAS,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,SAAS,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;gBACtH,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC;gBAC/B,gBAAgB,GAAG,aAAa,CAAC;YACnC,CAAC;iBAAM,IAAI,YAAY,EAAE,CAAC;gBACxB,qDAAqD;gBACrD,6CAA6C;gBAC7C,WAAW,GAAG,YAAY,CAAC;gBAC3B,gBAAgB,GAAG,UAAU,CAAC;YAChC,CAAC;iBAAM,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACzB,oDAAoD;gBACpD,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;gBACtC,gBAAgB,GAAG,eAAe,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,eAAe,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;IACH,CAAC;IAED,wDAAwD;IACxD,mDAAmD;IACnD,MAAM,cAAc,GAAG,uBAAuB,CAAC,WAAW,CAAC,CAAC;IAC5D,sEAAsE;IACtE,MAAM,aAAa,GAAG,8BAA8B,CAAC,cAAc,CAAC,CAAC;IACrE,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;IACzC,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5D,MAAM,QAAQ,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAE/C,OAAO;QACL,KAAK;QACL,QAAQ;QACR,gBAAgB;QAChB,YAAY,EAAE,EAAE,GAAG,YAAY,EAAE,mBAAmB,EAAE,QAAQ,CAAC,MAAM,EAAE,sBAAsB,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE;QACzH,WAAW;QACX,gBAAgB;KACjB,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "amenbo",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "mcpName": "io.github.Rererr/amenbo",
5
5
  "description": "Skims the web without making waves — a Japanese-web-native MCP server for low-impact, token-efficient web collection",
6
6
  "type": "module",