@withpica/mcp-server 1.3.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.
Files changed (347) hide show
  1. package/.claude/settings.local.json +5 -0
  2. package/CHANGELOG.md +1850 -0
  3. package/README.md +304 -0
  4. package/assets/fonts/GeistSans-Light.woff2 +0 -0
  5. package/assets/fonts/InstrumentSerif-Italic.woff2 +0 -0
  6. package/assets/fonts/InstrumentSerif-Regular.woff2 +0 -0
  7. package/dist/apps/download.d.ts +2 -0
  8. package/dist/apps/download.d.ts.map +1 -0
  9. package/dist/apps/download.js +125 -0
  10. package/dist/apps/download.js.map +1 -0
  11. package/dist/apps/generated/shared-bundle.d.ts +5 -0
  12. package/dist/apps/generated/shared-bundle.d.ts.map +1 -0
  13. package/dist/apps/generated/shared-bundle.js +7 -0
  14. package/dist/apps/generated/shared-bundle.js.map +1 -0
  15. package/dist/apps/release.d.ts +2 -0
  16. package/dist/apps/release.d.ts.map +1 -0
  17. package/dist/apps/release.js +69 -0
  18. package/dist/apps/release.js.map +1 -0
  19. package/dist/apps/shared.d.ts +15 -0
  20. package/dist/apps/shared.d.ts.map +1 -0
  21. package/dist/apps/shared.js +480 -0
  22. package/dist/apps/shared.js.map +1 -0
  23. package/dist/apps/upload.d.ts +2 -0
  24. package/dist/apps/upload.d.ts.map +1 -0
  25. package/dist/apps/upload.js +280 -0
  26. package/dist/apps/upload.js.map +1 -0
  27. package/dist/config.d.ts +14 -0
  28. package/dist/config.d.ts.map +1 -0
  29. package/dist/config.js +73 -0
  30. package/dist/config.js.map +1 -0
  31. package/dist/index.d.ts +3 -0
  32. package/dist/index.d.ts.map +1 -0
  33. package/dist/index.js +35 -0
  34. package/dist/index.js.map +1 -0
  35. package/dist/prompts/index.d.ts +86 -0
  36. package/dist/prompts/index.d.ts.map +1 -0
  37. package/dist/prompts/index.js +645 -0
  38. package/dist/prompts/index.js.map +1 -0
  39. package/dist/resources/agent-guide.d.ts +15 -0
  40. package/dist/resources/agent-guide.d.ts.map +1 -0
  41. package/dist/resources/agent-guide.js +284 -0
  42. package/dist/resources/agent-guide.js.map +1 -0
  43. package/dist/resources/index.d.ts +66 -0
  44. package/dist/resources/index.d.ts.map +1 -0
  45. package/dist/resources/index.js +510 -0
  46. package/dist/resources/index.js.map +1 -0
  47. package/dist/resources/llms-primer.d.ts +2 -0
  48. package/dist/resources/llms-primer.d.ts.map +1 -0
  49. package/dist/resources/llms-primer.js +68 -0
  50. package/dist/resources/llms-primer.js.map +1 -0
  51. package/dist/resources/required-schemas.generated.d.ts +455 -0
  52. package/dist/resources/required-schemas.generated.d.ts.map +1 -0
  53. package/dist/resources/required-schemas.generated.js +1041 -0
  54. package/dist/resources/required-schemas.generated.js.map +1 -0
  55. package/dist/resources/required-schemas.source.d.ts +53 -0
  56. package/dist/resources/required-schemas.source.d.ts.map +1 -0
  57. package/dist/resources/required-schemas.source.js +493 -0
  58. package/dist/resources/required-schemas.source.js.map +1 -0
  59. package/dist/resources/welcome.d.ts +14 -0
  60. package/dist/resources/welcome.d.ts.map +1 -0
  61. package/dist/resources/welcome.js +26 -0
  62. package/dist/resources/welcome.js.map +1 -0
  63. package/dist/server-instructions.d.ts +60 -0
  64. package/dist/server-instructions.d.ts.map +1 -0
  65. package/dist/server-instructions.js +93 -0
  66. package/dist/server-instructions.js.map +1 -0
  67. package/dist/server.d.ts +52 -0
  68. package/dist/server.d.ts.map +1 -0
  69. package/dist/server.js +334 -0
  70. package/dist/server.js.map +1 -0
  71. package/dist/tools/access-simulate.d.ts +23 -0
  72. package/dist/tools/access-simulate.d.ts.map +1 -0
  73. package/dist/tools/access-simulate.js +162 -0
  74. package/dist/tools/access-simulate.js.map +1 -0
  75. package/dist/tools/agent-identity.d.ts +36 -0
  76. package/dist/tools/agent-identity.d.ts.map +1 -0
  77. package/dist/tools/agent-identity.js +274 -0
  78. package/dist/tools/agent-identity.js.map +1 -0
  79. package/dist/tools/agreement-types.d.ts +27 -0
  80. package/dist/tools/agreement-types.d.ts.map +1 -0
  81. package/dist/tools/agreement-types.js +281 -0
  82. package/dist/tools/agreement-types.js.map +1 -0
  83. package/dist/tools/agreements.d.ts +20 -0
  84. package/dist/tools/agreements.d.ts.map +1 -0
  85. package/dist/tools/agreements.js +282 -0
  86. package/dist/tools/agreements.js.map +1 -0
  87. package/dist/tools/analytics.d.ts +20 -0
  88. package/dist/tools/analytics.d.ts.map +1 -0
  89. package/dist/tools/analytics.js +130 -0
  90. package/dist/tools/analytics.js.map +1 -0
  91. package/dist/tools/app-tools.d.ts +15 -0
  92. package/dist/tools/app-tools.d.ts.map +1 -0
  93. package/dist/tools/app-tools.js +388 -0
  94. package/dist/tools/app-tools.js.map +1 -0
  95. package/dist/tools/assets.d.ts +25 -0
  96. package/dist/tools/assets.d.ts.map +1 -0
  97. package/dist/tools/assets.js +454 -0
  98. package/dist/tools/assets.js.map +1 -0
  99. package/dist/tools/audio-files.d.ts +20 -0
  100. package/dist/tools/audio-files.d.ts.map +1 -0
  101. package/dist/tools/audio-files.js +409 -0
  102. package/dist/tools/audio-files.js.map +1 -0
  103. package/dist/tools/audit.d.ts +19 -0
  104. package/dist/tools/audit.d.ts.map +1 -0
  105. package/dist/tools/audit.js +58 -0
  106. package/dist/tools/audit.js.map +1 -0
  107. package/dist/tools/auth.d.ts +22 -0
  108. package/dist/tools/auth.d.ts.map +1 -0
  109. package/dist/tools/auth.js +212 -0
  110. package/dist/tools/auth.js.map +1 -0
  111. package/dist/tools/bulk.d.ts +22 -0
  112. package/dist/tools/bulk.d.ts.map +1 -0
  113. package/dist/tools/bulk.js +164 -0
  114. package/dist/tools/bulk.js.map +1 -0
  115. package/dist/tools/calendar.d.ts +15 -0
  116. package/dist/tools/calendar.d.ts.map +1 -0
  117. package/dist/tools/calendar.js +68 -0
  118. package/dist/tools/calendar.js.map +1 -0
  119. package/dist/tools/collaborators.d.ts +21 -0
  120. package/dist/tools/collaborators.d.ts.map +1 -0
  121. package/dist/tools/collaborators.js +381 -0
  122. package/dist/tools/collaborators.js.map +1 -0
  123. package/dist/tools/comparisons.d.ts +22 -0
  124. package/dist/tools/comparisons.d.ts.map +1 -0
  125. package/dist/tools/comparisons.js +80 -0
  126. package/dist/tools/comparisons.js.map +1 -0
  127. package/dist/tools/credits.d.ts +39 -0
  128. package/dist/tools/credits.d.ts.map +1 -0
  129. package/dist/tools/credits.js +541 -0
  130. package/dist/tools/credits.js.map +1 -0
  131. package/dist/tools/custody-hints.d.ts +16 -0
  132. package/dist/tools/custody-hints.d.ts.map +1 -0
  133. package/dist/tools/custody-hints.js +27 -0
  134. package/dist/tools/custody-hints.js.map +1 -0
  135. package/dist/tools/custody.d.ts +38 -0
  136. package/dist/tools/custody.d.ts.map +1 -0
  137. package/dist/tools/custody.js +281 -0
  138. package/dist/tools/custody.js.map +1 -0
  139. package/dist/tools/dashboard.d.ts +22 -0
  140. package/dist/tools/dashboard.d.ts.map +1 -0
  141. package/dist/tools/dashboard.js +258 -0
  142. package/dist/tools/dashboard.js.map +1 -0
  143. package/dist/tools/directory.d.ts +15 -0
  144. package/dist/tools/directory.d.ts.map +1 -0
  145. package/dist/tools/directory.js +107 -0
  146. package/dist/tools/directory.js.map +1 -0
  147. package/dist/tools/discovery.d.ts +49 -0
  148. package/dist/tools/discovery.d.ts.map +1 -0
  149. package/dist/tools/discovery.js +851 -0
  150. package/dist/tools/discovery.js.map +1 -0
  151. package/dist/tools/disputes.d.ts +18 -0
  152. package/dist/tools/disputes.d.ts.map +1 -0
  153. package/dist/tools/disputes.js +62 -0
  154. package/dist/tools/disputes.js.map +1 -0
  155. package/dist/tools/documents.d.ts +15 -0
  156. package/dist/tools/documents.d.ts.map +1 -0
  157. package/dist/tools/documents.js +37 -0
  158. package/dist/tools/documents.js.map +1 -0
  159. package/dist/tools/duplicates.d.ts +25 -0
  160. package/dist/tools/duplicates.d.ts.map +1 -0
  161. package/dist/tools/duplicates.js +108 -0
  162. package/dist/tools/duplicates.js.map +1 -0
  163. package/dist/tools/enrichment.d.ts +56 -0
  164. package/dist/tools/enrichment.d.ts.map +1 -0
  165. package/dist/tools/enrichment.js +616 -0
  166. package/dist/tools/enrichment.js.map +1 -0
  167. package/dist/tools/exports.d.ts +19 -0
  168. package/dist/tools/exports.d.ts.map +1 -0
  169. package/dist/tools/exports.js +184 -0
  170. package/dist/tools/exports.js.map +1 -0
  171. package/dist/tools/feedback.d.ts +22 -0
  172. package/dist/tools/feedback.d.ts.map +1 -0
  173. package/dist/tools/feedback.js +100 -0
  174. package/dist/tools/feedback.js.map +1 -0
  175. package/dist/tools/forbidden-keywords.d.ts +62 -0
  176. package/dist/tools/forbidden-keywords.d.ts.map +1 -0
  177. package/dist/tools/forbidden-keywords.js +99 -0
  178. package/dist/tools/forbidden-keywords.js.map +1 -0
  179. package/dist/tools/gap-hints.d.ts +53 -0
  180. package/dist/tools/gap-hints.d.ts.map +1 -0
  181. package/dist/tools/gap-hints.js +245 -0
  182. package/dist/tools/gap-hints.js.map +1 -0
  183. package/dist/tools/groups.d.ts +29 -0
  184. package/dist/tools/groups.d.ts.map +1 -0
  185. package/dist/tools/groups.js +186 -0
  186. package/dist/tools/groups.js.map +1 -0
  187. package/dist/tools/import-documents.d.ts +21 -0
  188. package/dist/tools/import-documents.d.ts.map +1 -0
  189. package/dist/tools/import-documents.js +206 -0
  190. package/dist/tools/import-documents.js.map +1 -0
  191. package/dist/tools/import.d.ts +31 -0
  192. package/dist/tools/import.d.ts.map +1 -0
  193. package/dist/tools/import.js +610 -0
  194. package/dist/tools/import.js.map +1 -0
  195. package/dist/tools/index.d.ts +293 -0
  196. package/dist/tools/index.d.ts.map +1 -0
  197. package/dist/tools/index.js +1182 -0
  198. package/dist/tools/index.js.map +1 -0
  199. package/dist/tools/integrations.d.ts +19 -0
  200. package/dist/tools/integrations.d.ts.map +1 -0
  201. package/dist/tools/integrations.js +120 -0
  202. package/dist/tools/integrations.js.map +1 -0
  203. package/dist/tools/labels.d.ts +20 -0
  204. package/dist/tools/labels.d.ts.map +1 -0
  205. package/dist/tools/labels.js +48 -0
  206. package/dist/tools/labels.js.map +1 -0
  207. package/dist/tools/licensing.d.ts +40 -0
  208. package/dist/tools/licensing.d.ts.map +1 -0
  209. package/dist/tools/licensing.js +436 -0
  210. package/dist/tools/licensing.js.map +1 -0
  211. package/dist/tools/memory.d.ts +21 -0
  212. package/dist/tools/memory.d.ts.map +1 -0
  213. package/dist/tools/memory.js +120 -0
  214. package/dist/tools/memory.js.map +1 -0
  215. package/dist/tools/metadata.d.ts +15 -0
  216. package/dist/tools/metadata.d.ts.map +1 -0
  217. package/dist/tools/metadata.js +1532 -0
  218. package/dist/tools/metadata.js.map +1 -0
  219. package/dist/tools/multimedia.d.ts +19 -0
  220. package/dist/tools/multimedia.d.ts.map +1 -0
  221. package/dist/tools/multimedia.js +371 -0
  222. package/dist/tools/multimedia.js.map +1 -0
  223. package/dist/tools/my-reported-issues.d.ts +32 -0
  224. package/dist/tools/my-reported-issues.d.ts.map +1 -0
  225. package/dist/tools/my-reported-issues.js +123 -0
  226. package/dist/tools/my-reported-issues.js.map +1 -0
  227. package/dist/tools/notes.d.ts +21 -0
  228. package/dist/tools/notes.d.ts.map +1 -0
  229. package/dist/tools/notes.js +115 -0
  230. package/dist/tools/notes.js.map +1 -0
  231. package/dist/tools/notifications.d.ts +28 -0
  232. package/dist/tools/notifications.d.ts.map +1 -0
  233. package/dist/tools/notifications.js +417 -0
  234. package/dist/tools/notifications.js.map +1 -0
  235. package/dist/tools/onboarding.d.ts +24 -0
  236. package/dist/tools/onboarding.d.ts.map +1 -0
  237. package/dist/tools/onboarding.js +81 -0
  238. package/dist/tools/onboarding.js.map +1 -0
  239. package/dist/tools/people.d.ts +254 -0
  240. package/dist/tools/people.d.ts.map +1 -0
  241. package/dist/tools/people.js +481 -0
  242. package/dist/tools/people.js.map +1 -0
  243. package/dist/tools/projects.d.ts +20 -0
  244. package/dist/tools/projects.d.ts.map +1 -0
  245. package/dist/tools/projects.js +316 -0
  246. package/dist/tools/projects.js.map +1 -0
  247. package/dist/tools/public-filter.d.ts +43 -0
  248. package/dist/tools/public-filter.d.ts.map +1 -0
  249. package/dist/tools/public-filter.js +356 -0
  250. package/dist/tools/public-filter.js.map +1 -0
  251. package/dist/tools/publishers.d.ts +30 -0
  252. package/dist/tools/publishers.d.ts.map +1 -0
  253. package/dist/tools/publishers.js +105 -0
  254. package/dist/tools/publishers.js.map +1 -0
  255. package/dist/tools/purchases.d.ts +27 -0
  256. package/dist/tools/purchases.d.ts.map +1 -0
  257. package/dist/tools/purchases.js +9 -0
  258. package/dist/tools/purchases.js.map +1 -0
  259. package/dist/tools/recording-attribution-hints.d.ts +24 -0
  260. package/dist/tools/recording-attribution-hints.d.ts.map +1 -0
  261. package/dist/tools/recording-attribution-hints.js +27 -0
  262. package/dist/tools/recording-attribution-hints.js.map +1 -0
  263. package/dist/tools/recordings.d.ts +96 -0
  264. package/dist/tools/recordings.d.ts.map +1 -0
  265. package/dist/tools/recordings.js +564 -0
  266. package/dist/tools/recordings.js.map +1 -0
  267. package/dist/tools/recovery-hints.d.ts +40 -0
  268. package/dist/tools/recovery-hints.d.ts.map +1 -0
  269. package/dist/tools/recovery-hints.js +827 -0
  270. package/dist/tools/recovery-hints.js.map +1 -0
  271. package/dist/tools/release-rich.d.ts +31 -0
  272. package/dist/tools/release-rich.d.ts.map +1 -0
  273. package/dist/tools/release-rich.js +245 -0
  274. package/dist/tools/release-rich.js.map +1 -0
  275. package/dist/tools/releases.d.ts +36 -0
  276. package/dist/tools/releases.d.ts.map +1 -0
  277. package/dist/tools/releases.js +649 -0
  278. package/dist/tools/releases.js.map +1 -0
  279. package/dist/tools/report-issue.d.ts +21 -0
  280. package/dist/tools/report-issue.d.ts.map +1 -0
  281. package/dist/tools/report-issue.js +101 -0
  282. package/dist/tools/report-issue.js.map +1 -0
  283. package/dist/tools/royalties.d.ts +23 -0
  284. package/dist/tools/royalties.d.ts.map +1 -0
  285. package/dist/tools/royalties.js +262 -0
  286. package/dist/tools/royalties.js.map +1 -0
  287. package/dist/tools/search.d.ts +30 -0
  288. package/dist/tools/search.d.ts.map +1 -0
  289. package/dist/tools/search.js +115 -0
  290. package/dist/tools/search.js.map +1 -0
  291. package/dist/tools/send.d.ts +17 -0
  292. package/dist/tools/send.d.ts.map +1 -0
  293. package/dist/tools/send.js +188 -0
  294. package/dist/tools/send.js.map +1 -0
  295. package/dist/tools/sessions.d.ts +18 -0
  296. package/dist/tools/sessions.d.ts.map +1 -0
  297. package/dist/tools/sessions.js +153 -0
  298. package/dist/tools/sessions.js.map +1 -0
  299. package/dist/tools/settings.d.ts +23 -0
  300. package/dist/tools/settings.d.ts.map +1 -0
  301. package/dist/tools/settings.js +365 -0
  302. package/dist/tools/settings.js.map +1 -0
  303. package/dist/tools/share-links.d.ts +22 -0
  304. package/dist/tools/share-links.d.ts.map +1 -0
  305. package/dist/tools/share-links.js +188 -0
  306. package/dist/tools/share-links.js.map +1 -0
  307. package/dist/tools/signup.d.ts +26 -0
  308. package/dist/tools/signup.d.ts.map +1 -0
  309. package/dist/tools/signup.js +266 -0
  310. package/dist/tools/signup.js.map +1 -0
  311. package/dist/tools/split-sheets.d.ts +25 -0
  312. package/dist/tools/split-sheets.d.ts.map +1 -0
  313. package/dist/tools/split-sheets.js +309 -0
  314. package/dist/tools/split-sheets.js.map +1 -0
  315. package/dist/tools/storage-config.d.ts +13 -0
  316. package/dist/tools/storage-config.d.ts.map +1 -0
  317. package/dist/tools/storage-config.js +245 -0
  318. package/dist/tools/storage-config.js.map +1 -0
  319. package/dist/tools/subscription.d.ts +60 -0
  320. package/dist/tools/subscription.d.ts.map +1 -0
  321. package/dist/tools/subscription.js +440 -0
  322. package/dist/tools/subscription.js.map +1 -0
  323. package/dist/tools/sync-placements.d.ts +31 -0
  324. package/dist/tools/sync-placements.d.ts.map +1 -0
  325. package/dist/tools/sync-placements.js +431 -0
  326. package/dist/tools/sync-placements.js.map +1 -0
  327. package/dist/tools/team.d.ts +22 -0
  328. package/dist/tools/team.d.ts.map +1 -0
  329. package/dist/tools/team.js +144 -0
  330. package/dist/tools/team.js.map +1 -0
  331. package/dist/tools/telegram.d.ts +21 -0
  332. package/dist/tools/telegram.d.ts.map +1 -0
  333. package/dist/tools/telegram.js +144 -0
  334. package/dist/tools/telegram.js.map +1 -0
  335. package/dist/tools/uploads.d.ts +17 -0
  336. package/dist/tools/uploads.d.ts.map +1 -0
  337. package/dist/tools/uploads.js +165 -0
  338. package/dist/tools/uploads.js.map +1 -0
  339. package/dist/tools/works.d.ts +71 -0
  340. package/dist/tools/works.d.ts.map +1 -0
  341. package/dist/tools/works.js +694 -0
  342. package/dist/tools/works.js.map +1 -0
  343. package/package.json +54 -0
  344. package/scripts/build-required-schemas.ts +233 -0
  345. package/scripts/bundle-apps.ts +61 -0
  346. package/scripts/refresh-schema-mirror.ts +182 -0
  347. package/server.json +20 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/tools/metadata.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAI7D;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAiC;IACzD,8EAA8E;IAC9E,gBAAgB,EAAE;QAChB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,YAAY;KAC3B;IACD,kBAAkB,EAAE;QAClB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,gBAAgB;KAC/B;IACD,iBAAiB,EAAE;QACjB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,mBAAmB;KAClC;IACD,iBAAiB,EAAE;QACjB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,eAAe;KAC9B;IACD,iBAAiB,EAAE;QACjB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,aAAa;QACnB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,eAAe;KAC9B;IACD,iBAAiB,EAAE;QACjB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,sBAAsB;KACrC;IACD,sBAAsB,EAAE;QACtB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,aAAa;QACnB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,mBAAmB;KAClC;IACD,sBAAsB,EAAE;QACtB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,mBAAmB;KAClC;IAED,8EAA8E;IAC9E,iBAAiB,EAAE;QACjB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,aAAa;KAC5B;IACD,mBAAmB,EAAE;QACnB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,kBAAkB;KACjC;IACD,kBAAkB,EAAE;QAClB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,qBAAqB;KACpC;IACD,kBAAkB,EAAE;QAClB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,iBAAiB;KAChC;IACD,kBAAkB,EAAE;QAClB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,aAAa;QACnB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,iBAAiB;KAChC;IACD,6BAA6B,EAAE;QAC7B,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,0BAA0B;KACzC;IAED,4EAA4E;IAC5E,qBAAqB,EAAE;QACrB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,yBAAyB;KACxC;IACD,wBAAwB,EAAE;QACxB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,8BAA8B;KAC7C;IACD,uBAAuB,EAAE;QACvB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,oBAAoB;KACnC;IACD,uBAAuB,EAAE;QACvB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,iCAAiC;KAChD;IAED,8EAA8E;IAC9E,qBAAqB,EAAE;QACrB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,iBAAiB;KAChC;IACD,uBAAuB,EAAE;QACvB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,qBAAqB;KACpC;IACD,sBAAsB,EAAE;QACtB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,wBAAwB;KACvC;IACD,sBAAsB,EAAE;QACtB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,oBAAoB;KACnC;IACD,sBAAsB,EAAE;QACtB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,aAAa;QACnB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,oBAAoB;KACnC;IAED,8EAA8E;IAC9E,sEAAsE;IACtE,mEAAmE;IACnE,yEAAyE;IACzE,iBAAiB,EAAE;QACjB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,wBAAwB;KACvC;IACD,mBAAmB,EAAE;QACnB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,0BAA0B;KACzC;IACD,uEAAuE;IACvE,sEAAsE;IACtE,6BAA6B,EAAE;QAC7B,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,6BAA6B;KAC5C;IAED,8EAA8E;IAC9E,qBAAqB,EAAE;QACrB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,iBAAiB;KAChC;IACD,uBAAuB,EAAE;QACvB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,sBAAsB;KACrC;IACD,sBAAsB,EAAE;QACtB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,wBAAwB;KACvC;IACD,sBAAsB,EAAE;QACtB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,qBAAqB;KACpC;IACD,sBAAsB,EAAE;QACtB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,aAAa;QACnB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,qBAAqB;KACpC;IACD,yBAAyB,EAAE;QACzB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,6BAA6B;KAC5C;IAED,8EAA8E;IAC9E,0BAA0B,EAAE;QAC1B,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,sBAAsB;KACrC;IACD,4BAA4B,EAAE;QAC5B,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,2BAA2B;KAC1C;IACD,2BAA2B,EAAE;QAC3B,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,0BAA0B;KACzC;IACD,2BAA2B,EAAE;QAC3B,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,0BAA0B;KACzC;IACD,2BAA2B,EAAE;QAC3B,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,aAAa;QACnB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,0BAA0B;KACzC;IACD,+BAA+B,EAAE;QAC/B,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,8BAA8B;KAC7C;IACD,kCAAkC,EAAE;QAClC,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,iCAAiC;KAChD;IACD,oCAAoC,EAAE;QACpC,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,gCAAgC;KAC/C;IAED,8EAA8E;IAC9E,qBAAqB,EAAE;QACrB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,mBAAmB;KAClC;IACD,oBAAoB,EAAE;QACpB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,mBAAmB;KAClC;IACD,yBAAyB,EAAE;QACzB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,wBAAwB;KACvC;IACD,qBAAqB,EAAE;QACrB,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,gCAAgC;KAC/C;IACD,0BAA0B,EAAE;QAC1B,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,uBAAuB;KACtC;IACD,4BAA4B,EAAE;QAC5B,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,yBAAyB;KACxC;IACD,4BAA4B,EAAE;QAC5B,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,oCAAoC;KACnD;IAED,8EAA8E;IAC9E,mBAAmB,EAAE;QACnB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,sBAAsB;KACrC;IACD,kBAAkB,EAAE;QAClB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,qBAAqB;KACpC;IACD,sBAAsB,EAAE;QACtB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,uBAAuB;KACtC;IACD,oBAAoB,EAAE;QACpB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,yBAAyB;KACxC;IACD,mBAAmB,EAAE;QACnB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,yBAAyB;KACxC;IAED,8EAA8E;IAC9E,kBAAkB,EAAE;QAClB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,eAAe;KAC9B;IAED,8EAA8E;IAC9E,iBAAiB,EAAE;QACjB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,qBAAqB;KACpC;IACD,oBAAoB,EAAE;QACpB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,iBAAiB;KAChC;IACD,kBAAkB,EAAE;QAClB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,eAAe;KAC9B;IACD,oBAAoB,EAAE;QACpB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,4BAA4B;KAC3C;IACD,4BAA4B,EAAE;QAC5B,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,yBAAyB;KACxC;IACD,sBAAsB,EAAE;QACtB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,mBAAmB;KAClC;IAED,8EAA8E;IAC9E,0BAA0B,EAAE;QAC1B,QAAQ,EAAE,YAAY;QACtB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,4BAA4B;KAC3C;IACD,kEAAkE;IAClE,8BAA8B,EAAE;QAC9B,QAAQ,EAAE,YAAY;QACtB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,mCAAmC;KAClD;IACD,8BAA8B,EAAE;QAC9B,QAAQ,EAAE,YAAY;QACtB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,8BAA8B;KAC7C;IACD,+BAA+B,EAAE;QAC/B,QAAQ,EAAE,YAAY;QACtB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,+BAA+B;KAC9C;IACD,uBAAuB,EAAE;QACvB,QAAQ,EAAE,YAAY;QACtB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,qCAAqC;KACpD;IACD,+EAA+E;IAC/E,iBAAiB,EAAE;QACjB,QAAQ,EAAE,YAAY;QACtB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,yCAAyC;KACxD;IACD,mBAAmB,EAAE;QACnB,QAAQ,EAAE,YAAY;QACtB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,2CAA2C;KAC1D;IACD,sBAAsB,EAAE;QACtB,QAAQ,EAAE,YAAY;QACtB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,8CAA8C;KAC7D;IACD,uBAAuB,EAAE;QACvB,QAAQ,EAAE,YAAY;QACtB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,4BAA4B;KAC3C;IACD,0BAA0B,EAAE;QAC1B,QAAQ,EAAE,YAAY;QACtB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,sCAAsC;KACrD;IACD,gDAAgD;IAChD,qBAAqB,EAAE;QACrB,QAAQ,EAAE,YAAY;QACtB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,gCAAgC;KAC/C;IACD,uBAAuB,EAAE;QACvB,QAAQ,EAAE,YAAY;QACtB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,kCAAkC;KACjD;IACD,mBAAmB,EAAE;QACnB,QAAQ,EAAE,YAAY;QACtB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,+BAA+B;KAC9C;IAED,8EAA8E;IAC9E,eAAe,EAAE;QACf,QAAQ,EAAE,WAAW;QACrB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,0BAA0B;KACzC;IACD,kBAAkB,EAAE;QAClB,QAAQ,EAAE,WAAW;QACrB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,wBAAwB;KACvC;IACD,mBAAmB,EAAE;QACnB,QAAQ,EAAE,WAAW;QACrB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,6BAA6B;KAC5C;IACD,oBAAoB,EAAE;QACpB,QAAQ,EAAE,WAAW;QACrB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,iCAAiC;KAChD;IACD,2BAA2B,EAAE;QAC3B,QAAQ,EAAE,WAAW;QACrB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,0BAA0B;KACzC;IACD,iBAAiB,EAAE;QACjB,QAAQ,EAAE,WAAW;QACrB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,yBAAyB;KACxC;IACD,kBAAkB,EAAE;QAClB,QAAQ,EAAE,WAAW;QACrB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,0BAA0B;KACzC;IACD,iBAAiB,EAAE;QACjB,QAAQ,EAAE,WAAW;QACrB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,yBAAyB;KACxC;IACD,sBAAsB,EAAE;QACtB,QAAQ,EAAE,WAAW;QACrB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,kBAAkB;KACjC;IACD,uBAAuB,EAAE;QACvB,QAAQ,EAAE,WAAW;QACrB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,oBAAoB;KACnC;IACD,wBAAwB,EAAE;QACxB,QAAQ,EAAE,WAAW;QACrB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,6BAA6B;KAC5C;IACD,uBAAuB,EAAE;QACvB,QAAQ,EAAE,WAAW;QACrB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,yBAAyB;KACxC;IACD,oBAAoB,EAAE;QACpB,QAAQ,EAAE,WAAW;QACrB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,wBAAwB;KACvC;IAED,6EAA6E;IAC7E,WAAW,EAAE;QACX,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,cAAc;KAC7B;IACD,aAAa,EAAE;QACb,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,iBAAiB;KAChC;IACD,gBAAgB,EAAE;QAChB,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,8BAA8B;KAC7C;IAED,8EAA8E;IAC9E,gBAAgB,EAAE;QAChB,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,kBAAkB;KACjC;IACD,kBAAkB,EAAE;QAClB,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,uBAAuB;KACtC;IACD,kBAAkB,EAAE;QAClB,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,uBAAuB;KACtC;IACD,2BAA2B,EAAE;QAC3B,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,oCAAoC;KACnD;IACD,0BAA0B,EAAE;QAC1B,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,0BAA0B;KACzC;IACD,mBAAmB,EAAE;QACnB,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,wBAAwB;KACvC;IAED,8EAA8E;IAC9E,sBAAsB,EAAE;QACtB,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,mBAAmB;KAClC;IACD,sBAAsB,EAAE;QACtB,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,2BAA2B;KAC1C;IACD,0BAA0B,EAAE;QAC1B,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,4BAA4B;KAC3C;IACD,4BAA4B,EAAE;QAC5B,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,sBAAsB;KACrC;IACD,yBAAyB,EAAE;QACzB,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,2BAA2B;KAC1C;IAED,8EAA8E;IAC9E,sBAAsB,EAAE;QACtB,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,4BAA4B;KAC3C;IAED,8EAA8E;IAC9E,gBAAgB,EAAE;QAChB,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,2BAA2B;KAC1C;IACD,oBAAoB,EAAE;QACpB,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,wBAAwB;KACvC;IAED,8EAA8E;IAC9E,uBAAuB,EAAE;QACvB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,uBAAuB;KACtC;IACD,6BAA6B,EAAE;QAC7B,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,8BAA8B;KAC7C;IACD,0BAA0B,EAAE;QAC1B,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,+BAA+B;KAC9C;IACD,gCAAgC,EAAE;QAChC,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,6BAA6B;KAC5C;IACD,sBAAsB,EAAE;QACtB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,+BAA+B;KAC9C;IAED,8EAA8E;IAC9E,oBAAoB,EAAE;QACpB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,sBAAsB;KACrC;IAED,8EAA8E;IAC9E,oBAAoB,EAAE;QACpB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,2BAA2B;KAC1C;IACD,qBAAqB,EAAE;QACrB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,aAAa;QACnB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,yBAAyB;KACxC;IAED,8EAA8E;IAC9E,kBAAkB,EAAE;QAClB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,oBAAoB;KACnC;IACD,iBAAiB,EAAE;QACjB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,eAAe;KAC9B;IACD,oBAAoB,EAAE;QACpB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,sBAAsB;KACrC;IACD,oBAAoB,EAAE;QACpB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,kBAAkB;KACjC;IACD,oBAAoB,EAAE;QACpB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,aAAa;QACnB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,kBAAkB;KACjC;IACD,0BAA0B,EAAE;QAC1B,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,2BAA2B;KAC1C;IAED,8EAA8E;IAC9E,kBAAkB,EAAE;QAClB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,oBAAoB;KACnC;IACD,iBAAiB,EAAE;QACjB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,eAAe;KAC9B;IACD,oBAAoB,EAAE;QACpB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,sBAAsB;KACrC;IACD,oBAAoB,EAAE;QACpB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,kBAAkB;KACjC;IACD,0BAA0B,EAAE;QAC1B,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,6BAA6B;KAC5C;IACD,yBAAyB,EAAE;QACzB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,0BAA0B;KACzC;IACD,0BAA0B,EAAE;QAC1B,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,+BAA+B;KAC9C;IACD,4BAA4B,EAAE;QAC5B,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,6BAA6B;KAC5C;IACD,wCAAwC,EAAE;QACxC,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,oDAAoD;KACnE;IACD,iCAAiC;IACjC,gCAAgC,EAAE;QAChC,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,iCAAiC;KAChD;IACD,wBAAwB,EAAE;QACxB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,uCAAuC;KACtD;IACD,wCAAwC,EAAE;QACxC,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,uCAAuC;KACtD;IACD,gCAAgC,EAAE;QAChC,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,8CAA8C;KAC7D;IACD,gCAAgC,EAAE;QAChC,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,uCAAuC;KACtD;IACD,uEAAuE;IACvE,iBAAiB,EAAE;QACjB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,8CAA8C;KAC7D;IAED,8EAA8E;IAC9E,kBAAkB,EAAE;QAClB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,oBAAoB;KACnC;IACD,iBAAiB,EAAE;QACjB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,oBAAoB;KACnC;IACD,oBAAoB,EAAE;QACpB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,uBAAuB;KACtC;IACD,mBAAmB,EAAE;QACnB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,oBAAoB;KACnC;IAED,8EAA8E;IAC9E,eAAe,EAAE;QACf,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,YAAY;KAC3B;IACD,cAAc,EAAE;QACd,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,YAAY;KAC3B;IACD,iBAAiB,EAAE;QACjB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,eAAe;KAC9B;IACD,iBAAiB,EAAE;QACjB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,aAAa;QACnB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,eAAe;KAC9B;IAED,8EAA8E;IAC9E,0BAA0B,EAAE;QAC1B,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,sBAAsB;KACrC;IACD,4BAA4B,EAAE;QAC5B,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,0BAA0B;KACzC;IACD,2BAA2B,EAAE;QAC3B,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,yBAAyB;KACxC;IACD,2BAA2B,EAAE;QAC3B,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,yBAAyB;KACxC;IACD,2BAA2B,EAAE;QAC3B,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,aAAa;QACnB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,yBAAyB;KACxC;IACD,0BAA0B,EAAE;QAC1B,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,gCAAgC;KAC/C;IACD,2BAA2B,EAAE;QAC3B,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,wBAAwB;KACvC;IACD,oFAAoF;IACpF,8BAA8B,EAAE;QAC9B,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,iCAAiC;KAChD;IACD,mCAAmC,EAAE;QACnC,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,sCAAsC;KACrD;IACD,gCAAgC,EAAE;QAChC,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,qCAAqC;KACpD;IACD,qCAAqC,EAAE;QACrC,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,0CAA0C;KACzD;IAED,8EAA8E;IAC9E,qBAAqB,EAAE;QACrB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,sBAAsB;KACrC;IACD,gBAAgB,EAAE;QAChB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,yBAAyB;KACxC;IACD,qBAAqB,EAAE;QACrB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,2BAA2B;KAC1C;IACD,oBAAoB,EAAE;QACpB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,2BAA2B;KAC1C;IACD,2BAA2B,EAAE;QAC3B,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,iCAAiC;KAChD;IACD,sBAAsB,EAAE;QACtB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,2BAA2B;KAC1C;IAED,8EAA8E;IAC9E,mBAAmB,EAAE;QACnB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,wBAAwB;KACvC;IACD,oBAAoB,EAAE;QACpB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,sBAAsB;KACrC;IACD,mBAAmB,EAAE;QACnB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,0BAA0B;KACzC;IACD,kBAAkB,EAAE;QAClB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,8BAA8B;KAC7C;IACD,oBAAoB,EAAE;QACpB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,qBAAqB;KACpC;IACD,0BAA0B,EAAE;QAC1B,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,4BAA4B;KAC3C;IACD,wBAAwB,EAAE;QACxB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,qBAAqB;KACpC;IACD,wBAAwB,EAAE;QACxB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,uCAAuC;KACtD;IAED,8EAA8E;IAC9E,2BAA2B,EAAE;QAC3B,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,uBAAuB;KACtC;IACD,6BAA6B,EAAE;QAC7B,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,4BAA4B;KAC3C;IACD,qBAAqB,EAAE;QACrB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,4BAA4B;KAC3C;IAED,8EAA8E;IAC9E,uBAAuB,EAAE;QACvB,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,oBAAoB;KACnC;IACD,kBAAkB,EAAE;QAClB,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,+BAA+B;KAC9C;IACD,4BAA4B,EAAE;QAC5B,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,4BAA4B;KAC3C;IACD,oEAAoE;IACpE,kEAAkE;IAClE,yBAAyB,EAAE;QACzB,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,2CAA2C;KAC1D;IACD,6BAA6B,EAAE;QAC7B,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,2CAA2C;KAC1D;IAED,8EAA8E;IAC9E,yBAAyB,EAAE;QACzB,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,uBAAuB;KACtC;IACD,+BAA+B,EAAE;QAC/B,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,2BAA2B;KAC1C;IACD,gCAAgC,EAAE;QAChC,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,8BAA8B;KAC7C;IACD,wCAAwC;IACxC,gCAAgC,EAAE;QAChC,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,+BAA+B;KAC9C;IACD,yBAAyB,EAAE;QACzB,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,+BAA+B;KAC9C;IACD,0BAA0B,EAAE;QAC1B,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,gCAAgC;KAC/C;IACD,8BAA8B,EAAE;QAC9B,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,oCAAoC;KACnD;IAED,8EAA8E;IAC9E,iBAAiB,EAAE;QACjB,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,gBAAgB;KAC/B;IACD,eAAe,EAAE;QACf,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,oBAAoB;KACnC;IACD,gBAAgB,EAAE;QAChB,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,kBAAkB;KACjC;IAED,8EAA8E;IAC9E,qBAAqB,EAAE;QACrB,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,kBAAkB;KACjC;IACD,wBAAwB,EAAE;QACxB,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,sBAAsB;KACrC;IACD,uBAAuB,EAAE;QACvB,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,qBAAqB;KACpC;IACD,uBAAuB,EAAE;QACvB,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,aAAa;QACnB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,qBAAqB;KACpC;IACD,uBAAuB,EAAE;QACvB,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,qBAAqB;KACpC;IAED,8EAA8E;IAC9E,oBAAoB,EAAE;QACpB,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,kCAAkC;KACjD;IACD,qBAAqB,EAAE;QACrB,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,yBAAyB;KACxC;IACD,gBAAgB,EAAE;QAChB,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,wCAAwC;KACvD;IACD,uCAAuC;IACvC,mBAAmB,EAAE;QACnB,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,8BAA8B;KAC7C;IACD,6BAA6B,EAAE;QAC7B,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,wBAAwB;KACvC;IACD,uBAAuB,EAAE;QACvB,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,6BAA6B;KAC5C;IAED,8EAA8E;IAC9E,qBAAqB,EAAE;QACrB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,iBAAiB;KAChC;IACD,sBAAsB,EAAE;QACtB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,oBAAoB;KACnC;IAED,8EAA8E;IAC9E,iBAAiB,EAAE;QACjB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,aAAa;KAC5B;IAED,8EAA8E;IAC9E,2BAA2B,EAAE;QAC3B,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,wBAAwB;KACvC;IACD,wBAAwB,EAAE;QACxB,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,uBAAuB;KACtC;IACD,kCAAkC,EAAE;QAClC,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,+BAA+B;KAC9C;IAED,8EAA8E;IAC9E,eAAe,EAAE;QACf,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,2BAA2B;KAC1C;IAED,cAAc,EAAE;QACd,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,mBAAmB;KAClC;IACD,aAAa,EAAE;QACb,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,mBAAmB;KAClC;IACD,gBAAgB,EAAE;QAChB,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,sBAAsB;KACrC;IACD,qBAAqB,EAAE;QACrB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,yBAAyB;KACxC;IACD,gBAAgB,EAAE;QAChB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,aAAa;QACnB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,sBAAsB;KACrC;IAED,8EAA8E;IAC9E,gBAAgB,EAAE;QAChB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,qBAAqB;KACpC;IACD,kBAAkB,EAAE;QAClB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,iBAAiB;KAChC;IACD,gBAAgB,EAAE;QAChB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,eAAe;KAC9B;IACD,kBAAkB,EAAE;QAClB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,aAAa;QACnB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,iBAAiB;KAChC;IAED,8EAA8E;IAC9E,mEAAmE;IACnE,mBAAmB,EAAE;QACnB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,2CAA2C;KAC1D;IACD,iDAAiD;IACjD,4BAA4B,EAAE;QAC5B,QAAQ,EAAE,UAAU;QACpB,sEAAsE;QACtE,yEAAyE;QACzE,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EACV,sEAAsE;KACzE;IACD,uBAAuB,EAAE;QACvB,QAAQ,EAAE,UAAU;QACpB,sEAAsE;QACtE,mEAAmE;QACnE,IAAI,EAAE,aAAa;QACnB,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,wCAAwC;KACvD;IACD,yBAAyB,EAAE;QACzB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,sBAAsB;KACrC;IACD,iBAAiB,EAAE;QACjB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,mBAAmB;KAClC;IACD,uBAAuB,EAAE;QACvB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,yBAAyB;KACxC;IACD,wBAAwB,EAAE;QACxB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,2BAA2B;KAC1C;IACD,4DAA4D;IAC5D,yBAAyB,EAAE;QACzB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,8BAA8B;KAC7C;IACD,4BAA4B,EAAE;QAC5B,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,8BAA8B;KAC7C;IACD,oBAAoB,EAAE;QACpB,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,6BAA6B;KAC5C;IACD,iBAAiB,EAAE;QACjB,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,0CAA0C;KACzD;IACD,uBAAuB,EAAE;QACvB,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,yDAAyD;KACxE;IACD,2BAA2B,EAAE;QAC3B,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,uDAAuD;KACtE;IACD,iBAAiB,EAAE;QACjB,iEAAiE;QACjE,gEAAgE;QAChE,qEAAqE;QACrE,oEAAoE;QACpE,yDAAyD;QACzD,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EACV,8DAA8D;KACjE;IACD,6CAA6C;IAC7C,wBAAwB,EAAE;QACxB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,gCAAgC;KAC/C;IACD,wBAAwB,EAAE;QACxB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,uCAAuC;KACtD;IACD,sBAAsB,EAAE;QACtB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,aAAa;QACnB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,qBAAqB;KACpC;IACD,mBAAmB,EAAE;QACnB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,kCAAkC;KACjD;IACD,+DAA+D;IAC/D,iEAAiE;IACjE,4DAA4D;IAC5D,yDAAyD;IACzD,uBAAuB,EAAE;QACvB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,6CAA6C;KAC5D;IACD,gCAAgC,EAAE;QAChC,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,6BAA6B;KAC5C;IAED,6EAA6E;IAC7E,0BAA0B,EAAE;QAC1B,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,0BAA0B;KACzC;IACD,sBAAsB,EAAE;QACtB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,sBAAsB;KACrC;IACD,yBAAyB,EAAE;QACzB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,wBAAwB;KACvC;IACD,uBAAuB,EAAE;QACvB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,aAAa;QACnB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,uBAAuB;KACtC;IACD,uBAAuB,EAAE;QACvB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,0BAA0B;KACzC;IAED,6EAA6E;IAC7E,0BAA0B,EAAE;QAC1B,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,sBAAsB;KACrC;IACD,4BAA4B,EAAE;QAC5B,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,0BAA0B;KACzC;IACD,2BAA2B,EAAE;QAC3B,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,yBAAyB;KACxC;IACD,2BAA2B,EAAE;QAC3B,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,yBAAyB;KACxC;IACD,2BAA2B,EAAE;QAC3B,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,aAAa;QACnB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,yBAAyB;KACxC;IACD,yBAAyB,EAAE;QACzB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,qCAAqC;KACpD;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Multimedia Tools - MCP tools for managing multimedia assets
3
+ */
4
+ import { PicaClient } from "@withpica/mcp-sdk";
5
+ import { ToolDefinition, ToolExecutor } from "./index.js";
6
+ export declare class MultimediaTools {
7
+ private pica;
8
+ constructor(pica: PicaClient);
9
+ getTools(): Array<{
10
+ definition: ToolDefinition;
11
+ executor: ToolExecutor;
12
+ }>;
13
+ private searchMultimedia;
14
+ private createMultimedia;
15
+ private importFromUrl;
16
+ private linkYoutube;
17
+ private linkWork;
18
+ }
19
+ //# sourceMappingURL=multimedia.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multimedia.d.ts","sourceRoot":"","sources":["../../src/tools/multimedia.ts"],"names":[],"mappings":"AAEA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,YAAY,EAAc,MAAM,YAAY,CAAC;AAGtE,qBAAa,eAAe;IAC1B,OAAO,CAAC,IAAI,CAAa;gBAEb,IAAI,EAAE,UAAU;IAI5B,QAAQ,IAAI,KAAK,CAAC;QAAE,UAAU,EAAE,cAAc,CAAC;QAAC,QAAQ,EAAE,YAAY,CAAA;KAAE,CAAC;YAqV3D,gBAAgB;YAgBhB,gBAAgB;YAOhB,aAAa;YAab,WAAW;YAcX,QAAQ;CAYvB"}
@@ -0,0 +1,371 @@
1
+ // Copyright (c) 2024-2026 Withpica Ltd. All rights reserved.
2
+ import { formatList, formatSuccess } from "@withpica/mcp-utils";
3
+ export class MultimediaTools {
4
+ pica;
5
+ constructor(pica) {
6
+ this.pica = pica;
7
+ }
8
+ getTools() {
9
+ return [
10
+ {
11
+ definition: {
12
+ name: "pica_multimedia_search",
13
+ description: "Search and list multimedia assets — photos, videos, audio, YouTube, Spotify, SoundCloud. Supports filtering by type, classification, published status, and linked work or person.",
14
+ workflows: "infrastructure",
15
+ inputSchema: {
16
+ type: "object",
17
+ properties: {
18
+ query: {
19
+ type: "string",
20
+ description: "Full-text search across title, caption, and description",
21
+ },
22
+ content_type: {
23
+ type: "string",
24
+ description: "Filter by content type",
25
+ enum: [
26
+ "uploaded_photo",
27
+ "uploaded_video",
28
+ "uploaded_audio",
29
+ "youtube_video",
30
+ "spotify_track",
31
+ "soundcloud_track",
32
+ "live_performance",
33
+ ],
34
+ },
35
+ classification: {
36
+ type: "string",
37
+ description: "Filter by classification",
38
+ enum: [
39
+ "sync_placement",
40
+ "music_video",
41
+ "behind_the_scenes",
42
+ "live_performance",
43
+ "promo_material",
44
+ "album_artwork",
45
+ "studio_session",
46
+ "artist_showcase",
47
+ "general",
48
+ ],
49
+ },
50
+ is_published: {
51
+ type: "boolean",
52
+ description: "Filter by published status",
53
+ },
54
+ work_id: {
55
+ type: "string",
56
+ description: "Filter by linked work ID",
57
+ },
58
+ person_id: {
59
+ type: "string",
60
+ description: "Filter by linked person ID",
61
+ },
62
+ limit: {
63
+ type: "number",
64
+ description: "Maximum results (default: 50, max: 200)",
65
+ },
66
+ offset: {
67
+ type: "number",
68
+ description: "Pagination offset (default: 0)",
69
+ },
70
+ },
71
+ },
72
+ },
73
+ executor: this.searchMultimedia.bind(this),
74
+ },
75
+ {
76
+ definition: {
77
+ name: "pica_multimedia_create",
78
+ description: "Create a multimedia item. Use for linking external content " +
79
+ "(YouTube, Spotify, SoundCloud URLs) or registering uploaded media. " +
80
+ "For actual file uploads use POST /api/admin/multimedia/upload instead; " +
81
+ "for YouTube videos with auto-enriched metadata use pica_multimedia_link_youtube.",
82
+ workflows: ["multimedia-required"],
83
+ inputSchema: {
84
+ type: "object",
85
+ properties: {
86
+ title: {
87
+ type: "string",
88
+ description: "Title of the multimedia item.",
89
+ },
90
+ content_type: {
91
+ type: "string",
92
+ description: "Type of content.",
93
+ enum: [
94
+ "uploaded_photo",
95
+ "uploaded_video",
96
+ "uploaded_audio",
97
+ "youtube_video",
98
+ "spotify_track",
99
+ "soundcloud_track",
100
+ "live_performance",
101
+ ],
102
+ },
103
+ url: {
104
+ type: "string",
105
+ description: "URL of the media (YouTube URL, Spotify URI, SoundCloud URL, etc.).",
106
+ },
107
+ classification: {
108
+ type: "string",
109
+ description: "Classification of the content.",
110
+ enum: [
111
+ "sync_placement",
112
+ "music_video",
113
+ "behind_the_scenes",
114
+ "live_performance",
115
+ "promo_material",
116
+ "album_artwork",
117
+ "studio_session",
118
+ "artist_showcase",
119
+ "general",
120
+ ],
121
+ },
122
+ caption: { type: "string", description: "Caption or subtitle." },
123
+ description: {
124
+ type: "string",
125
+ description: "Detailed description.",
126
+ },
127
+ tags: {
128
+ type: "array",
129
+ description: "Tags for categorisation.",
130
+ items: { type: "string" },
131
+ },
132
+ credits: {
133
+ type: "string",
134
+ description: "Freeform credits string (e.g. 'Shot by Alice Nguyen, produced by Bob').",
135
+ },
136
+ duration_seconds: {
137
+ type: "number",
138
+ description: "Duration in seconds (for video / audio).",
139
+ },
140
+ // Collection / ordering / publish
141
+ collection_id: {
142
+ type: "string",
143
+ description: "Collection UUID — attach this item to a multimedia collection.",
144
+ },
145
+ display_order: {
146
+ type: "number",
147
+ description: "Sort position within its collection.",
148
+ },
149
+ is_featured: {
150
+ type: "boolean",
151
+ description: "Mark as featured — surfaces in prominent positions on artist portals and directory.",
152
+ },
153
+ is_published: {
154
+ type: "boolean",
155
+ description: "Publish to public surfaces on create. Default false; the service stamps `published_at` when this flips true.",
156
+ },
157
+ // Event / performance context (audit row 21 add-candidates)
158
+ venue: {
159
+ type: "string",
160
+ description: "Venue name (for live / performance content).",
161
+ },
162
+ event_name: {
163
+ type: "string",
164
+ description: "Event / tour / show name (for live / performance content).",
165
+ },
166
+ performance_date: {
167
+ type: "string",
168
+ description: "Date of the performance (YYYY-MM-DD) — used to timestamp live recordings.",
169
+ },
170
+ setlist_position: {
171
+ type: "number",
172
+ description: "Song's position in the performance setlist (1-indexed).",
173
+ },
174
+ sync_side: {
175
+ type: "string",
176
+ description: "Sync-side label for sync placements (e.g. 'master', 'publishing').",
177
+ },
178
+ // External identifiers (enrichment pipelines may overwrite)
179
+ spotify_url: {
180
+ type: "string",
181
+ description: "Spotify canonical URL.",
182
+ },
183
+ spotify_track_uri: {
184
+ type: "string",
185
+ description: "Spotify URI (spotify:track:…).",
186
+ },
187
+ spotify_track_id: {
188
+ type: "string",
189
+ description: "Spotify track ID (22 chars).",
190
+ },
191
+ youtube_url: {
192
+ type: "string",
193
+ description: "YouTube canonical URL.",
194
+ },
195
+ youtube_video_id: {
196
+ type: "string",
197
+ description: "YouTube video ID (e.g. 'dQw4w9WgXcQ').",
198
+ },
199
+ soundcloud_url: {
200
+ type: "string",
201
+ description: "SoundCloud canonical URL.",
202
+ },
203
+ thumbnail_url: {
204
+ type: "string",
205
+ description: "Externally-hosted thumbnail URL.",
206
+ },
207
+ },
208
+ required: ["title", "content_type"],
209
+ },
210
+ },
211
+ executor: this.createMultimedia.bind(this),
212
+ },
213
+ {
214
+ definition: {
215
+ name: "pica_multimedia_import_url",
216
+ description: "Import multimedia from an external URL — downloads the image/video and stores it in PICA. " +
217
+ "Works with any public http/https image or video URL (e.g. Spotify artwork, web images). " +
218
+ "For YouTube videos, use pica_multimedia_link_youtube instead.",
219
+ workflows: ["multimedia-required"],
220
+ inputSchema: {
221
+ type: "object",
222
+ properties: {
223
+ url: {
224
+ type: "string",
225
+ description: "Public URL of the image or video to import",
226
+ },
227
+ title: {
228
+ type: "string",
229
+ description: "Title for the multimedia item",
230
+ },
231
+ source: {
232
+ type: "string",
233
+ description: "Source label (e.g. 'spotify', 'web', 'press_kit')",
234
+ },
235
+ work_id: {
236
+ type: "string",
237
+ description: "Optional work ID to link the imported media to",
238
+ },
239
+ },
240
+ required: ["url"],
241
+ },
242
+ },
243
+ executor: this.importFromUrl.bind(this),
244
+ },
245
+ {
246
+ definition: {
247
+ name: "pica_multimedia_link_youtube",
248
+ description: "Link a YouTube video to PICA. Creates a multimedia item with YouTube metadata " +
249
+ "(thumbnail, title, view count). Can optionally link to a work.",
250
+ workflows: ["multimedia-required"],
251
+ inputSchema: {
252
+ type: "object",
253
+ properties: {
254
+ youtube_video_id: {
255
+ type: "string",
256
+ description: "YouTube video ID (e.g. 'dQw4w9WgXcQ' from youtube.com/watch?v=dQw4w9WgXcQ)",
257
+ },
258
+ title: {
259
+ type: "string",
260
+ description: "Title for the multimedia item",
261
+ },
262
+ classification: {
263
+ type: "string",
264
+ description: "Classification type",
265
+ enum: [
266
+ "sync_placement",
267
+ "music_video",
268
+ "behind_the_scenes",
269
+ "live_performance",
270
+ "promo_material",
271
+ "general",
272
+ ],
273
+ },
274
+ work_id: {
275
+ type: "string",
276
+ description: "Optional work ID to link the video to",
277
+ },
278
+ work_relationship_type: {
279
+ type: "string",
280
+ description: "Relationship type when linking to a work (e.g. 'music_video_for', 'sync_placement')",
281
+ },
282
+ },
283
+ required: ["youtube_video_id", "title"],
284
+ },
285
+ },
286
+ executor: this.linkYoutube.bind(this),
287
+ },
288
+ {
289
+ definition: {
290
+ name: "pica_multimedia_link_work",
291
+ description: "Link an existing multimedia item to a work. Creates a relationship between " +
292
+ "the multimedia (photo, video, audio) and a musical work.",
293
+ workflows: ["multimedia-required"],
294
+ inputSchema: {
295
+ type: "object",
296
+ properties: {
297
+ multimedia_id: {
298
+ type: "string",
299
+ description: "The multimedia item ID",
300
+ },
301
+ work_id: {
302
+ type: "string",
303
+ description: "The work ID to link to",
304
+ },
305
+ relationship_type: {
306
+ type: "string",
307
+ description: "Type of relationship",
308
+ enum: [
309
+ "featured_in",
310
+ "music_video_for",
311
+ "cover_performance",
312
+ "album_artwork",
313
+ "behind_the_scenes",
314
+ "sync_placement",
315
+ "general",
316
+ ],
317
+ },
318
+ notes: {
319
+ type: "string",
320
+ description: "Optional notes about the relationship",
321
+ },
322
+ },
323
+ required: ["multimedia_id", "work_id", "relationship_type"],
324
+ },
325
+ },
326
+ executor: this.linkWork.bind(this),
327
+ },
328
+ ];
329
+ }
330
+ async searchMultimedia(args) {
331
+ const result = await this.pica.multimedia.search({
332
+ query: args.query,
333
+ content_type: args.content_type,
334
+ classification: args.classification,
335
+ is_published: args.is_published,
336
+ work_id: args.work_id,
337
+ person_id: args.person_id,
338
+ limit: args.limit,
339
+ offset: args.offset,
340
+ });
341
+ return formatList(result.data || [], { total: result.count || 0 });
342
+ }
343
+ async createMultimedia(args) {
344
+ const item = await this.pica.multimedia.create(args);
345
+ return formatSuccess("Multimedia item created", item);
346
+ }
347
+ async importFromUrl(args) {
348
+ const item = await this.pica.multimedia.importFromUrl({
349
+ url: args.url,
350
+ title: args.title,
351
+ source: args.source,
352
+ work_id: args.work_id,
353
+ });
354
+ return formatSuccess(`Imported from URL: "${item.title || args.url}". Multimedia ID: ${item.id}`, item);
355
+ }
356
+ async linkYoutube(args) {
357
+ const item = await this.pica.multimedia.linkYoutube({
358
+ youtube_video_id: args.youtube_video_id,
359
+ title: args.title,
360
+ classification: args.classification,
361
+ work_id: args.work_id,
362
+ work_relationship_type: args.work_relationship_type,
363
+ });
364
+ return formatSuccess(`YouTube video linked: "${item.title || args.youtube_video_id}". Multimedia ID: ${item.id}`, item);
365
+ }
366
+ async linkWork(args) {
367
+ const result = await this.pica.multimedia.linkWork(args.multimedia_id, args.work_id, args.relationship_type, args.notes);
368
+ return formatSuccess(`Multimedia ${args.multimedia_id} linked to work ${args.work_id} as "${args.relationship_type}".`, result);
369
+ }
370
+ }
371
+ //# sourceMappingURL=multimedia.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multimedia.js","sourceRoot":"","sources":["../../src/tools/multimedia.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * My-Reported-Issues Tool — ADR-196 Phase 4a.
3
+ *
4
+ * Closes the agent-to-agent loop on the resolution side. An agent that
5
+ * fired `pica_report_issue` previously can poll this tool to see if
6
+ * operators have resolved the issue, what the resolution_note says, and
7
+ * whether other orgs have been affected since.
8
+ *
9
+ * Org-scoped — only returns issues whose `impacted_org_ids` includes the
10
+ * authenticated org. Customers cannot see the cross-org queue (that lives
11
+ * on the operator-only `team_platform_inspect { sections: ['issues'] }`
12
+ * surface).
13
+ *
14
+ * The same closure also fires opportunistically via the
15
+ * `discovery_events` row written by `opsIssuesService.updateStatus`
16
+ * when an issue resolves — `pica_dashboard_pulse` and
17
+ * `pica_dashboard_attention` will surface it on the agent's next call.
18
+ * This tool is the explicit-poll counterpart for "the user just asked me
19
+ * about that issue I reported last week."
20
+ */
21
+ import { PicaClient } from "@withpica/mcp-sdk";
22
+ import { ToolDefinition, ToolExecutor } from "./index.js";
23
+ export declare class MyReportedIssuesTools {
24
+ private pica;
25
+ constructor(pica: PicaClient);
26
+ getTools(): Array<{
27
+ definition: ToolDefinition;
28
+ executor: ToolExecutor;
29
+ }>;
30
+ private listMine;
31
+ }
32
+ //# sourceMappingURL=my-reported-issues.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"my-reported-issues.d.ts","sourceRoot":"","sources":["../../src/tools/my-reported-issues.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,YAAY,EAAc,MAAM,YAAY,CAAC;AAWtE,qBAAa,qBAAqB;IAChC,OAAO,CAAC,IAAI,CAAa;gBAEb,IAAI,EAAE,UAAU;IAI5B,QAAQ,IAAI,KAAK,CAAC;QAAE,UAAU,EAAE,cAAc,CAAC;QAAC,QAAQ,EAAE,YAAY,CAAA;KAAE,CAAC;YAqC3D,QAAQ;CAoFvB"}
@@ -0,0 +1,123 @@
1
+ // Copyright (c) 2024-2026 Withpica Ltd. All rights reserved.
2
+ const VALID_STATUSES = [
3
+ "open",
4
+ "triaged",
5
+ "investigating",
6
+ "resolved",
7
+ "wont_fix",
8
+ ];
9
+ export class MyReportedIssuesTools {
10
+ pica;
11
+ constructor(pica) {
12
+ this.pica = pica;
13
+ }
14
+ getTools() {
15
+ return [
16
+ {
17
+ definition: {
18
+ name: "pica_my_reported_issues",
19
+ description: "List the issues you have reported or been " +
20
+ "impacted by, with their current resolution status. Closes " +
21
+ "the loop on `pica_report_issue` — call this when the user " +
22
+ "asks 'did anyone fix that thing I reported?' or before " +
23
+ "filing a new report on what might be the same problem. " +
24
+ "Default sort is most-recently-touched first; pass `status: " +
25
+ "'resolved'` to see what's been closed, `status: 'open'` for " +
26
+ "what's still in flight. Scoped to your account by auth context — you " +
27
+ "cannot see issues from other accounts.",
28
+ workflows: "infrastructure",
29
+ inputSchema: {
30
+ type: "object",
31
+ properties: {
32
+ status: {
33
+ type: "string",
34
+ enum: [...VALID_STATUSES],
35
+ description: "Optional. Filter by resolution status. Omit to see everything.",
36
+ },
37
+ limit: {
38
+ type: "number",
39
+ description: "Optional. Default 25, max 100.",
40
+ },
41
+ },
42
+ },
43
+ },
44
+ executor: this.listMine.bind(this),
45
+ },
46
+ ];
47
+ }
48
+ async listMine(args) {
49
+ const status = VALID_STATUSES.includes(args.status)
50
+ ? args.status
51
+ : undefined;
52
+ const limit = typeof args.limit === "number" ? args.limit : undefined;
53
+ const issues = await this.pica.opsIssues.listMine({ status, limit });
54
+ if (!Array.isArray(issues) || issues.length === 0) {
55
+ return {
56
+ content: [
57
+ {
58
+ type: "text",
59
+ text: status
60
+ ? `No reported issues with status=${status} for your account.`
61
+ : `No reported issues for your account.`,
62
+ },
63
+ ],
64
+ structuredContent: {
65
+ kind: "pica.card.my_reported_issues",
66
+ version: 1,
67
+ data: { count: 0, issues: [] },
68
+ },
69
+ };
70
+ }
71
+ const lines = issues.slice(0, 10).map((i) => {
72
+ const tag = i.status === "resolved"
73
+ ? "✓ resolved"
74
+ : i.status === "wont_fix"
75
+ ? "✗ won't fix"
76
+ : i.status;
77
+ const sigPrefix = i.signature.slice(0, 8);
78
+ const summary = i.summary ?? `${i.tool_name ?? "issue"} ${i.error_code ?? ""}`.trim();
79
+ const note = (i.status === "resolved" || i.status === "wont_fix") &&
80
+ i.resolution_note
81
+ ? ` — ${i.resolution_note}`
82
+ : "";
83
+ return `[${tag}] \`${sigPrefix}\` ${summary} (seen ${i.occurrence_count}×)${note}`;
84
+ });
85
+ const more = issues.length > 10
86
+ ? `\n\n_+${issues.length - 10} more — pass a higher limit to see them._`
87
+ : "";
88
+ return {
89
+ content: [
90
+ {
91
+ type: "text",
92
+ text: `${issues.length} reported issue${issues.length === 1 ? "" : "s"}` +
93
+ (status ? ` with status=${status}` : "") +
94
+ `:\n\n${lines.join("\n")}${more}`,
95
+ },
96
+ ],
97
+ structuredContent: {
98
+ kind: "pica.card.my_reported_issues",
99
+ version: 1,
100
+ data: {
101
+ count: issues.length,
102
+ status_filter: status ?? null,
103
+ issues: issues.map((i) => ({
104
+ id: i.id,
105
+ signature_prefix: i.signature.slice(0, 8),
106
+ kind: i.kind,
107
+ tool_name: i.tool_name,
108
+ error_code: i.error_code,
109
+ summary: i.summary,
110
+ severity: i.severity,
111
+ status: i.status,
112
+ resolved_at: i.resolved_at,
113
+ resolution_note: i.resolution_note,
114
+ occurrence_count: i.occurrence_count,
115
+ first_seen_at: i.first_seen_at,
116
+ last_seen_at: i.last_seen_at,
117
+ })),
118
+ },
119
+ },
120
+ };
121
+ }
122
+ }
123
+ //# sourceMappingURL=my-reported-issues.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"my-reported-issues.js","sourceRoot":"","sources":["../../src/tools/my-reported-issues.ts"],"names":[],"mappings":"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"}