@joohw/boss-cli 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.
Files changed (109) hide show
  1. package/README.md +169 -172
  2. package/dist/browser/agent_operating_indicator.js +51 -51
  3. package/dist/browser/human_delay.d.ts +2 -0
  4. package/dist/browser/human_delay.d.ts.map +1 -1
  5. package/dist/browser/human_delay.js +4 -0
  6. package/dist/browser/human_delay.js.map +1 -1
  7. package/dist/cli/cliRouter.js +42 -42
  8. package/dist/common/auth.js +49 -49
  9. package/dist/common/boss_paywall_popup.js +87 -87
  10. package/dist/common/boss_session_lock.d.ts.map +1 -1
  11. package/dist/common/boss_session_lock.js +7 -1
  12. package/dist/common/boss_session_lock.js.map +1 -1
  13. package/dist/common/boss_session_page.d.ts +2 -2
  14. package/dist/common/boss_session_page.d.ts.map +1 -1
  15. package/dist/common/boss_session_page.js +18 -29
  16. package/dist/common/boss_session_page.js.map +1 -1
  17. package/dist/common/boss_sidebar_nav.js +25 -26
  18. package/dist/common/boss_sidebar_nav.js.map +1 -1
  19. package/dist/common/c_resume_capture.d.ts +1 -0
  20. package/dist/common/c_resume_capture.d.ts.map +1 -1
  21. package/dist/common/c_resume_capture.js +69 -32
  22. package/dist/common/c_resume_capture.js.map +1 -1
  23. package/dist/ocr/resume_ocr.d.ts.map +1 -1
  24. package/dist/ocr/resume_ocr.js +4 -1
  25. package/dist/ocr/resume_ocr.js.map +1 -1
  26. package/dist/toolset/action.d.ts.map +1 -1
  27. package/dist/toolset/action.js +11 -7
  28. package/dist/toolset/action.js.map +1 -1
  29. package/dist/toolset/chat.d.ts.map +1 -1
  30. package/dist/toolset/chat.js +246 -230
  31. package/dist/toolset/chat.js.map +1 -1
  32. package/dist/toolset/deep-search.d.ts.map +1 -1
  33. package/dist/toolset/deep-search.js +289 -265
  34. package/dist/toolset/deep-search.js.map +1 -1
  35. package/dist/toolset/greet.d.ts.map +1 -1
  36. package/dist/toolset/greet.js +1 -6
  37. package/dist/toolset/greet.js.map +1 -1
  38. package/dist/toolset/jd.d.ts.map +1 -1
  39. package/dist/toolset/jd.js +132 -136
  40. package/dist/toolset/jd.js.map +1 -1
  41. package/dist/toolset/list.d.ts.map +1 -1
  42. package/dist/toolset/list.js +52 -45
  43. package/dist/toolset/list.js.map +1 -1
  44. package/dist/toolset/preview.d.ts.map +1 -1
  45. package/dist/toolset/preview.js +6 -8
  46. package/dist/toolset/preview.js.map +1 -1
  47. package/dist/toolset/recommend.d.ts.map +1 -1
  48. package/dist/toolset/recommend.js +222 -196
  49. package/dist/toolset/recommend.js.map +1 -1
  50. package/dist/toolset/send.d.ts.map +1 -1
  51. package/dist/toolset/send.js +6 -9
  52. package/dist/toolset/send.js.map +1 -1
  53. package/package.json +65 -65
  54. package/dist/browser/auth.d.ts +0 -33
  55. package/dist/browser/auth.d.ts.map +0 -1
  56. package/dist/browser/auth.js +0 -137
  57. package/dist/browser/auth.js.map +0 -1
  58. package/dist/browser/c_resume_capture.d.ts +0 -11
  59. package/dist/browser/c_resume_capture.d.ts.map +0 -1
  60. package/dist/browser/c_resume_capture.js +0 -76
  61. package/dist/browser/c_resume_capture.js.map +0 -1
  62. package/dist/browser/chat.d.ts +0 -7
  63. package/dist/browser/chat.d.ts.map +0 -1
  64. package/dist/browser/chat.js +0 -155
  65. package/dist/browser/chat.js.map +0 -1
  66. package/dist/browser/withLoggedInPage.d.ts +0 -7
  67. package/dist/browser/withLoggedInPage.d.ts.map +0 -1
  68. package/dist/browser/withLoggedInPage.js +0 -19
  69. package/dist/browser/withLoggedInPage.js.map +0 -1
  70. package/dist/facebook-cli/index.d.ts +0 -2
  71. package/dist/facebook-cli/index.d.ts.map +0 -1
  72. package/dist/facebook-cli/index.js +0 -2
  73. package/dist/facebook-cli/index.js.map +0 -1
  74. package/dist/toolset/c_resume_capture.d.ts +0 -11
  75. package/dist/toolset/c_resume_capture.d.ts.map +0 -1
  76. package/dist/toolset/c_resume_capture.js +0 -76
  77. package/dist/toolset/c_resume_capture.js.map +0 -1
  78. package/dist/toolset/chat_action.d.ts +0 -7
  79. package/dist/toolset/chat_action.d.ts.map +0 -1
  80. package/dist/toolset/chat_action.js +0 -355
  81. package/dist/toolset/chat_action.js.map +0 -1
  82. package/dist/toolset/list_candidates.d.ts +0 -4
  83. package/dist/toolset/list_candidates.d.ts.map +0 -1
  84. package/dist/toolset/list_candidates.js +0 -120
  85. package/dist/toolset/list_candidates.js.map +0 -1
  86. package/dist/toolset/list_positions.d.ts +0 -9
  87. package/dist/toolset/list_positions.d.ts.map +0 -1
  88. package/dist/toolset/list_positions.js +0 -41
  89. package/dist/toolset/list_positions.js.map +0 -1
  90. package/dist/toolset/open_chat.d.ts +0 -3
  91. package/dist/toolset/open_chat.d.ts.map +0 -1
  92. package/dist/toolset/open_chat.js +0 -423
  93. package/dist/toolset/open_chat.js.map +0 -1
  94. package/dist/toolset/recommend_greet.d.ts +0 -2
  95. package/dist/toolset/recommend_greet.d.ts.map +0 -1
  96. package/dist/toolset/recommend_greet.js +0 -27
  97. package/dist/toolset/recommend_greet.js.map +0 -1
  98. package/dist/toolset/search.d.ts +0 -24
  99. package/dist/toolset/search.d.ts.map +0 -1
  100. package/dist/toolset/search.js +0 -682
  101. package/dist/toolset/search.js.map +0 -1
  102. package/dist/toolset/send_message.d.ts +0 -12
  103. package/dist/toolset/send_message.d.ts.map +0 -1
  104. package/dist/toolset/send_message.js +0 -214
  105. package/dist/toolset/send_message.js.map +0 -1
  106. package/dist/toolset/skill.d.ts +0 -13
  107. package/dist/toolset/skill.d.ts.map +0 -1
  108. package/dist/toolset/skill.js +0 -85
  109. package/dist/toolset/skill.js.map +0 -1
@@ -1,5 +1,5 @@
1
- import { CHAT_GOTO_SETTLE_MS, LIST_FILTER_GAP_MS, LIST_MIN_BEFORE_EMPTY_OK_MS, LIST_POLL_MS, sleepRandom, } from '../browser/index.js';
2
- import { createWaitManualLoginRequiredText, isBossChatIndexUrl } from '../common/auth.js';
1
+ import { LIST_MIN_BEFORE_EMPTY_OK_MS, LIST_POLL_MS, sleepRandom } from '../browser/index.js';
2
+ import { isBossChatIndexUrl } from '../common/auth.js';
3
3
  import { withBossSessionPage } from '../common/boss_session_page.js';
4
4
  import { clickBossSidebarMenuToPath } from '../common/boss_sidebar_nav.js';
5
5
  async function waitForCandidateListSettled(page, opts) {
@@ -28,18 +28,33 @@ async function waitForCandidateListSettled(page, opts) {
28
28
  }
29
29
  }
30
30
  async function clickChatFilterTabAll(page) {
31
- await page.evaluate(`(() => {
32
- const targetText = "全部";
33
- const container = document.querySelector(".chat-message-filter-left");
34
- if (!container) return;
35
- const spans = Array.from(container.querySelectorAll("span"));
36
- const norm = (v) => (v ?? "").replace(/\\s+/g, "");
37
- const target = spans.find((el) => norm(el.textContent).includes(targetText));
38
- if (!target) return;
39
- target.dispatchEvent(new MouseEvent("click", { bubbles: true, cancelable: true }));
40
- target.click();
31
+ await page.evaluate(`(() => {
32
+ const targetText = "全部";
33
+ const container = document.querySelector(".chat-message-filter-left");
34
+ if (!container) return;
35
+ const spans = Array.from(container.querySelectorAll("span"));
36
+ const norm = (v) => (v ?? "").replace(/\\s+/g, "");
37
+ const target = spans.find((el) => norm(el.textContent).includes(targetText));
38
+ if (!target) return;
39
+ target.dispatchEvent(new MouseEvent("click", { bubbles: true, cancelable: true }));
40
+ target.click();
41
41
  })()`);
42
42
  }
43
+ async function waitForChatFilterAllSelected(page) {
44
+ await page.waitForFunction(`(() => {
45
+ const container = document.querySelector(".chat-message-filter-left");
46
+ if (!container) return false;
47
+ const norm = (v) => (v ?? "").replace(/\\s+/g, "");
48
+ const tabs = Array.from(container.querySelectorAll("span"));
49
+ const allTab = tabs.find((el) => norm(el.textContent).includes("全部"));
50
+ if (!allTab) return false;
51
+ const cls = String(allTab.className || "");
52
+ const selectedByClass = /active|selected|current|checked/.test(cls);
53
+ const selectedByAria = allTab.getAttribute("aria-selected") === "true";
54
+ const selectedByAncestor = !!allTab.closest(".active, .selected, .current, .checked");
55
+ return selectedByClass || selectedByAria || selectedByAncestor;
56
+ })()`, { timeout: 6_000 });
57
+ }
43
58
  /**
44
59
  * 与 `list` 一致:若当前不在沟通列表则点侧栏「沟通」进入 `/web/chat/index`,
45
60
  * 再点左侧筛选「全部」并等待列表稳定。`chat` 在按姓名找人前需处于该状态。
@@ -48,25 +63,21 @@ export async function ensureChatIndexAllFilter(page) {
48
63
  const currentUrl = page.url();
49
64
  if (!isBossChatIndexUrl(currentUrl)) {
50
65
  await clickBossSidebarMenuToPath(page, '沟通', '/web/chat/index');
51
- await sleepRandom(CHAT_GOTO_SETTLE_MS.min, CHAT_GOTO_SETTLE_MS.max);
52
66
  }
53
67
  if (!isBossChatIndexUrl(page.url())) {
54
68
  throw new Error('通过侧边栏“沟通”进入聊天列表页失败,请确认已登录并可访问 /web/chat/index。');
55
69
  }
56
- await page.waitForFunction(`(() => {
57
- const filter = document.querySelector(".chat-message-filter-left");
58
- if (!filter) return false;
59
- const tabs = Array.from(filter.querySelectorAll("span"));
60
- if (tabs.length < 2) return false;
61
- const list = document.querySelector(".chat-list, .chat-item-list, .geek-list");
62
- const hasItems = document.querySelectorAll(".geek-item").length > 0;
63
- return !!list || hasItems;
70
+ await page.waitForFunction(`(() => {
71
+ const filter = document.querySelector(".chat-message-filter-left");
72
+ if (!filter) return false;
73
+ const tabs = Array.from(filter.querySelectorAll("span"));
74
+ if (tabs.length < 2) return false;
75
+ const list = document.querySelector(".chat-list, .chat-item-list, .geek-list");
76
+ const hasItems = document.querySelectorAll(".geek-item").length > 0;
77
+ return !!list || hasItems;
64
78
  })()`, { timeout: 12_000 });
65
79
  await clickChatFilterTabAll(page);
66
- await sleepRandom(LIST_FILTER_GAP_MS.min, LIST_FILTER_GAP_MS.max);
67
- await sleepRandom(LIST_FILTER_GAP_MS.min, LIST_FILTER_GAP_MS.max);
68
- await clickChatFilterTabAll(page);
69
- await sleepRandom(LIST_FILTER_GAP_MS.min, LIST_FILTER_GAP_MS.max);
80
+ await waitForChatFilterAllSelected(page);
70
81
  await waitForCandidateListSettled(page, {
71
82
  timeoutMs: 14_000,
72
83
  pollMsMin: LIST_POLL_MS.min,
@@ -79,21 +90,21 @@ export async function runGetCandidateList(opts = {}) {
79
90
  try {
80
91
  return await withBossSessionPage(async (page) => {
81
92
  await ensureChatIndexAllFilter(page);
82
- const items = (await page.evaluate(`(() => {
83
- const norm = (v) => (v ?? "").replace(/\\s+/g, " ").trim();
84
- return Array.from(document.querySelectorAll(".geek-item")).map((el) => {
85
- const name = norm(el.querySelector(".geek-name")?.textContent);
86
- const job = norm(el.querySelector(".source-job")?.textContent);
87
- const time = norm(el.querySelector(".time")?.textContent);
88
- const message = norm(el.querySelector(".push-text")?.textContent);
89
- const badge = el.querySelector(".badge-count");
90
- let unreadCount = 0;
91
- if (badge) {
92
- const digits = norm(badge.textContent).replace(/\\D/g, "");
93
- if (digits) unreadCount = parseInt(digits, 10) || 0;
94
- }
95
- return { name, job, time, message, unreadCount };
96
- });
93
+ const items = (await page.evaluate(`(() => {
94
+ const norm = (v) => (v ?? "").replace(/\\s+/g, " ").trim();
95
+ return Array.from(document.querySelectorAll(".geek-item")).map((el) => {
96
+ const name = norm(el.querySelector(".geek-name")?.textContent);
97
+ const job = norm(el.querySelector(".source-job")?.textContent);
98
+ const time = norm(el.querySelector(".time")?.textContent);
99
+ const message = norm(el.querySelector(".push-text")?.textContent);
100
+ const badge = el.querySelector(".badge-count");
101
+ let unreadCount = 0;
102
+ if (badge) {
103
+ const digits = norm(badge.textContent).replace(/\\D/g, "");
104
+ if (digits) unreadCount = parseInt(digits, 10) || 0;
105
+ }
106
+ return { name, job, time, message, unreadCount };
107
+ });
97
108
  })()`));
98
109
  const candidates = items.filter((it) => it.name);
99
110
  const withUnread = candidates.filter((it) => it.unreadCount > 0).length;
@@ -121,14 +132,10 @@ export async function runGetCandidateList(opts = {}) {
121
132
  });
122
133
  }
123
134
  catch (e) {
124
- const message = e instanceof Error ? e.message : String(e);
125
135
  if (e instanceof Error) {
126
- if (e.message.includes('浏览器会话尚未初始化')) {
127
- throw new Error(createWaitManualLoginRequiredText('获取候选人列表'));
128
- }
129
136
  throw e;
130
137
  }
131
- throw new Error(`获取候选人列表失败:${message}`);
138
+ throw new Error(`获取候选人列表失败:${String(e)}`);
132
139
  }
133
140
  }
134
141
  //# sourceMappingURL=list.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/toolset/list.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/toolset/list.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../../src/toolset/preview.ts"],"names":[],"mappings":"AAuCA,MAAM,MAAM,cAAc,GAAG;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,wBAAsB,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CA2FzE"}
1
+ {"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../../src/toolset/preview.ts"],"names":[],"mappings":"AAiCA,MAAM,MAAM,cAAc,GAAG;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,wBAAsB,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAyFzE"}
@@ -2,11 +2,10 @@
2
2
  * 在线简历预览:须在「推荐」页或「深度搜索 aiform」页且列表已加载;不自动跳转,否则报错。
3
3
  */
4
4
  import { join } from 'node:path';
5
- import { ONLINE_RESUME_IFRAME_APPEAR_MS, ONLINE_RESUME_IFRAME_SETTLE_MS, ONLINE_RESUME_IFRAME_WAIT_MAX_MS, sleepRandom, snapshotBossPageViewport, } from '../browser/index.js';
6
- import { createWaitManualLoginRequiredText } from '../common/auth.js';
5
+ import { ONLINE_RESUME_IFRAME_WAIT_MAX_MS, snapshotBossPageViewport } from '../browser/index.js';
7
6
  import { withBossSessionPage } from '../common/boss_session_page.js';
8
7
  import { closeBossPaywallPopupIfPresent, describeBossPaywallPopupIfPresent, waitForCResumeIframeOrPaywall, } from '../common/boss_paywall_popup.js';
9
- import { captureCResumeIframeToFile, closeCResumePanel, safeResumeScreenshotFileBase, } from '../common/c_resume_capture.js';
8
+ import { captureCResumeIframeToFile, closeCResumePanel, safeResumeScreenshotFileBase, waitForVisibleCResumeIframeReady, } from '../common/c_resume_capture.js';
10
9
  import { ensureAppDataLayout, RESUME_SCREENSHOTS_DIR } from '../config.js';
11
10
  import { isResumeOcrEnabled, ocrResumePngToTextFile } from '../ocr/index.js';
12
11
  import { ensureInDeepSearchPage, isBossChatAiFormUrl, openDeepSearchResumePreview, readAiFormSelectedJobLabel, selectAiFormJob, } from './deep-search.js';
@@ -50,7 +49,6 @@ export async function runPreview(options) {
50
49
  if (!opened) {
51
50
  throw new Error('未在列表中找到该候选人,或点击未能打开简历预览。');
52
51
  }
53
- await sleepRandom(ONLINE_RESUME_IFRAME_APPEAR_MS.min, ONLINE_RESUME_IFRAME_APPEAR_MS.max);
54
52
  const outcome = await waitForCResumeIframeOrPaywall(page, ONLINE_RESUME_IFRAME_WAIT_MAX_MS);
55
53
  if (outcome !== 'iframe') {
56
54
  const paywall = await describeBossPaywallPopupIfPresent(page);
@@ -60,7 +58,10 @@ export async function runPreview(options) {
60
58
  }
61
59
  throw new Error('点击后未出现在线简历 iframe(c-resume)。');
62
60
  }
63
- await sleepRandom(ONLINE_RESUME_IFRAME_SETTLE_MS.min, ONLINE_RESUME_IFRAME_SETTLE_MS.max);
61
+ const ready = await waitForVisibleCResumeIframeReady(page);
62
+ if (!ready) {
63
+ throw new Error('在线简历 iframe 已出现,但内容未在预期时间内渲染完成。');
64
+ }
64
65
  ensureAppDataLayout();
65
66
  const fileName = `preview-${safeResumeScreenshotFileBase(target)}-${Date.now()}.png`;
66
67
  const absPath = join(RESUME_SCREENSHOTS_DIR, fileName);
@@ -94,9 +95,6 @@ export async function runPreview(options) {
94
95
  }
95
96
  catch (e) {
96
97
  const message = e instanceof Error ? e.message : String(e);
97
- if (e instanceof Error && e.message.includes('浏览器会话尚未初始化')) {
98
- throw new Error(createWaitManualLoginRequiredText('简历预览截图'));
99
- }
100
98
  throw new Error(`简历预览失败:${message}`);
101
99
  }
102
100
  }
@@ -1 +1 @@
1
- {"version":3,"file":"preview.js","sourceRoot":"","sources":["../../src/toolset/preview.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"preview.js","sourceRoot":"","sources":["../../src/toolset/preview.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"recommend.d.ts","sourceRoot":"","sources":["../../src/toolset/recommend.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AASlD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,mFAAmF;IACnF,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAWF,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAW3D;AAyCD,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAwDvF;AAED,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAWtE;AAED;;GAEG;AACH,wBAAsB,kCAAkC,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAOnF;AAED,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAmEnF;AAED,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,kBAAkB,EAAE,GAAG,MAAM,CAkD5E;AAED,wBAAsB,UAAU,CAC9B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAmE9B;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,kBAAkB,EAAE,EAC5B,KAAK,EAAE,kBAAkB,EAAE,GAC1B,IAAI,CAON;AAED;;;GAGG;AACH,wBAAsB,0BAA0B,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CA+C/F;AAED,wBAAsB,YAAY,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAgBvE"}
1
+ {"version":3,"file":"recommend.d.ts","sourceRoot":"","sources":["../../src/toolset/recommend.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAMlD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,mFAAmF;IACnF,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAWF,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAW3D;AAuFD,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAyDvF;AAED,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAUtE;AAED;;GAEG;AACH,wBAAsB,kCAAkC,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAOnF;AAED,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAmEnF;AAED,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,kBAAkB,EAAE,GAAG,MAAM,CAkD5E;AAED,wBAAsB,UAAU,CAC9B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAmE9B;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,kBAAkB,EAAE,EAC5B,KAAK,EAAE,kBAAkB,EAAE,GAC1B,IAAI,CAON;AAED;;;GAGG;AACH,wBAAsB,0BAA0B,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CA+C/F;AAED,wBAAsB,YAAY,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAavE"}