@work-graph/cli 0.2.4 → 0.2.6

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 (3089) hide show
  1. package/README.md +103 -5
  2. package/package.json +4 -4
  3. package/vendor/packages/design-tokens/generated/workgraph-dark.css +29 -29
  4. package/vendor/packages/workgraph-mcp/README.md +14 -0
  5. package/vendor/packages/workgraph-mcp/src/handlers.mjs +110 -6
  6. package/vendor/packages/workgraph-mcp/src/index.mjs +77 -2
  7. package/vendor/public/assets/avatars/avatar-01.svg +1 -0
  8. package/vendor/public/assets/avatars/avatar-02.svg +1 -0
  9. package/vendor/public/assets/avatars/avatar-03.svg +1 -0
  10. package/vendor/public/assets/avatars/avatar-04.svg +1 -0
  11. package/vendor/public/assets/avatars/avatar-05.svg +1 -0
  12. package/vendor/public/assets/avatars/avatar-06.svg +1 -0
  13. package/vendor/public/assets/avatars/avatar-07.svg +1 -0
  14. package/vendor/public/assets/avatars/avatar-08.svg +1 -0
  15. package/vendor/public/assets/avatars/avatar-09.svg +1 -0
  16. package/vendor/public/assets/avatars/avatar-10.svg +1 -0
  17. package/vendor/public/assets/favicon.svg +4 -0
  18. package/vendor/public/assets/icons/bold/acorn-bold.svg +1 -0
  19. package/vendor/public/assets/icons/bold/address-book-bold.svg +1 -0
  20. package/vendor/public/assets/icons/bold/address-book-tabs-bold.svg +1 -0
  21. package/vendor/public/assets/icons/bold/air-traffic-control-bold.svg +1 -0
  22. package/vendor/public/assets/icons/bold/airplane-bold.svg +1 -0
  23. package/vendor/public/assets/icons/bold/airplane-in-flight-bold.svg +1 -0
  24. package/vendor/public/assets/icons/bold/airplane-landing-bold.svg +1 -0
  25. package/vendor/public/assets/icons/bold/airplane-takeoff-bold.svg +1 -0
  26. package/vendor/public/assets/icons/bold/airplane-taxiing-bold.svg +1 -0
  27. package/vendor/public/assets/icons/bold/airplane-tilt-bold.svg +1 -0
  28. package/vendor/public/assets/icons/bold/airplay-bold.svg +1 -0
  29. package/vendor/public/assets/icons/bold/alarm-bold.svg +1 -0
  30. package/vendor/public/assets/icons/bold/alien-bold.svg +1 -0
  31. package/vendor/public/assets/icons/bold/align-bottom-bold.svg +1 -0
  32. package/vendor/public/assets/icons/bold/align-bottom-simple-bold.svg +1 -0
  33. package/vendor/public/assets/icons/bold/align-center-horizontal-bold.svg +1 -0
  34. package/vendor/public/assets/icons/bold/align-center-horizontal-simple-bold.svg +1 -0
  35. package/vendor/public/assets/icons/bold/align-center-vertical-bold.svg +1 -0
  36. package/vendor/public/assets/icons/bold/align-center-vertical-simple-bold.svg +1 -0
  37. package/vendor/public/assets/icons/bold/align-left-bold.svg +1 -0
  38. package/vendor/public/assets/icons/bold/align-left-simple-bold.svg +1 -0
  39. package/vendor/public/assets/icons/bold/align-right-bold.svg +1 -0
  40. package/vendor/public/assets/icons/bold/align-right-simple-bold.svg +1 -0
  41. package/vendor/public/assets/icons/bold/align-top-bold.svg +1 -0
  42. package/vendor/public/assets/icons/bold/align-top-simple-bold.svg +1 -0
  43. package/vendor/public/assets/icons/bold/amazon-logo-bold.svg +1 -0
  44. package/vendor/public/assets/icons/bold/ambulance-bold.svg +1 -0
  45. package/vendor/public/assets/icons/bold/anchor-bold.svg +1 -0
  46. package/vendor/public/assets/icons/bold/anchor-simple-bold.svg +1 -0
  47. package/vendor/public/assets/icons/bold/android-logo-bold.svg +1 -0
  48. package/vendor/public/assets/icons/bold/angle-bold.svg +1 -0
  49. package/vendor/public/assets/icons/bold/angular-logo-bold.svg +1 -0
  50. package/vendor/public/assets/icons/bold/aperture-bold.svg +1 -0
  51. package/vendor/public/assets/icons/bold/app-store-logo-bold.svg +1 -0
  52. package/vendor/public/assets/icons/bold/app-window-bold.svg +1 -0
  53. package/vendor/public/assets/icons/bold/apple-logo-bold.svg +1 -0
  54. package/vendor/public/assets/icons/bold/apple-podcasts-logo-bold.svg +1 -0
  55. package/vendor/public/assets/icons/bold/approximate-equals-bold.svg +1 -0
  56. package/vendor/public/assets/icons/bold/archive-bold.svg +1 -0
  57. package/vendor/public/assets/icons/bold/armchair-bold.svg +1 -0
  58. package/vendor/public/assets/icons/bold/arrow-arc-left-bold.svg +1 -0
  59. package/vendor/public/assets/icons/bold/arrow-arc-right-bold.svg +1 -0
  60. package/vendor/public/assets/icons/bold/arrow-bend-double-up-left-bold.svg +1 -0
  61. package/vendor/public/assets/icons/bold/arrow-bend-double-up-right-bold.svg +1 -0
  62. package/vendor/public/assets/icons/bold/arrow-bend-down-left-bold.svg +1 -0
  63. package/vendor/public/assets/icons/bold/arrow-bend-down-right-bold.svg +1 -0
  64. package/vendor/public/assets/icons/bold/arrow-bend-left-down-bold.svg +1 -0
  65. package/vendor/public/assets/icons/bold/arrow-bend-left-up-bold.svg +1 -0
  66. package/vendor/public/assets/icons/bold/arrow-bend-right-down-bold.svg +1 -0
  67. package/vendor/public/assets/icons/bold/arrow-bend-right-up-bold.svg +1 -0
  68. package/vendor/public/assets/icons/bold/arrow-bend-up-left-bold.svg +1 -0
  69. package/vendor/public/assets/icons/bold/arrow-bend-up-right-bold.svg +1 -0
  70. package/vendor/public/assets/icons/bold/arrow-circle-down-bold.svg +1 -0
  71. package/vendor/public/assets/icons/bold/arrow-circle-down-left-bold.svg +1 -0
  72. package/vendor/public/assets/icons/bold/arrow-circle-down-right-bold.svg +1 -0
  73. package/vendor/public/assets/icons/bold/arrow-circle-left-bold.svg +1 -0
  74. package/vendor/public/assets/icons/bold/arrow-circle-right-bold.svg +1 -0
  75. package/vendor/public/assets/icons/bold/arrow-circle-up-bold.svg +1 -0
  76. package/vendor/public/assets/icons/bold/arrow-circle-up-left-bold.svg +1 -0
  77. package/vendor/public/assets/icons/bold/arrow-circle-up-right-bold.svg +1 -0
  78. package/vendor/public/assets/icons/bold/arrow-clockwise-bold.svg +1 -0
  79. package/vendor/public/assets/icons/bold/arrow-counter-clockwise-bold.svg +1 -0
  80. package/vendor/public/assets/icons/bold/arrow-down-bold.svg +1 -0
  81. package/vendor/public/assets/icons/bold/arrow-down-left-bold.svg +1 -0
  82. package/vendor/public/assets/icons/bold/arrow-down-right-bold.svg +1 -0
  83. package/vendor/public/assets/icons/bold/arrow-elbow-down-left-bold.svg +1 -0
  84. package/vendor/public/assets/icons/bold/arrow-elbow-down-right-bold.svg +1 -0
  85. package/vendor/public/assets/icons/bold/arrow-elbow-left-bold.svg +1 -0
  86. package/vendor/public/assets/icons/bold/arrow-elbow-left-down-bold.svg +1 -0
  87. package/vendor/public/assets/icons/bold/arrow-elbow-left-up-bold.svg +1 -0
  88. package/vendor/public/assets/icons/bold/arrow-elbow-right-bold.svg +1 -0
  89. package/vendor/public/assets/icons/bold/arrow-elbow-right-down-bold.svg +1 -0
  90. package/vendor/public/assets/icons/bold/arrow-elbow-right-up-bold.svg +1 -0
  91. package/vendor/public/assets/icons/bold/arrow-elbow-up-left-bold.svg +1 -0
  92. package/vendor/public/assets/icons/bold/arrow-elbow-up-right-bold.svg +1 -0
  93. package/vendor/public/assets/icons/bold/arrow-fat-down-bold.svg +1 -0
  94. package/vendor/public/assets/icons/bold/arrow-fat-left-bold.svg +1 -0
  95. package/vendor/public/assets/icons/bold/arrow-fat-line-down-bold.svg +1 -0
  96. package/vendor/public/assets/icons/bold/arrow-fat-line-left-bold.svg +1 -0
  97. package/vendor/public/assets/icons/bold/arrow-fat-line-right-bold.svg +1 -0
  98. package/vendor/public/assets/icons/bold/arrow-fat-line-up-bold.svg +1 -0
  99. package/vendor/public/assets/icons/bold/arrow-fat-lines-down-bold.svg +1 -0
  100. package/vendor/public/assets/icons/bold/arrow-fat-lines-left-bold.svg +1 -0
  101. package/vendor/public/assets/icons/bold/arrow-fat-lines-right-bold.svg +1 -0
  102. package/vendor/public/assets/icons/bold/arrow-fat-lines-up-bold.svg +1 -0
  103. package/vendor/public/assets/icons/bold/arrow-fat-right-bold.svg +1 -0
  104. package/vendor/public/assets/icons/bold/arrow-fat-up-bold.svg +1 -0
  105. package/vendor/public/assets/icons/bold/arrow-left-bold.svg +1 -0
  106. package/vendor/public/assets/icons/bold/arrow-line-down-bold.svg +1 -0
  107. package/vendor/public/assets/icons/bold/arrow-line-down-left-bold.svg +1 -0
  108. package/vendor/public/assets/icons/bold/arrow-line-down-right-bold.svg +1 -0
  109. package/vendor/public/assets/icons/bold/arrow-line-left-bold.svg +1 -0
  110. package/vendor/public/assets/icons/bold/arrow-line-right-bold.svg +1 -0
  111. package/vendor/public/assets/icons/bold/arrow-line-up-bold.svg +1 -0
  112. package/vendor/public/assets/icons/bold/arrow-line-up-left-bold.svg +1 -0
  113. package/vendor/public/assets/icons/bold/arrow-line-up-right-bold.svg +1 -0
  114. package/vendor/public/assets/icons/bold/arrow-right-bold.svg +1 -0
  115. package/vendor/public/assets/icons/bold/arrow-square-down-bold.svg +1 -0
  116. package/vendor/public/assets/icons/bold/arrow-square-down-left-bold.svg +1 -0
  117. package/vendor/public/assets/icons/bold/arrow-square-down-right-bold.svg +1 -0
  118. package/vendor/public/assets/icons/bold/arrow-square-in-bold.svg +1 -0
  119. package/vendor/public/assets/icons/bold/arrow-square-left-bold.svg +1 -0
  120. package/vendor/public/assets/icons/bold/arrow-square-out-bold.svg +1 -0
  121. package/vendor/public/assets/icons/bold/arrow-square-right-bold.svg +1 -0
  122. package/vendor/public/assets/icons/bold/arrow-square-up-bold.svg +1 -0
  123. package/vendor/public/assets/icons/bold/arrow-square-up-left-bold.svg +1 -0
  124. package/vendor/public/assets/icons/bold/arrow-square-up-right-bold.svg +1 -0
  125. package/vendor/public/assets/icons/bold/arrow-u-down-left-bold.svg +1 -0
  126. package/vendor/public/assets/icons/bold/arrow-u-down-right-bold.svg +1 -0
  127. package/vendor/public/assets/icons/bold/arrow-u-left-down-bold.svg +1 -0
  128. package/vendor/public/assets/icons/bold/arrow-u-left-up-bold.svg +1 -0
  129. package/vendor/public/assets/icons/bold/arrow-u-right-down-bold.svg +1 -0
  130. package/vendor/public/assets/icons/bold/arrow-u-right-up-bold.svg +1 -0
  131. package/vendor/public/assets/icons/bold/arrow-u-up-left-bold.svg +1 -0
  132. package/vendor/public/assets/icons/bold/arrow-u-up-right-bold.svg +1 -0
  133. package/vendor/public/assets/icons/bold/arrow-up-bold.svg +1 -0
  134. package/vendor/public/assets/icons/bold/arrow-up-left-bold.svg +1 -0
  135. package/vendor/public/assets/icons/bold/arrow-up-right-bold.svg +1 -0
  136. package/vendor/public/assets/icons/bold/arrows-clockwise-bold.svg +1 -0
  137. package/vendor/public/assets/icons/bold/arrows-counter-clockwise-bold.svg +1 -0
  138. package/vendor/public/assets/icons/bold/arrows-down-up-bold.svg +1 -0
  139. package/vendor/public/assets/icons/bold/arrows-horizontal-bold.svg +1 -0
  140. package/vendor/public/assets/icons/bold/arrows-in-bold.svg +1 -0
  141. package/vendor/public/assets/icons/bold/arrows-in-cardinal-bold.svg +1 -0
  142. package/vendor/public/assets/icons/bold/arrows-in-line-horizontal-bold.svg +1 -0
  143. package/vendor/public/assets/icons/bold/arrows-in-line-vertical-bold.svg +1 -0
  144. package/vendor/public/assets/icons/bold/arrows-in-simple-bold.svg +1 -0
  145. package/vendor/public/assets/icons/bold/arrows-left-right-bold.svg +1 -0
  146. package/vendor/public/assets/icons/bold/arrows-merge-bold.svg +1 -0
  147. package/vendor/public/assets/icons/bold/arrows-out-bold.svg +1 -0
  148. package/vendor/public/assets/icons/bold/arrows-out-cardinal-bold.svg +1 -0
  149. package/vendor/public/assets/icons/bold/arrows-out-line-horizontal-bold.svg +1 -0
  150. package/vendor/public/assets/icons/bold/arrows-out-line-vertical-bold.svg +1 -0
  151. package/vendor/public/assets/icons/bold/arrows-out-simple-bold.svg +1 -0
  152. package/vendor/public/assets/icons/bold/arrows-split-bold.svg +1 -0
  153. package/vendor/public/assets/icons/bold/arrows-vertical-bold.svg +1 -0
  154. package/vendor/public/assets/icons/bold/article-bold.svg +1 -0
  155. package/vendor/public/assets/icons/bold/article-medium-bold.svg +1 -0
  156. package/vendor/public/assets/icons/bold/article-ny-times-bold.svg +1 -0
  157. package/vendor/public/assets/icons/bold/asclepius-bold.svg +1 -0
  158. package/vendor/public/assets/icons/bold/asterisk-bold.svg +1 -0
  159. package/vendor/public/assets/icons/bold/asterisk-simple-bold.svg +1 -0
  160. package/vendor/public/assets/icons/bold/at-bold.svg +1 -0
  161. package/vendor/public/assets/icons/bold/atom-bold.svg +1 -0
  162. package/vendor/public/assets/icons/bold/avocado-bold.svg +1 -0
  163. package/vendor/public/assets/icons/bold/axe-bold.svg +1 -0
  164. package/vendor/public/assets/icons/bold/baby-bold.svg +1 -0
  165. package/vendor/public/assets/icons/bold/baby-carriage-bold.svg +1 -0
  166. package/vendor/public/assets/icons/bold/backpack-bold.svg +1 -0
  167. package/vendor/public/assets/icons/bold/backspace-bold.svg +1 -0
  168. package/vendor/public/assets/icons/bold/bag-bold.svg +1 -0
  169. package/vendor/public/assets/icons/bold/bag-simple-bold.svg +1 -0
  170. package/vendor/public/assets/icons/bold/balloon-bold.svg +1 -0
  171. package/vendor/public/assets/icons/bold/bandaids-bold.svg +1 -0
  172. package/vendor/public/assets/icons/bold/bank-bold.svg +1 -0
  173. package/vendor/public/assets/icons/bold/barbell-bold.svg +1 -0
  174. package/vendor/public/assets/icons/bold/barcode-bold.svg +1 -0
  175. package/vendor/public/assets/icons/bold/barn-bold.svg +1 -0
  176. package/vendor/public/assets/icons/bold/barricade-bold.svg +1 -0
  177. package/vendor/public/assets/icons/bold/baseball-bold.svg +1 -0
  178. package/vendor/public/assets/icons/bold/baseball-cap-bold.svg +1 -0
  179. package/vendor/public/assets/icons/bold/baseball-helmet-bold.svg +1 -0
  180. package/vendor/public/assets/icons/bold/basket-bold.svg +1 -0
  181. package/vendor/public/assets/icons/bold/basketball-bold.svg +1 -0
  182. package/vendor/public/assets/icons/bold/bathtub-bold.svg +1 -0
  183. package/vendor/public/assets/icons/bold/battery-charging-bold.svg +1 -0
  184. package/vendor/public/assets/icons/bold/battery-charging-vertical-bold.svg +1 -0
  185. package/vendor/public/assets/icons/bold/battery-empty-bold.svg +1 -0
  186. package/vendor/public/assets/icons/bold/battery-full-bold.svg +1 -0
  187. package/vendor/public/assets/icons/bold/battery-high-bold.svg +1 -0
  188. package/vendor/public/assets/icons/bold/battery-low-bold.svg +1 -0
  189. package/vendor/public/assets/icons/bold/battery-medium-bold.svg +1 -0
  190. package/vendor/public/assets/icons/bold/battery-plus-bold.svg +1 -0
  191. package/vendor/public/assets/icons/bold/battery-plus-vertical-bold.svg +1 -0
  192. package/vendor/public/assets/icons/bold/battery-vertical-empty-bold.svg +1 -0
  193. package/vendor/public/assets/icons/bold/battery-vertical-full-bold.svg +1 -0
  194. package/vendor/public/assets/icons/bold/battery-vertical-high-bold.svg +1 -0
  195. package/vendor/public/assets/icons/bold/battery-vertical-low-bold.svg +1 -0
  196. package/vendor/public/assets/icons/bold/battery-vertical-medium-bold.svg +1 -0
  197. package/vendor/public/assets/icons/bold/battery-warning-bold.svg +1 -0
  198. package/vendor/public/assets/icons/bold/battery-warning-vertical-bold.svg +1 -0
  199. package/vendor/public/assets/icons/bold/beach-ball-bold.svg +1 -0
  200. package/vendor/public/assets/icons/bold/beanie-bold.svg +1 -0
  201. package/vendor/public/assets/icons/bold/bed-bold.svg +1 -0
  202. package/vendor/public/assets/icons/bold/beer-bottle-bold.svg +1 -0
  203. package/vendor/public/assets/icons/bold/beer-stein-bold.svg +1 -0
  204. package/vendor/public/assets/icons/bold/behance-logo-bold.svg +1 -0
  205. package/vendor/public/assets/icons/bold/bell-bold.svg +1 -0
  206. package/vendor/public/assets/icons/bold/bell-ringing-bold.svg +1 -0
  207. package/vendor/public/assets/icons/bold/bell-simple-bold.svg +1 -0
  208. package/vendor/public/assets/icons/bold/bell-simple-ringing-bold.svg +1 -0
  209. package/vendor/public/assets/icons/bold/bell-simple-slash-bold.svg +1 -0
  210. package/vendor/public/assets/icons/bold/bell-simple-z-bold.svg +1 -0
  211. package/vendor/public/assets/icons/bold/bell-slash-bold.svg +1 -0
  212. package/vendor/public/assets/icons/bold/bell-z-bold.svg +1 -0
  213. package/vendor/public/assets/icons/bold/belt-bold.svg +1 -0
  214. package/vendor/public/assets/icons/bold/bezier-curve-bold.svg +1 -0
  215. package/vendor/public/assets/icons/bold/bicycle-bold.svg +1 -0
  216. package/vendor/public/assets/icons/bold/binary-bold.svg +1 -0
  217. package/vendor/public/assets/icons/bold/binoculars-bold.svg +1 -0
  218. package/vendor/public/assets/icons/bold/biohazard-bold.svg +1 -0
  219. package/vendor/public/assets/icons/bold/bird-bold.svg +1 -0
  220. package/vendor/public/assets/icons/bold/blueprint-bold.svg +1 -0
  221. package/vendor/public/assets/icons/bold/bluetooth-bold.svg +1 -0
  222. package/vendor/public/assets/icons/bold/bluetooth-connected-bold.svg +1 -0
  223. package/vendor/public/assets/icons/bold/bluetooth-slash-bold.svg +1 -0
  224. package/vendor/public/assets/icons/bold/bluetooth-x-bold.svg +1 -0
  225. package/vendor/public/assets/icons/bold/boat-bold.svg +1 -0
  226. package/vendor/public/assets/icons/bold/bomb-bold.svg +1 -0
  227. package/vendor/public/assets/icons/bold/bone-bold.svg +1 -0
  228. package/vendor/public/assets/icons/bold/book-bold.svg +1 -0
  229. package/vendor/public/assets/icons/bold/book-bookmark-bold.svg +1 -0
  230. package/vendor/public/assets/icons/bold/book-open-bold.svg +1 -0
  231. package/vendor/public/assets/icons/bold/book-open-text-bold.svg +1 -0
  232. package/vendor/public/assets/icons/bold/book-open-user-bold.svg +1 -0
  233. package/vendor/public/assets/icons/bold/bookmark-bold.svg +1 -0
  234. package/vendor/public/assets/icons/bold/bookmark-simple-bold.svg +1 -0
  235. package/vendor/public/assets/icons/bold/bookmarks-bold.svg +1 -0
  236. package/vendor/public/assets/icons/bold/bookmarks-simple-bold.svg +1 -0
  237. package/vendor/public/assets/icons/bold/books-bold.svg +1 -0
  238. package/vendor/public/assets/icons/bold/boot-bold.svg +1 -0
  239. package/vendor/public/assets/icons/bold/boules-bold.svg +1 -0
  240. package/vendor/public/assets/icons/bold/bounding-box-bold.svg +1 -0
  241. package/vendor/public/assets/icons/bold/bowl-food-bold.svg +1 -0
  242. package/vendor/public/assets/icons/bold/bowl-steam-bold.svg +1 -0
  243. package/vendor/public/assets/icons/bold/bowling-ball-bold.svg +1 -0
  244. package/vendor/public/assets/icons/bold/box-arrow-down-bold.svg +1 -0
  245. package/vendor/public/assets/icons/bold/box-arrow-up-bold.svg +1 -0
  246. package/vendor/public/assets/icons/bold/boxing-glove-bold.svg +1 -0
  247. package/vendor/public/assets/icons/bold/brackets-angle-bold.svg +1 -0
  248. package/vendor/public/assets/icons/bold/brackets-curly-bold.svg +1 -0
  249. package/vendor/public/assets/icons/bold/brackets-round-bold.svg +1 -0
  250. package/vendor/public/assets/icons/bold/brackets-square-bold.svg +1 -0
  251. package/vendor/public/assets/icons/bold/brain-bold.svg +1 -0
  252. package/vendor/public/assets/icons/bold/brandy-bold.svg +1 -0
  253. package/vendor/public/assets/icons/bold/bread-bold.svg +1 -0
  254. package/vendor/public/assets/icons/bold/bridge-bold.svg +1 -0
  255. package/vendor/public/assets/icons/bold/briefcase-bold.svg +1 -0
  256. package/vendor/public/assets/icons/bold/briefcase-metal-bold.svg +1 -0
  257. package/vendor/public/assets/icons/bold/broadcast-bold.svg +1 -0
  258. package/vendor/public/assets/icons/bold/broom-bold.svg +1 -0
  259. package/vendor/public/assets/icons/bold/browser-bold.svg +1 -0
  260. package/vendor/public/assets/icons/bold/browsers-bold.svg +1 -0
  261. package/vendor/public/assets/icons/bold/bug-beetle-bold.svg +1 -0
  262. package/vendor/public/assets/icons/bold/bug-bold.svg +1 -0
  263. package/vendor/public/assets/icons/bold/bug-droid-bold.svg +1 -0
  264. package/vendor/public/assets/icons/bold/building-apartment-bold.svg +1 -0
  265. package/vendor/public/assets/icons/bold/building-bold.svg +1 -0
  266. package/vendor/public/assets/icons/bold/building-office-bold.svg +1 -0
  267. package/vendor/public/assets/icons/bold/buildings-bold.svg +1 -0
  268. package/vendor/public/assets/icons/bold/bulldozer-bold.svg +1 -0
  269. package/vendor/public/assets/icons/bold/bus-bold.svg +1 -0
  270. package/vendor/public/assets/icons/bold/butterfly-bold.svg +1 -0
  271. package/vendor/public/assets/icons/bold/cable-car-bold.svg +1 -0
  272. package/vendor/public/assets/icons/bold/cactus-bold.svg +1 -0
  273. package/vendor/public/assets/icons/bold/cake-bold.svg +1 -0
  274. package/vendor/public/assets/icons/bold/calculator-bold.svg +1 -0
  275. package/vendor/public/assets/icons/bold/calendar-blank-bold.svg +1 -0
  276. package/vendor/public/assets/icons/bold/calendar-bold.svg +1 -0
  277. package/vendor/public/assets/icons/bold/calendar-check-bold.svg +1 -0
  278. package/vendor/public/assets/icons/bold/calendar-dot-bold.svg +1 -0
  279. package/vendor/public/assets/icons/bold/calendar-dots-bold.svg +1 -0
  280. package/vendor/public/assets/icons/bold/calendar-heart-bold.svg +1 -0
  281. package/vendor/public/assets/icons/bold/calendar-minus-bold.svg +1 -0
  282. package/vendor/public/assets/icons/bold/calendar-plus-bold.svg +1 -0
  283. package/vendor/public/assets/icons/bold/calendar-slash-bold.svg +1 -0
  284. package/vendor/public/assets/icons/bold/calendar-star-bold.svg +1 -0
  285. package/vendor/public/assets/icons/bold/calendar-x-bold.svg +1 -0
  286. package/vendor/public/assets/icons/bold/call-bell-bold.svg +1 -0
  287. package/vendor/public/assets/icons/bold/camera-bold.svg +1 -0
  288. package/vendor/public/assets/icons/bold/camera-plus-bold.svg +1 -0
  289. package/vendor/public/assets/icons/bold/camera-rotate-bold.svg +1 -0
  290. package/vendor/public/assets/icons/bold/camera-slash-bold.svg +1 -0
  291. package/vendor/public/assets/icons/bold/campfire-bold.svg +1 -0
  292. package/vendor/public/assets/icons/bold/car-battery-bold.svg +1 -0
  293. package/vendor/public/assets/icons/bold/car-bold.svg +1 -0
  294. package/vendor/public/assets/icons/bold/car-profile-bold.svg +1 -0
  295. package/vendor/public/assets/icons/bold/car-simple-bold.svg +1 -0
  296. package/vendor/public/assets/icons/bold/cardholder-bold.svg +1 -0
  297. package/vendor/public/assets/icons/bold/cards-bold.svg +1 -0
  298. package/vendor/public/assets/icons/bold/cards-three-bold.svg +1 -0
  299. package/vendor/public/assets/icons/bold/caret-circle-double-down-bold.svg +1 -0
  300. package/vendor/public/assets/icons/bold/caret-circle-double-left-bold.svg +1 -0
  301. package/vendor/public/assets/icons/bold/caret-circle-double-right-bold.svg +1 -0
  302. package/vendor/public/assets/icons/bold/caret-circle-double-up-bold.svg +1 -0
  303. package/vendor/public/assets/icons/bold/caret-circle-down-bold.svg +1 -0
  304. package/vendor/public/assets/icons/bold/caret-circle-left-bold.svg +1 -0
  305. package/vendor/public/assets/icons/bold/caret-circle-right-bold.svg +1 -0
  306. package/vendor/public/assets/icons/bold/caret-circle-up-bold.svg +1 -0
  307. package/vendor/public/assets/icons/bold/caret-circle-up-down-bold.svg +1 -0
  308. package/vendor/public/assets/icons/bold/caret-double-down-bold.svg +1 -0
  309. package/vendor/public/assets/icons/bold/caret-double-left-bold.svg +1 -0
  310. package/vendor/public/assets/icons/bold/caret-double-right-bold.svg +1 -0
  311. package/vendor/public/assets/icons/bold/caret-double-up-bold.svg +1 -0
  312. package/vendor/public/assets/icons/bold/caret-down-bold.svg +1 -0
  313. package/vendor/public/assets/icons/bold/caret-left-bold.svg +1 -0
  314. package/vendor/public/assets/icons/bold/caret-line-down-bold.svg +1 -0
  315. package/vendor/public/assets/icons/bold/caret-line-left-bold.svg +1 -0
  316. package/vendor/public/assets/icons/bold/caret-line-right-bold.svg +1 -0
  317. package/vendor/public/assets/icons/bold/caret-line-up-bold.svg +1 -0
  318. package/vendor/public/assets/icons/bold/caret-right-bold.svg +1 -0
  319. package/vendor/public/assets/icons/bold/caret-up-bold.svg +1 -0
  320. package/vendor/public/assets/icons/bold/caret-up-down-bold.svg +1 -0
  321. package/vendor/public/assets/icons/bold/carrot-bold.svg +1 -0
  322. package/vendor/public/assets/icons/bold/cash-register-bold.svg +1 -0
  323. package/vendor/public/assets/icons/bold/cassette-tape-bold.svg +1 -0
  324. package/vendor/public/assets/icons/bold/castle-turret-bold.svg +1 -0
  325. package/vendor/public/assets/icons/bold/cat-bold.svg +1 -0
  326. package/vendor/public/assets/icons/bold/cell-signal-full-bold.svg +1 -0
  327. package/vendor/public/assets/icons/bold/cell-signal-high-bold.svg +1 -0
  328. package/vendor/public/assets/icons/bold/cell-signal-low-bold.svg +1 -0
  329. package/vendor/public/assets/icons/bold/cell-signal-medium-bold.svg +1 -0
  330. package/vendor/public/assets/icons/bold/cell-signal-none-bold.svg +1 -0
  331. package/vendor/public/assets/icons/bold/cell-signal-slash-bold.svg +1 -0
  332. package/vendor/public/assets/icons/bold/cell-signal-x-bold.svg +1 -0
  333. package/vendor/public/assets/icons/bold/cell-tower-bold.svg +1 -0
  334. package/vendor/public/assets/icons/bold/certificate-bold.svg +1 -0
  335. package/vendor/public/assets/icons/bold/chair-bold.svg +1 -0
  336. package/vendor/public/assets/icons/bold/chalkboard-bold.svg +1 -0
  337. package/vendor/public/assets/icons/bold/chalkboard-simple-bold.svg +1 -0
  338. package/vendor/public/assets/icons/bold/chalkboard-teacher-bold.svg +1 -0
  339. package/vendor/public/assets/icons/bold/champagne-bold.svg +1 -0
  340. package/vendor/public/assets/icons/bold/charging-station-bold.svg +1 -0
  341. package/vendor/public/assets/icons/bold/chart-bar-bold.svg +1 -0
  342. package/vendor/public/assets/icons/bold/chart-bar-horizontal-bold.svg +1 -0
  343. package/vendor/public/assets/icons/bold/chart-donut-bold.svg +1 -0
  344. package/vendor/public/assets/icons/bold/chart-line-bold.svg +1 -0
  345. package/vendor/public/assets/icons/bold/chart-line-down-bold.svg +1 -0
  346. package/vendor/public/assets/icons/bold/chart-line-up-bold.svg +1 -0
  347. package/vendor/public/assets/icons/bold/chart-pie-bold.svg +1 -0
  348. package/vendor/public/assets/icons/bold/chart-pie-slice-bold.svg +1 -0
  349. package/vendor/public/assets/icons/bold/chart-polar-bold.svg +1 -0
  350. package/vendor/public/assets/icons/bold/chart-scatter-bold.svg +1 -0
  351. package/vendor/public/assets/icons/bold/chat-bold.svg +1 -0
  352. package/vendor/public/assets/icons/bold/chat-centered-bold.svg +1 -0
  353. package/vendor/public/assets/icons/bold/chat-centered-dots-bold.svg +1 -0
  354. package/vendor/public/assets/icons/bold/chat-centered-slash-bold.svg +1 -0
  355. package/vendor/public/assets/icons/bold/chat-centered-text-bold.svg +1 -0
  356. package/vendor/public/assets/icons/bold/chat-circle-bold.svg +1 -0
  357. package/vendor/public/assets/icons/bold/chat-circle-dots-bold.svg +1 -0
  358. package/vendor/public/assets/icons/bold/chat-circle-slash-bold.svg +1 -0
  359. package/vendor/public/assets/icons/bold/chat-circle-text-bold.svg +1 -0
  360. package/vendor/public/assets/icons/bold/chat-dots-bold.svg +1 -0
  361. package/vendor/public/assets/icons/bold/chat-slash-bold.svg +1 -0
  362. package/vendor/public/assets/icons/bold/chat-teardrop-bold.svg +1 -0
  363. package/vendor/public/assets/icons/bold/chat-teardrop-dots-bold.svg +1 -0
  364. package/vendor/public/assets/icons/bold/chat-teardrop-slash-bold.svg +1 -0
  365. package/vendor/public/assets/icons/bold/chat-teardrop-text-bold.svg +1 -0
  366. package/vendor/public/assets/icons/bold/chat-text-bold.svg +1 -0
  367. package/vendor/public/assets/icons/bold/chats-bold.svg +1 -0
  368. package/vendor/public/assets/icons/bold/chats-circle-bold.svg +1 -0
  369. package/vendor/public/assets/icons/bold/chats-teardrop-bold.svg +1 -0
  370. package/vendor/public/assets/icons/bold/check-bold.svg +1 -0
  371. package/vendor/public/assets/icons/bold/check-circle-bold.svg +1 -0
  372. package/vendor/public/assets/icons/bold/check-fat-bold.svg +1 -0
  373. package/vendor/public/assets/icons/bold/check-square-bold.svg +1 -0
  374. package/vendor/public/assets/icons/bold/check-square-offset-bold.svg +1 -0
  375. package/vendor/public/assets/icons/bold/checkerboard-bold.svg +1 -0
  376. package/vendor/public/assets/icons/bold/checks-bold.svg +1 -0
  377. package/vendor/public/assets/icons/bold/cheers-bold.svg +1 -0
  378. package/vendor/public/assets/icons/bold/cheese-bold.svg +1 -0
  379. package/vendor/public/assets/icons/bold/chef-hat-bold.svg +1 -0
  380. package/vendor/public/assets/icons/bold/cherries-bold.svg +1 -0
  381. package/vendor/public/assets/icons/bold/church-bold.svg +1 -0
  382. package/vendor/public/assets/icons/bold/cigarette-bold.svg +1 -0
  383. package/vendor/public/assets/icons/bold/cigarette-slash-bold.svg +1 -0
  384. package/vendor/public/assets/icons/bold/circle-bold.svg +1 -0
  385. package/vendor/public/assets/icons/bold/circle-dashed-bold.svg +1 -0
  386. package/vendor/public/assets/icons/bold/circle-half-bold.svg +1 -0
  387. package/vendor/public/assets/icons/bold/circle-half-tilt-bold.svg +1 -0
  388. package/vendor/public/assets/icons/bold/circle-notch-bold.svg +1 -0
  389. package/vendor/public/assets/icons/bold/circles-four-bold.svg +1 -0
  390. package/vendor/public/assets/icons/bold/circles-three-bold.svg +1 -0
  391. package/vendor/public/assets/icons/bold/circles-three-plus-bold.svg +1 -0
  392. package/vendor/public/assets/icons/bold/circuitry-bold.svg +1 -0
  393. package/vendor/public/assets/icons/bold/city-bold.svg +1 -0
  394. package/vendor/public/assets/icons/bold/clipboard-bold.svg +1 -0
  395. package/vendor/public/assets/icons/bold/clipboard-text-bold.svg +1 -0
  396. package/vendor/public/assets/icons/bold/clock-afternoon-bold.svg +1 -0
  397. package/vendor/public/assets/icons/bold/clock-bold.svg +1 -0
  398. package/vendor/public/assets/icons/bold/clock-clockwise-bold.svg +1 -0
  399. package/vendor/public/assets/icons/bold/clock-countdown-bold.svg +1 -0
  400. package/vendor/public/assets/icons/bold/clock-counter-clockwise-bold.svg +1 -0
  401. package/vendor/public/assets/icons/bold/clock-user-bold.svg +1 -0
  402. package/vendor/public/assets/icons/bold/closed-captioning-bold.svg +1 -0
  403. package/vendor/public/assets/icons/bold/cloud-arrow-down-bold.svg +1 -0
  404. package/vendor/public/assets/icons/bold/cloud-arrow-up-bold.svg +1 -0
  405. package/vendor/public/assets/icons/bold/cloud-bold.svg +1 -0
  406. package/vendor/public/assets/icons/bold/cloud-check-bold.svg +1 -0
  407. package/vendor/public/assets/icons/bold/cloud-fog-bold.svg +1 -0
  408. package/vendor/public/assets/icons/bold/cloud-lightning-bold.svg +1 -0
  409. package/vendor/public/assets/icons/bold/cloud-moon-bold.svg +1 -0
  410. package/vendor/public/assets/icons/bold/cloud-rain-bold.svg +1 -0
  411. package/vendor/public/assets/icons/bold/cloud-slash-bold.svg +1 -0
  412. package/vendor/public/assets/icons/bold/cloud-snow-bold.svg +1 -0
  413. package/vendor/public/assets/icons/bold/cloud-sun-bold.svg +1 -0
  414. package/vendor/public/assets/icons/bold/cloud-warning-bold.svg +1 -0
  415. package/vendor/public/assets/icons/bold/cloud-x-bold.svg +1 -0
  416. package/vendor/public/assets/icons/bold/clover-bold.svg +1 -0
  417. package/vendor/public/assets/icons/bold/club-bold.svg +1 -0
  418. package/vendor/public/assets/icons/bold/coat-hanger-bold.svg +1 -0
  419. package/vendor/public/assets/icons/bold/coda-logo-bold.svg +1 -0
  420. package/vendor/public/assets/icons/bold/code-block-bold.svg +1 -0
  421. package/vendor/public/assets/icons/bold/code-bold.svg +1 -0
  422. package/vendor/public/assets/icons/bold/code-simple-bold.svg +1 -0
  423. package/vendor/public/assets/icons/bold/codepen-logo-bold.svg +1 -0
  424. package/vendor/public/assets/icons/bold/codesandbox-logo-bold.svg +1 -0
  425. package/vendor/public/assets/icons/bold/coffee-bean-bold.svg +1 -0
  426. package/vendor/public/assets/icons/bold/coffee-bold.svg +1 -0
  427. package/vendor/public/assets/icons/bold/coin-bold.svg +1 -0
  428. package/vendor/public/assets/icons/bold/coin-vertical-bold.svg +1 -0
  429. package/vendor/public/assets/icons/bold/coins-bold.svg +1 -0
  430. package/vendor/public/assets/icons/bold/columns-bold.svg +1 -0
  431. package/vendor/public/assets/icons/bold/columns-plus-left-bold.svg +1 -0
  432. package/vendor/public/assets/icons/bold/columns-plus-right-bold.svg +1 -0
  433. package/vendor/public/assets/icons/bold/command-bold.svg +1 -0
  434. package/vendor/public/assets/icons/bold/compass-bold.svg +1 -0
  435. package/vendor/public/assets/icons/bold/compass-rose-bold.svg +1 -0
  436. package/vendor/public/assets/icons/bold/compass-tool-bold.svg +1 -0
  437. package/vendor/public/assets/icons/bold/computer-tower-bold.svg +1 -0
  438. package/vendor/public/assets/icons/bold/confetti-bold.svg +1 -0
  439. package/vendor/public/assets/icons/bold/contactless-payment-bold.svg +1 -0
  440. package/vendor/public/assets/icons/bold/control-bold.svg +1 -0
  441. package/vendor/public/assets/icons/bold/cookie-bold.svg +1 -0
  442. package/vendor/public/assets/icons/bold/cooking-pot-bold.svg +1 -0
  443. package/vendor/public/assets/icons/bold/copy-bold.svg +1 -0
  444. package/vendor/public/assets/icons/bold/copy-simple-bold.svg +1 -0
  445. package/vendor/public/assets/icons/bold/copyleft-bold.svg +1 -0
  446. package/vendor/public/assets/icons/bold/copyright-bold.svg +1 -0
  447. package/vendor/public/assets/icons/bold/corners-in-bold.svg +1 -0
  448. package/vendor/public/assets/icons/bold/corners-out-bold.svg +1 -0
  449. package/vendor/public/assets/icons/bold/couch-bold.svg +1 -0
  450. package/vendor/public/assets/icons/bold/court-basketball-bold.svg +1 -0
  451. package/vendor/public/assets/icons/bold/cow-bold.svg +1 -0
  452. package/vendor/public/assets/icons/bold/cowboy-hat-bold.svg +1 -0
  453. package/vendor/public/assets/icons/bold/cpu-bold.svg +1 -0
  454. package/vendor/public/assets/icons/bold/crane-bold.svg +1 -0
  455. package/vendor/public/assets/icons/bold/crane-tower-bold.svg +1 -0
  456. package/vendor/public/assets/icons/bold/credit-card-bold.svg +1 -0
  457. package/vendor/public/assets/icons/bold/cricket-bold.svg +1 -0
  458. package/vendor/public/assets/icons/bold/crop-bold.svg +1 -0
  459. package/vendor/public/assets/icons/bold/cross-bold.svg +1 -0
  460. package/vendor/public/assets/icons/bold/crosshair-bold.svg +1 -0
  461. package/vendor/public/assets/icons/bold/crosshair-simple-bold.svg +1 -0
  462. package/vendor/public/assets/icons/bold/crown-bold.svg +1 -0
  463. package/vendor/public/assets/icons/bold/crown-cross-bold.svg +1 -0
  464. package/vendor/public/assets/icons/bold/crown-simple-bold.svg +1 -0
  465. package/vendor/public/assets/icons/bold/cube-bold.svg +1 -0
  466. package/vendor/public/assets/icons/bold/cube-focus-bold.svg +1 -0
  467. package/vendor/public/assets/icons/bold/cube-transparent-bold.svg +1 -0
  468. package/vendor/public/assets/icons/bold/currency-btc-bold.svg +1 -0
  469. package/vendor/public/assets/icons/bold/currency-circle-dollar-bold.svg +1 -0
  470. package/vendor/public/assets/icons/bold/currency-cny-bold.svg +1 -0
  471. package/vendor/public/assets/icons/bold/currency-dollar-bold.svg +1 -0
  472. package/vendor/public/assets/icons/bold/currency-dollar-simple-bold.svg +1 -0
  473. package/vendor/public/assets/icons/bold/currency-eth-bold.svg +1 -0
  474. package/vendor/public/assets/icons/bold/currency-eur-bold.svg +1 -0
  475. package/vendor/public/assets/icons/bold/currency-gbp-bold.svg +1 -0
  476. package/vendor/public/assets/icons/bold/currency-inr-bold.svg +1 -0
  477. package/vendor/public/assets/icons/bold/currency-jpy-bold.svg +1 -0
  478. package/vendor/public/assets/icons/bold/currency-krw-bold.svg +1 -0
  479. package/vendor/public/assets/icons/bold/currency-kzt-bold.svg +1 -0
  480. package/vendor/public/assets/icons/bold/currency-ngn-bold.svg +1 -0
  481. package/vendor/public/assets/icons/bold/currency-rub-bold.svg +1 -0
  482. package/vendor/public/assets/icons/bold/cursor-bold.svg +1 -0
  483. package/vendor/public/assets/icons/bold/cursor-click-bold.svg +1 -0
  484. package/vendor/public/assets/icons/bold/cursor-text-bold.svg +1 -0
  485. package/vendor/public/assets/icons/bold/cylinder-bold.svg +1 -0
  486. package/vendor/public/assets/icons/bold/database-bold.svg +1 -0
  487. package/vendor/public/assets/icons/bold/desk-bold.svg +1 -0
  488. package/vendor/public/assets/icons/bold/desktop-bold.svg +1 -0
  489. package/vendor/public/assets/icons/bold/desktop-tower-bold.svg +1 -0
  490. package/vendor/public/assets/icons/bold/detective-bold.svg +1 -0
  491. package/vendor/public/assets/icons/bold/dev-to-logo-bold.svg +1 -0
  492. package/vendor/public/assets/icons/bold/device-mobile-bold.svg +1 -0
  493. package/vendor/public/assets/icons/bold/device-mobile-camera-bold.svg +1 -0
  494. package/vendor/public/assets/icons/bold/device-mobile-slash-bold.svg +1 -0
  495. package/vendor/public/assets/icons/bold/device-mobile-speaker-bold.svg +1 -0
  496. package/vendor/public/assets/icons/bold/device-rotate-bold.svg +1 -0
  497. package/vendor/public/assets/icons/bold/device-tablet-bold.svg +1 -0
  498. package/vendor/public/assets/icons/bold/device-tablet-camera-bold.svg +1 -0
  499. package/vendor/public/assets/icons/bold/device-tablet-speaker-bold.svg +1 -0
  500. package/vendor/public/assets/icons/bold/devices-bold.svg +1 -0
  501. package/vendor/public/assets/icons/bold/diamond-bold.svg +1 -0
  502. package/vendor/public/assets/icons/bold/diamonds-four-bold.svg +1 -0
  503. package/vendor/public/assets/icons/bold/dice-five-bold.svg +1 -0
  504. package/vendor/public/assets/icons/bold/dice-four-bold.svg +1 -0
  505. package/vendor/public/assets/icons/bold/dice-one-bold.svg +1 -0
  506. package/vendor/public/assets/icons/bold/dice-six-bold.svg +1 -0
  507. package/vendor/public/assets/icons/bold/dice-three-bold.svg +1 -0
  508. package/vendor/public/assets/icons/bold/dice-two-bold.svg +1 -0
  509. package/vendor/public/assets/icons/bold/disc-bold.svg +1 -0
  510. package/vendor/public/assets/icons/bold/disco-ball-bold.svg +1 -0
  511. package/vendor/public/assets/icons/bold/discord-logo-bold.svg +1 -0
  512. package/vendor/public/assets/icons/bold/divide-bold.svg +1 -0
  513. package/vendor/public/assets/icons/bold/dna-bold.svg +1 -0
  514. package/vendor/public/assets/icons/bold/dog-bold.svg +1 -0
  515. package/vendor/public/assets/icons/bold/door-bold.svg +1 -0
  516. package/vendor/public/assets/icons/bold/door-open-bold.svg +1 -0
  517. package/vendor/public/assets/icons/bold/dot-bold.svg +1 -0
  518. package/vendor/public/assets/icons/bold/dot-outline-bold.svg +1 -0
  519. package/vendor/public/assets/icons/bold/dots-nine-bold.svg +1 -0
  520. package/vendor/public/assets/icons/bold/dots-six-bold.svg +1 -0
  521. package/vendor/public/assets/icons/bold/dots-six-vertical-bold.svg +1 -0
  522. package/vendor/public/assets/icons/bold/dots-three-bold.svg +1 -0
  523. package/vendor/public/assets/icons/bold/dots-three-circle-bold.svg +1 -0
  524. package/vendor/public/assets/icons/bold/dots-three-circle-vertical-bold.svg +1 -0
  525. package/vendor/public/assets/icons/bold/dots-three-outline-bold.svg +1 -0
  526. package/vendor/public/assets/icons/bold/dots-three-outline-vertical-bold.svg +1 -0
  527. package/vendor/public/assets/icons/bold/dots-three-vertical-bold.svg +1 -0
  528. package/vendor/public/assets/icons/bold/download-bold.svg +1 -0
  529. package/vendor/public/assets/icons/bold/download-simple-bold.svg +1 -0
  530. package/vendor/public/assets/icons/bold/dress-bold.svg +1 -0
  531. package/vendor/public/assets/icons/bold/dresser-bold.svg +1 -0
  532. package/vendor/public/assets/icons/bold/dribbble-logo-bold.svg +1 -0
  533. package/vendor/public/assets/icons/bold/drone-bold.svg +1 -0
  534. package/vendor/public/assets/icons/bold/drop-bold.svg +1 -0
  535. package/vendor/public/assets/icons/bold/drop-half-bold.svg +1 -0
  536. package/vendor/public/assets/icons/bold/drop-half-bottom-bold.svg +1 -0
  537. package/vendor/public/assets/icons/bold/drop-simple-bold.svg +1 -0
  538. package/vendor/public/assets/icons/bold/drop-slash-bold.svg +1 -0
  539. package/vendor/public/assets/icons/bold/dropbox-logo-bold.svg +1 -0
  540. package/vendor/public/assets/icons/bold/ear-bold.svg +1 -0
  541. package/vendor/public/assets/icons/bold/ear-slash-bold.svg +1 -0
  542. package/vendor/public/assets/icons/bold/egg-bold.svg +1 -0
  543. package/vendor/public/assets/icons/bold/egg-crack-bold.svg +1 -0
  544. package/vendor/public/assets/icons/bold/eject-bold.svg +1 -0
  545. package/vendor/public/assets/icons/bold/eject-simple-bold.svg +1 -0
  546. package/vendor/public/assets/icons/bold/elevator-bold.svg +1 -0
  547. package/vendor/public/assets/icons/bold/empty-bold.svg +1 -0
  548. package/vendor/public/assets/icons/bold/engine-bold.svg +1 -0
  549. package/vendor/public/assets/icons/bold/envelope-bold.svg +1 -0
  550. package/vendor/public/assets/icons/bold/envelope-open-bold.svg +1 -0
  551. package/vendor/public/assets/icons/bold/envelope-simple-bold.svg +1 -0
  552. package/vendor/public/assets/icons/bold/envelope-simple-open-bold.svg +1 -0
  553. package/vendor/public/assets/icons/bold/equalizer-bold.svg +1 -0
  554. package/vendor/public/assets/icons/bold/equals-bold.svg +1 -0
  555. package/vendor/public/assets/icons/bold/eraser-bold.svg +1 -0
  556. package/vendor/public/assets/icons/bold/escalator-down-bold.svg +1 -0
  557. package/vendor/public/assets/icons/bold/escalator-up-bold.svg +1 -0
  558. package/vendor/public/assets/icons/bold/exam-bold.svg +1 -0
  559. package/vendor/public/assets/icons/bold/exclamation-mark-bold.svg +1 -0
  560. package/vendor/public/assets/icons/bold/exclude-bold.svg +1 -0
  561. package/vendor/public/assets/icons/bold/exclude-square-bold.svg +1 -0
  562. package/vendor/public/assets/icons/bold/export-bold.svg +1 -0
  563. package/vendor/public/assets/icons/bold/eye-bold.svg +1 -0
  564. package/vendor/public/assets/icons/bold/eye-closed-bold.svg +1 -0
  565. package/vendor/public/assets/icons/bold/eye-slash-bold.svg +1 -0
  566. package/vendor/public/assets/icons/bold/eyedropper-bold.svg +1 -0
  567. package/vendor/public/assets/icons/bold/eyedropper-sample-bold.svg +1 -0
  568. package/vendor/public/assets/icons/bold/eyeglasses-bold.svg +1 -0
  569. package/vendor/public/assets/icons/bold/eyes-bold.svg +1 -0
  570. package/vendor/public/assets/icons/bold/face-mask-bold.svg +1 -0
  571. package/vendor/public/assets/icons/bold/facebook-logo-bold.svg +1 -0
  572. package/vendor/public/assets/icons/bold/factory-bold.svg +1 -0
  573. package/vendor/public/assets/icons/bold/faders-bold.svg +1 -0
  574. package/vendor/public/assets/icons/bold/faders-horizontal-bold.svg +1 -0
  575. package/vendor/public/assets/icons/bold/fallout-shelter-bold.svg +1 -0
  576. package/vendor/public/assets/icons/bold/fan-bold.svg +1 -0
  577. package/vendor/public/assets/icons/bold/farm-bold.svg +1 -0
  578. package/vendor/public/assets/icons/bold/fast-forward-bold.svg +1 -0
  579. package/vendor/public/assets/icons/bold/fast-forward-circle-bold.svg +1 -0
  580. package/vendor/public/assets/icons/bold/feather-bold.svg +1 -0
  581. package/vendor/public/assets/icons/bold/fediverse-logo-bold.svg +1 -0
  582. package/vendor/public/assets/icons/bold/figma-logo-bold.svg +1 -0
  583. package/vendor/public/assets/icons/bold/file-archive-bold.svg +1 -0
  584. package/vendor/public/assets/icons/bold/file-arrow-down-bold.svg +1 -0
  585. package/vendor/public/assets/icons/bold/file-arrow-up-bold.svg +1 -0
  586. package/vendor/public/assets/icons/bold/file-audio-bold.svg +1 -0
  587. package/vendor/public/assets/icons/bold/file-bold.svg +1 -0
  588. package/vendor/public/assets/icons/bold/file-c-bold.svg +1 -0
  589. package/vendor/public/assets/icons/bold/file-c-sharp-bold.svg +1 -0
  590. package/vendor/public/assets/icons/bold/file-cloud-bold.svg +1 -0
  591. package/vendor/public/assets/icons/bold/file-code-bold.svg +1 -0
  592. package/vendor/public/assets/icons/bold/file-cpp-bold.svg +1 -0
  593. package/vendor/public/assets/icons/bold/file-css-bold.svg +1 -0
  594. package/vendor/public/assets/icons/bold/file-csv-bold.svg +1 -0
  595. package/vendor/public/assets/icons/bold/file-dashed-bold.svg +1 -0
  596. package/vendor/public/assets/icons/bold/file-doc-bold.svg +1 -0
  597. package/vendor/public/assets/icons/bold/file-html-bold.svg +1 -0
  598. package/vendor/public/assets/icons/bold/file-image-bold.svg +1 -0
  599. package/vendor/public/assets/icons/bold/file-ini-bold.svg +1 -0
  600. package/vendor/public/assets/icons/bold/file-jpg-bold.svg +1 -0
  601. package/vendor/public/assets/icons/bold/file-js-bold.svg +1 -0
  602. package/vendor/public/assets/icons/bold/file-jsx-bold.svg +1 -0
  603. package/vendor/public/assets/icons/bold/file-lock-bold.svg +1 -0
  604. package/vendor/public/assets/icons/bold/file-magnifying-glass-bold.svg +1 -0
  605. package/vendor/public/assets/icons/bold/file-md-bold.svg +1 -0
  606. package/vendor/public/assets/icons/bold/file-minus-bold.svg +1 -0
  607. package/vendor/public/assets/icons/bold/file-pdf-bold.svg +1 -0
  608. package/vendor/public/assets/icons/bold/file-plus-bold.svg +1 -0
  609. package/vendor/public/assets/icons/bold/file-png-bold.svg +1 -0
  610. package/vendor/public/assets/icons/bold/file-ppt-bold.svg +1 -0
  611. package/vendor/public/assets/icons/bold/file-py-bold.svg +1 -0
  612. package/vendor/public/assets/icons/bold/file-rs-bold.svg +1 -0
  613. package/vendor/public/assets/icons/bold/file-sql-bold.svg +1 -0
  614. package/vendor/public/assets/icons/bold/file-svg-bold.svg +1 -0
  615. package/vendor/public/assets/icons/bold/file-text-bold.svg +1 -0
  616. package/vendor/public/assets/icons/bold/file-ts-bold.svg +1 -0
  617. package/vendor/public/assets/icons/bold/file-tsx-bold.svg +1 -0
  618. package/vendor/public/assets/icons/bold/file-txt-bold.svg +1 -0
  619. package/vendor/public/assets/icons/bold/file-video-bold.svg +1 -0
  620. package/vendor/public/assets/icons/bold/file-vue-bold.svg +1 -0
  621. package/vendor/public/assets/icons/bold/file-x-bold.svg +1 -0
  622. package/vendor/public/assets/icons/bold/file-xls-bold.svg +1 -0
  623. package/vendor/public/assets/icons/bold/file-zip-bold.svg +1 -0
  624. package/vendor/public/assets/icons/bold/files-bold.svg +1 -0
  625. package/vendor/public/assets/icons/bold/film-reel-bold.svg +1 -0
  626. package/vendor/public/assets/icons/bold/film-script-bold.svg +1 -0
  627. package/vendor/public/assets/icons/bold/film-slate-bold.svg +1 -0
  628. package/vendor/public/assets/icons/bold/film-strip-bold.svg +1 -0
  629. package/vendor/public/assets/icons/bold/fingerprint-bold.svg +1 -0
  630. package/vendor/public/assets/icons/bold/fingerprint-simple-bold.svg +1 -0
  631. package/vendor/public/assets/icons/bold/finn-the-human-bold.svg +1 -0
  632. package/vendor/public/assets/icons/bold/fire-bold.svg +1 -0
  633. package/vendor/public/assets/icons/bold/fire-extinguisher-bold.svg +1 -0
  634. package/vendor/public/assets/icons/bold/fire-simple-bold.svg +1 -0
  635. package/vendor/public/assets/icons/bold/fire-truck-bold.svg +1 -0
  636. package/vendor/public/assets/icons/bold/first-aid-bold.svg +1 -0
  637. package/vendor/public/assets/icons/bold/first-aid-kit-bold.svg +1 -0
  638. package/vendor/public/assets/icons/bold/fish-bold.svg +1 -0
  639. package/vendor/public/assets/icons/bold/fish-simple-bold.svg +1 -0
  640. package/vendor/public/assets/icons/bold/flag-banner-bold.svg +1 -0
  641. package/vendor/public/assets/icons/bold/flag-banner-fold-bold.svg +1 -0
  642. package/vendor/public/assets/icons/bold/flag-bold.svg +1 -0
  643. package/vendor/public/assets/icons/bold/flag-checkered-bold.svg +1 -0
  644. package/vendor/public/assets/icons/bold/flag-pennant-bold.svg +1 -0
  645. package/vendor/public/assets/icons/bold/flame-bold.svg +1 -0
  646. package/vendor/public/assets/icons/bold/flashlight-bold.svg +1 -0
  647. package/vendor/public/assets/icons/bold/flask-bold.svg +1 -0
  648. package/vendor/public/assets/icons/bold/flip-horizontal-bold.svg +1 -0
  649. package/vendor/public/assets/icons/bold/flip-vertical-bold.svg +1 -0
  650. package/vendor/public/assets/icons/bold/floppy-disk-back-bold.svg +1 -0
  651. package/vendor/public/assets/icons/bold/floppy-disk-bold.svg +1 -0
  652. package/vendor/public/assets/icons/bold/flow-arrow-bold.svg +1 -0
  653. package/vendor/public/assets/icons/bold/flower-bold.svg +1 -0
  654. package/vendor/public/assets/icons/bold/flower-lotus-bold.svg +1 -0
  655. package/vendor/public/assets/icons/bold/flower-tulip-bold.svg +1 -0
  656. package/vendor/public/assets/icons/bold/flying-saucer-bold.svg +1 -0
  657. package/vendor/public/assets/icons/bold/folder-bold.svg +1 -0
  658. package/vendor/public/assets/icons/bold/folder-dashed-bold.svg +1 -0
  659. package/vendor/public/assets/icons/bold/folder-lock-bold.svg +1 -0
  660. package/vendor/public/assets/icons/bold/folder-minus-bold.svg +1 -0
  661. package/vendor/public/assets/icons/bold/folder-open-bold.svg +1 -0
  662. package/vendor/public/assets/icons/bold/folder-plus-bold.svg +1 -0
  663. package/vendor/public/assets/icons/bold/folder-simple-bold.svg +1 -0
  664. package/vendor/public/assets/icons/bold/folder-simple-dashed-bold.svg +1 -0
  665. package/vendor/public/assets/icons/bold/folder-simple-lock-bold.svg +1 -0
  666. package/vendor/public/assets/icons/bold/folder-simple-minus-bold.svg +1 -0
  667. package/vendor/public/assets/icons/bold/folder-simple-plus-bold.svg +1 -0
  668. package/vendor/public/assets/icons/bold/folder-simple-star-bold.svg +1 -0
  669. package/vendor/public/assets/icons/bold/folder-simple-user-bold.svg +1 -0
  670. package/vendor/public/assets/icons/bold/folder-star-bold.svg +1 -0
  671. package/vendor/public/assets/icons/bold/folder-user-bold.svg +1 -0
  672. package/vendor/public/assets/icons/bold/folders-bold.svg +1 -0
  673. package/vendor/public/assets/icons/bold/football-bold.svg +1 -0
  674. package/vendor/public/assets/icons/bold/football-helmet-bold.svg +1 -0
  675. package/vendor/public/assets/icons/bold/footprints-bold.svg +1 -0
  676. package/vendor/public/assets/icons/bold/fork-knife-bold.svg +1 -0
  677. package/vendor/public/assets/icons/bold/four-k-bold.svg +1 -0
  678. package/vendor/public/assets/icons/bold/frame-corners-bold.svg +1 -0
  679. package/vendor/public/assets/icons/bold/framer-logo-bold.svg +1 -0
  680. package/vendor/public/assets/icons/bold/function-bold.svg +1 -0
  681. package/vendor/public/assets/icons/bold/funnel-bold.svg +1 -0
  682. package/vendor/public/assets/icons/bold/funnel-simple-bold.svg +1 -0
  683. package/vendor/public/assets/icons/bold/funnel-simple-x-bold.svg +1 -0
  684. package/vendor/public/assets/icons/bold/funnel-x-bold.svg +1 -0
  685. package/vendor/public/assets/icons/bold/game-controller-bold.svg +1 -0
  686. package/vendor/public/assets/icons/bold/garage-bold.svg +1 -0
  687. package/vendor/public/assets/icons/bold/gas-can-bold.svg +1 -0
  688. package/vendor/public/assets/icons/bold/gas-pump-bold.svg +1 -0
  689. package/vendor/public/assets/icons/bold/gauge-bold.svg +1 -0
  690. package/vendor/public/assets/icons/bold/gavel-bold.svg +1 -0
  691. package/vendor/public/assets/icons/bold/gear-bold.svg +1 -0
  692. package/vendor/public/assets/icons/bold/gear-fine-bold.svg +1 -0
  693. package/vendor/public/assets/icons/bold/gear-six-bold.svg +1 -0
  694. package/vendor/public/assets/icons/bold/gender-female-bold.svg +1 -0
  695. package/vendor/public/assets/icons/bold/gender-intersex-bold.svg +1 -0
  696. package/vendor/public/assets/icons/bold/gender-male-bold.svg +1 -0
  697. package/vendor/public/assets/icons/bold/gender-neuter-bold.svg +1 -0
  698. package/vendor/public/assets/icons/bold/gender-nonbinary-bold.svg +1 -0
  699. package/vendor/public/assets/icons/bold/gender-transgender-bold.svg +1 -0
  700. package/vendor/public/assets/icons/bold/ghost-bold.svg +1 -0
  701. package/vendor/public/assets/icons/bold/gif-bold.svg +1 -0
  702. package/vendor/public/assets/icons/bold/gift-bold.svg +1 -0
  703. package/vendor/public/assets/icons/bold/git-branch-bold.svg +1 -0
  704. package/vendor/public/assets/icons/bold/git-commit-bold.svg +1 -0
  705. package/vendor/public/assets/icons/bold/git-diff-bold.svg +1 -0
  706. package/vendor/public/assets/icons/bold/git-fork-bold.svg +1 -0
  707. package/vendor/public/assets/icons/bold/git-merge-bold.svg +1 -0
  708. package/vendor/public/assets/icons/bold/git-pull-request-bold.svg +1 -0
  709. package/vendor/public/assets/icons/bold/github-logo-bold.svg +1 -0
  710. package/vendor/public/assets/icons/bold/gitlab-logo-bold.svg +1 -0
  711. package/vendor/public/assets/icons/bold/gitlab-logo-simple-bold.svg +1 -0
  712. package/vendor/public/assets/icons/bold/globe-bold.svg +1 -0
  713. package/vendor/public/assets/icons/bold/globe-hemisphere-east-bold.svg +1 -0
  714. package/vendor/public/assets/icons/bold/globe-hemisphere-west-bold.svg +1 -0
  715. package/vendor/public/assets/icons/bold/globe-simple-bold.svg +1 -0
  716. package/vendor/public/assets/icons/bold/globe-simple-x-bold.svg +1 -0
  717. package/vendor/public/assets/icons/bold/globe-stand-bold.svg +1 -0
  718. package/vendor/public/assets/icons/bold/globe-x-bold.svg +1 -0
  719. package/vendor/public/assets/icons/bold/goggles-bold.svg +1 -0
  720. package/vendor/public/assets/icons/bold/golf-bold.svg +1 -0
  721. package/vendor/public/assets/icons/bold/goodreads-logo-bold.svg +1 -0
  722. package/vendor/public/assets/icons/bold/google-cardboard-logo-bold.svg +1 -0
  723. package/vendor/public/assets/icons/bold/google-chrome-logo-bold.svg +1 -0
  724. package/vendor/public/assets/icons/bold/google-drive-logo-bold.svg +1 -0
  725. package/vendor/public/assets/icons/bold/google-logo-bold.svg +1 -0
  726. package/vendor/public/assets/icons/bold/google-photos-logo-bold.svg +1 -0
  727. package/vendor/public/assets/icons/bold/google-play-logo-bold.svg +1 -0
  728. package/vendor/public/assets/icons/bold/google-podcasts-logo-bold.svg +1 -0
  729. package/vendor/public/assets/icons/bold/gps-bold.svg +1 -0
  730. package/vendor/public/assets/icons/bold/gps-fix-bold.svg +1 -0
  731. package/vendor/public/assets/icons/bold/gps-slash-bold.svg +1 -0
  732. package/vendor/public/assets/icons/bold/gradient-bold.svg +1 -0
  733. package/vendor/public/assets/icons/bold/graduation-cap-bold.svg +1 -0
  734. package/vendor/public/assets/icons/bold/grains-bold.svg +1 -0
  735. package/vendor/public/assets/icons/bold/grains-slash-bold.svg +1 -0
  736. package/vendor/public/assets/icons/bold/graph-bold.svg +1 -0
  737. package/vendor/public/assets/icons/bold/graphics-card-bold.svg +1 -0
  738. package/vendor/public/assets/icons/bold/greater-than-bold.svg +1 -0
  739. package/vendor/public/assets/icons/bold/greater-than-or-equal-bold.svg +1 -0
  740. package/vendor/public/assets/icons/bold/grid-four-bold.svg +1 -0
  741. package/vendor/public/assets/icons/bold/grid-nine-bold.svg +1 -0
  742. package/vendor/public/assets/icons/bold/guitar-bold.svg +1 -0
  743. package/vendor/public/assets/icons/bold/hair-dryer-bold.svg +1 -0
  744. package/vendor/public/assets/icons/bold/hamburger-bold.svg +1 -0
  745. package/vendor/public/assets/icons/bold/hammer-bold.svg +1 -0
  746. package/vendor/public/assets/icons/bold/hand-arrow-down-bold.svg +1 -0
  747. package/vendor/public/assets/icons/bold/hand-arrow-up-bold.svg +1 -0
  748. package/vendor/public/assets/icons/bold/hand-bold.svg +1 -0
  749. package/vendor/public/assets/icons/bold/hand-coins-bold.svg +1 -0
  750. package/vendor/public/assets/icons/bold/hand-deposit-bold.svg +1 -0
  751. package/vendor/public/assets/icons/bold/hand-eye-bold.svg +1 -0
  752. package/vendor/public/assets/icons/bold/hand-fist-bold.svg +1 -0
  753. package/vendor/public/assets/icons/bold/hand-grabbing-bold.svg +1 -0
  754. package/vendor/public/assets/icons/bold/hand-heart-bold.svg +1 -0
  755. package/vendor/public/assets/icons/bold/hand-palm-bold.svg +1 -0
  756. package/vendor/public/assets/icons/bold/hand-peace-bold.svg +1 -0
  757. package/vendor/public/assets/icons/bold/hand-pointing-bold.svg +1 -0
  758. package/vendor/public/assets/icons/bold/hand-soap-bold.svg +1 -0
  759. package/vendor/public/assets/icons/bold/hand-swipe-left-bold.svg +1 -0
  760. package/vendor/public/assets/icons/bold/hand-swipe-right-bold.svg +1 -0
  761. package/vendor/public/assets/icons/bold/hand-tap-bold.svg +1 -0
  762. package/vendor/public/assets/icons/bold/hand-waving-bold.svg +1 -0
  763. package/vendor/public/assets/icons/bold/hand-withdraw-bold.svg +1 -0
  764. package/vendor/public/assets/icons/bold/handbag-bold.svg +1 -0
  765. package/vendor/public/assets/icons/bold/handbag-simple-bold.svg +1 -0
  766. package/vendor/public/assets/icons/bold/hands-clapping-bold.svg +1 -0
  767. package/vendor/public/assets/icons/bold/hands-praying-bold.svg +1 -0
  768. package/vendor/public/assets/icons/bold/handshake-bold.svg +1 -0
  769. package/vendor/public/assets/icons/bold/hard-drive-bold.svg +1 -0
  770. package/vendor/public/assets/icons/bold/hard-drives-bold.svg +1 -0
  771. package/vendor/public/assets/icons/bold/hard-hat-bold.svg +1 -0
  772. package/vendor/public/assets/icons/bold/hash-bold.svg +1 -0
  773. package/vendor/public/assets/icons/bold/hash-straight-bold.svg +1 -0
  774. package/vendor/public/assets/icons/bold/head-circuit-bold.svg +1 -0
  775. package/vendor/public/assets/icons/bold/headlights-bold.svg +1 -0
  776. package/vendor/public/assets/icons/bold/headphones-bold.svg +1 -0
  777. package/vendor/public/assets/icons/bold/headset-bold.svg +1 -0
  778. package/vendor/public/assets/icons/bold/heart-bold.svg +1 -0
  779. package/vendor/public/assets/icons/bold/heart-break-bold.svg +1 -0
  780. package/vendor/public/assets/icons/bold/heart-half-bold.svg +1 -0
  781. package/vendor/public/assets/icons/bold/heart-straight-bold.svg +1 -0
  782. package/vendor/public/assets/icons/bold/heart-straight-break-bold.svg +1 -0
  783. package/vendor/public/assets/icons/bold/heartbeat-bold.svg +1 -0
  784. package/vendor/public/assets/icons/bold/hexagon-bold.svg +1 -0
  785. package/vendor/public/assets/icons/bold/high-definition-bold.svg +1 -0
  786. package/vendor/public/assets/icons/bold/high-heel-bold.svg +1 -0
  787. package/vendor/public/assets/icons/bold/highlighter-bold.svg +1 -0
  788. package/vendor/public/assets/icons/bold/highlighter-circle-bold.svg +1 -0
  789. package/vendor/public/assets/icons/bold/hockey-bold.svg +1 -0
  790. package/vendor/public/assets/icons/bold/hoodie-bold.svg +1 -0
  791. package/vendor/public/assets/icons/bold/horse-bold.svg +1 -0
  792. package/vendor/public/assets/icons/bold/hospital-bold.svg +1 -0
  793. package/vendor/public/assets/icons/bold/hourglass-bold.svg +1 -0
  794. package/vendor/public/assets/icons/bold/hourglass-high-bold.svg +1 -0
  795. package/vendor/public/assets/icons/bold/hourglass-low-bold.svg +1 -0
  796. package/vendor/public/assets/icons/bold/hourglass-medium-bold.svg +1 -0
  797. package/vendor/public/assets/icons/bold/hourglass-simple-bold.svg +1 -0
  798. package/vendor/public/assets/icons/bold/hourglass-simple-high-bold.svg +1 -0
  799. package/vendor/public/assets/icons/bold/hourglass-simple-low-bold.svg +1 -0
  800. package/vendor/public/assets/icons/bold/hourglass-simple-medium-bold.svg +1 -0
  801. package/vendor/public/assets/icons/bold/house-bold.svg +1 -0
  802. package/vendor/public/assets/icons/bold/house-line-bold.svg +1 -0
  803. package/vendor/public/assets/icons/bold/house-simple-bold.svg +1 -0
  804. package/vendor/public/assets/icons/bold/hurricane-bold.svg +1 -0
  805. package/vendor/public/assets/icons/bold/ice-cream-bold.svg +1 -0
  806. package/vendor/public/assets/icons/bold/identification-badge-bold.svg +1 -0
  807. package/vendor/public/assets/icons/bold/identification-card-bold.svg +1 -0
  808. package/vendor/public/assets/icons/bold/image-bold.svg +1 -0
  809. package/vendor/public/assets/icons/bold/image-broken-bold.svg +1 -0
  810. package/vendor/public/assets/icons/bold/image-square-bold.svg +1 -0
  811. package/vendor/public/assets/icons/bold/images-bold.svg +1 -0
  812. package/vendor/public/assets/icons/bold/images-square-bold.svg +1 -0
  813. package/vendor/public/assets/icons/bold/infinity-bold.svg +1 -0
  814. package/vendor/public/assets/icons/bold/info-bold.svg +1 -0
  815. package/vendor/public/assets/icons/bold/instagram-logo-bold.svg +1 -0
  816. package/vendor/public/assets/icons/bold/intersect-bold.svg +1 -0
  817. package/vendor/public/assets/icons/bold/intersect-square-bold.svg +1 -0
  818. package/vendor/public/assets/icons/bold/intersect-three-bold.svg +1 -0
  819. package/vendor/public/assets/icons/bold/intersection-bold.svg +1 -0
  820. package/vendor/public/assets/icons/bold/invoice-bold.svg +1 -0
  821. package/vendor/public/assets/icons/bold/island-bold.svg +1 -0
  822. package/vendor/public/assets/icons/bold/jar-bold.svg +1 -0
  823. package/vendor/public/assets/icons/bold/jar-label-bold.svg +1 -0
  824. package/vendor/public/assets/icons/bold/jeep-bold.svg +1 -0
  825. package/vendor/public/assets/icons/bold/joystick-bold.svg +1 -0
  826. package/vendor/public/assets/icons/bold/kanban-bold.svg +1 -0
  827. package/vendor/public/assets/icons/bold/key-bold.svg +1 -0
  828. package/vendor/public/assets/icons/bold/key-return-bold.svg +1 -0
  829. package/vendor/public/assets/icons/bold/keyboard-bold.svg +1 -0
  830. package/vendor/public/assets/icons/bold/keyhole-bold.svg +1 -0
  831. package/vendor/public/assets/icons/bold/knife-bold.svg +1 -0
  832. package/vendor/public/assets/icons/bold/ladder-bold.svg +1 -0
  833. package/vendor/public/assets/icons/bold/ladder-simple-bold.svg +1 -0
  834. package/vendor/public/assets/icons/bold/lamp-bold.svg +1 -0
  835. package/vendor/public/assets/icons/bold/lamp-pendant-bold.svg +1 -0
  836. package/vendor/public/assets/icons/bold/laptop-bold.svg +1 -0
  837. package/vendor/public/assets/icons/bold/lasso-bold.svg +1 -0
  838. package/vendor/public/assets/icons/bold/lastfm-logo-bold.svg +1 -0
  839. package/vendor/public/assets/icons/bold/layout-bold.svg +1 -0
  840. package/vendor/public/assets/icons/bold/leaf-bold.svg +1 -0
  841. package/vendor/public/assets/icons/bold/lectern-bold.svg +1 -0
  842. package/vendor/public/assets/icons/bold/lego-bold.svg +1 -0
  843. package/vendor/public/assets/icons/bold/lego-smiley-bold.svg +1 -0
  844. package/vendor/public/assets/icons/bold/less-than-bold.svg +1 -0
  845. package/vendor/public/assets/icons/bold/less-than-or-equal-bold.svg +1 -0
  846. package/vendor/public/assets/icons/bold/letter-circle-h-bold.svg +1 -0
  847. package/vendor/public/assets/icons/bold/letter-circle-p-bold.svg +1 -0
  848. package/vendor/public/assets/icons/bold/letter-circle-v-bold.svg +1 -0
  849. package/vendor/public/assets/icons/bold/lifebuoy-bold.svg +1 -0
  850. package/vendor/public/assets/icons/bold/lightbulb-bold.svg +1 -0
  851. package/vendor/public/assets/icons/bold/lightbulb-filament-bold.svg +1 -0
  852. package/vendor/public/assets/icons/bold/lighthouse-bold.svg +1 -0
  853. package/vendor/public/assets/icons/bold/lightning-a-bold.svg +1 -0
  854. package/vendor/public/assets/icons/bold/lightning-bold.svg +1 -0
  855. package/vendor/public/assets/icons/bold/lightning-slash-bold.svg +1 -0
  856. package/vendor/public/assets/icons/bold/line-segment-bold.svg +1 -0
  857. package/vendor/public/assets/icons/bold/line-segments-bold.svg +1 -0
  858. package/vendor/public/assets/icons/bold/line-vertical-bold.svg +1 -0
  859. package/vendor/public/assets/icons/bold/link-bold.svg +1 -0
  860. package/vendor/public/assets/icons/bold/link-break-bold.svg +1 -0
  861. package/vendor/public/assets/icons/bold/link-simple-bold.svg +1 -0
  862. package/vendor/public/assets/icons/bold/link-simple-break-bold.svg +1 -0
  863. package/vendor/public/assets/icons/bold/link-simple-horizontal-bold.svg +1 -0
  864. package/vendor/public/assets/icons/bold/link-simple-horizontal-break-bold.svg +1 -0
  865. package/vendor/public/assets/icons/bold/linkedin-logo-bold.svg +1 -0
  866. package/vendor/public/assets/icons/bold/linktree-logo-bold.svg +1 -0
  867. package/vendor/public/assets/icons/bold/linux-logo-bold.svg +1 -0
  868. package/vendor/public/assets/icons/bold/list-bold.svg +1 -0
  869. package/vendor/public/assets/icons/bold/list-bullets-bold.svg +1 -0
  870. package/vendor/public/assets/icons/bold/list-checks-bold.svg +1 -0
  871. package/vendor/public/assets/icons/bold/list-dashes-bold.svg +1 -0
  872. package/vendor/public/assets/icons/bold/list-heart-bold.svg +1 -0
  873. package/vendor/public/assets/icons/bold/list-magnifying-glass-bold.svg +1 -0
  874. package/vendor/public/assets/icons/bold/list-numbers-bold.svg +1 -0
  875. package/vendor/public/assets/icons/bold/list-plus-bold.svg +1 -0
  876. package/vendor/public/assets/icons/bold/list-star-bold.svg +1 -0
  877. package/vendor/public/assets/icons/bold/lock-bold.svg +1 -0
  878. package/vendor/public/assets/icons/bold/lock-key-bold.svg +1 -0
  879. package/vendor/public/assets/icons/bold/lock-key-open-bold.svg +1 -0
  880. package/vendor/public/assets/icons/bold/lock-laminated-bold.svg +1 -0
  881. package/vendor/public/assets/icons/bold/lock-laminated-open-bold.svg +1 -0
  882. package/vendor/public/assets/icons/bold/lock-open-bold.svg +1 -0
  883. package/vendor/public/assets/icons/bold/lock-simple-bold.svg +1 -0
  884. package/vendor/public/assets/icons/bold/lock-simple-open-bold.svg +1 -0
  885. package/vendor/public/assets/icons/bold/lockers-bold.svg +1 -0
  886. package/vendor/public/assets/icons/bold/log-bold.svg +1 -0
  887. package/vendor/public/assets/icons/bold/magic-wand-bold.svg +1 -0
  888. package/vendor/public/assets/icons/bold/magnet-bold.svg +1 -0
  889. package/vendor/public/assets/icons/bold/magnet-straight-bold.svg +1 -0
  890. package/vendor/public/assets/icons/bold/magnifying-glass-bold.svg +1 -0
  891. package/vendor/public/assets/icons/bold/magnifying-glass-minus-bold.svg +1 -0
  892. package/vendor/public/assets/icons/bold/magnifying-glass-plus-bold.svg +1 -0
  893. package/vendor/public/assets/icons/bold/mailbox-bold.svg +1 -0
  894. package/vendor/public/assets/icons/bold/map-pin-area-bold.svg +1 -0
  895. package/vendor/public/assets/icons/bold/map-pin-bold.svg +1 -0
  896. package/vendor/public/assets/icons/bold/map-pin-line-bold.svg +1 -0
  897. package/vendor/public/assets/icons/bold/map-pin-plus-bold.svg +1 -0
  898. package/vendor/public/assets/icons/bold/map-pin-simple-area-bold.svg +1 -0
  899. package/vendor/public/assets/icons/bold/map-pin-simple-bold.svg +1 -0
  900. package/vendor/public/assets/icons/bold/map-pin-simple-line-bold.svg +1 -0
  901. package/vendor/public/assets/icons/bold/map-trifold-bold.svg +1 -0
  902. package/vendor/public/assets/icons/bold/markdown-logo-bold.svg +1 -0
  903. package/vendor/public/assets/icons/bold/marker-circle-bold.svg +1 -0
  904. package/vendor/public/assets/icons/bold/martini-bold.svg +1 -0
  905. package/vendor/public/assets/icons/bold/mask-happy-bold.svg +1 -0
  906. package/vendor/public/assets/icons/bold/mask-sad-bold.svg +1 -0
  907. package/vendor/public/assets/icons/bold/mastodon-logo-bold.svg +1 -0
  908. package/vendor/public/assets/icons/bold/math-operations-bold.svg +1 -0
  909. package/vendor/public/assets/icons/bold/matrix-logo-bold.svg +1 -0
  910. package/vendor/public/assets/icons/bold/medal-bold.svg +1 -0
  911. package/vendor/public/assets/icons/bold/medal-military-bold.svg +1 -0
  912. package/vendor/public/assets/icons/bold/medium-logo-bold.svg +1 -0
  913. package/vendor/public/assets/icons/bold/megaphone-bold.svg +1 -0
  914. package/vendor/public/assets/icons/bold/megaphone-simple-bold.svg +1 -0
  915. package/vendor/public/assets/icons/bold/member-of-bold.svg +1 -0
  916. package/vendor/public/assets/icons/bold/memory-bold.svg +1 -0
  917. package/vendor/public/assets/icons/bold/messenger-logo-bold.svg +1 -0
  918. package/vendor/public/assets/icons/bold/meta-logo-bold.svg +1 -0
  919. package/vendor/public/assets/icons/bold/meteor-bold.svg +1 -0
  920. package/vendor/public/assets/icons/bold/metronome-bold.svg +1 -0
  921. package/vendor/public/assets/icons/bold/microphone-bold.svg +1 -0
  922. package/vendor/public/assets/icons/bold/microphone-slash-bold.svg +1 -0
  923. package/vendor/public/assets/icons/bold/microphone-stage-bold.svg +1 -0
  924. package/vendor/public/assets/icons/bold/microscope-bold.svg +1 -0
  925. package/vendor/public/assets/icons/bold/microsoft-excel-logo-bold.svg +1 -0
  926. package/vendor/public/assets/icons/bold/microsoft-outlook-logo-bold.svg +1 -0
  927. package/vendor/public/assets/icons/bold/microsoft-powerpoint-logo-bold.svg +1 -0
  928. package/vendor/public/assets/icons/bold/microsoft-teams-logo-bold.svg +1 -0
  929. package/vendor/public/assets/icons/bold/microsoft-word-logo-bold.svg +1 -0
  930. package/vendor/public/assets/icons/bold/minus-bold.svg +1 -0
  931. package/vendor/public/assets/icons/bold/minus-circle-bold.svg +1 -0
  932. package/vendor/public/assets/icons/bold/minus-square-bold.svg +1 -0
  933. package/vendor/public/assets/icons/bold/money-bold.svg +1 -0
  934. package/vendor/public/assets/icons/bold/money-wavy-bold.svg +1 -0
  935. package/vendor/public/assets/icons/bold/monitor-arrow-up-bold.svg +1 -0
  936. package/vendor/public/assets/icons/bold/monitor-bold.svg +1 -0
  937. package/vendor/public/assets/icons/bold/monitor-play-bold.svg +1 -0
  938. package/vendor/public/assets/icons/bold/moon-bold.svg +1 -0
  939. package/vendor/public/assets/icons/bold/moon-stars-bold.svg +1 -0
  940. package/vendor/public/assets/icons/bold/moped-bold.svg +1 -0
  941. package/vendor/public/assets/icons/bold/moped-front-bold.svg +1 -0
  942. package/vendor/public/assets/icons/bold/mosque-bold.svg +1 -0
  943. package/vendor/public/assets/icons/bold/motorcycle-bold.svg +1 -0
  944. package/vendor/public/assets/icons/bold/mountains-bold.svg +1 -0
  945. package/vendor/public/assets/icons/bold/mouse-bold.svg +1 -0
  946. package/vendor/public/assets/icons/bold/mouse-left-click-bold.svg +1 -0
  947. package/vendor/public/assets/icons/bold/mouse-middle-click-bold.svg +1 -0
  948. package/vendor/public/assets/icons/bold/mouse-right-click-bold.svg +1 -0
  949. package/vendor/public/assets/icons/bold/mouse-scroll-bold.svg +1 -0
  950. package/vendor/public/assets/icons/bold/mouse-simple-bold.svg +1 -0
  951. package/vendor/public/assets/icons/bold/music-note-bold.svg +1 -0
  952. package/vendor/public/assets/icons/bold/music-note-simple-bold.svg +1 -0
  953. package/vendor/public/assets/icons/bold/music-notes-bold.svg +1 -0
  954. package/vendor/public/assets/icons/bold/music-notes-minus-bold.svg +1 -0
  955. package/vendor/public/assets/icons/bold/music-notes-plus-bold.svg +1 -0
  956. package/vendor/public/assets/icons/bold/music-notes-simple-bold.svg +1 -0
  957. package/vendor/public/assets/icons/bold/navigation-arrow-bold.svg +1 -0
  958. package/vendor/public/assets/icons/bold/needle-bold.svg +1 -0
  959. package/vendor/public/assets/icons/bold/network-bold.svg +1 -0
  960. package/vendor/public/assets/icons/bold/network-slash-bold.svg +1 -0
  961. package/vendor/public/assets/icons/bold/network-x-bold.svg +1 -0
  962. package/vendor/public/assets/icons/bold/newspaper-bold.svg +1 -0
  963. package/vendor/public/assets/icons/bold/newspaper-clipping-bold.svg +1 -0
  964. package/vendor/public/assets/icons/bold/not-equals-bold.svg +1 -0
  965. package/vendor/public/assets/icons/bold/not-member-of-bold.svg +1 -0
  966. package/vendor/public/assets/icons/bold/not-subset-of-bold.svg +1 -0
  967. package/vendor/public/assets/icons/bold/not-superset-of-bold.svg +1 -0
  968. package/vendor/public/assets/icons/bold/notches-bold.svg +1 -0
  969. package/vendor/public/assets/icons/bold/note-blank-bold.svg +1 -0
  970. package/vendor/public/assets/icons/bold/note-bold.svg +1 -0
  971. package/vendor/public/assets/icons/bold/note-pencil-bold.svg +1 -0
  972. package/vendor/public/assets/icons/bold/notebook-bold.svg +1 -0
  973. package/vendor/public/assets/icons/bold/notepad-bold.svg +1 -0
  974. package/vendor/public/assets/icons/bold/notification-bold.svg +1 -0
  975. package/vendor/public/assets/icons/bold/notion-logo-bold.svg +1 -0
  976. package/vendor/public/assets/icons/bold/nuclear-plant-bold.svg +1 -0
  977. package/vendor/public/assets/icons/bold/number-circle-eight-bold.svg +1 -0
  978. package/vendor/public/assets/icons/bold/number-circle-five-bold.svg +1 -0
  979. package/vendor/public/assets/icons/bold/number-circle-four-bold.svg +1 -0
  980. package/vendor/public/assets/icons/bold/number-circle-nine-bold.svg +1 -0
  981. package/vendor/public/assets/icons/bold/number-circle-one-bold.svg +1 -0
  982. package/vendor/public/assets/icons/bold/number-circle-seven-bold.svg +1 -0
  983. package/vendor/public/assets/icons/bold/number-circle-six-bold.svg +1 -0
  984. package/vendor/public/assets/icons/bold/number-circle-three-bold.svg +1 -0
  985. package/vendor/public/assets/icons/bold/number-circle-two-bold.svg +1 -0
  986. package/vendor/public/assets/icons/bold/number-circle-zero-bold.svg +1 -0
  987. package/vendor/public/assets/icons/bold/number-eight-bold.svg +1 -0
  988. package/vendor/public/assets/icons/bold/number-five-bold.svg +1 -0
  989. package/vendor/public/assets/icons/bold/number-four-bold.svg +1 -0
  990. package/vendor/public/assets/icons/bold/number-nine-bold.svg +1 -0
  991. package/vendor/public/assets/icons/bold/number-one-bold.svg +1 -0
  992. package/vendor/public/assets/icons/bold/number-seven-bold.svg +1 -0
  993. package/vendor/public/assets/icons/bold/number-six-bold.svg +1 -0
  994. package/vendor/public/assets/icons/bold/number-square-eight-bold.svg +1 -0
  995. package/vendor/public/assets/icons/bold/number-square-five-bold.svg +1 -0
  996. package/vendor/public/assets/icons/bold/number-square-four-bold.svg +1 -0
  997. package/vendor/public/assets/icons/bold/number-square-nine-bold.svg +1 -0
  998. package/vendor/public/assets/icons/bold/number-square-one-bold.svg +1 -0
  999. package/vendor/public/assets/icons/bold/number-square-seven-bold.svg +1 -0
  1000. package/vendor/public/assets/icons/bold/number-square-six-bold.svg +1 -0
  1001. package/vendor/public/assets/icons/bold/number-square-three-bold.svg +1 -0
  1002. package/vendor/public/assets/icons/bold/number-square-two-bold.svg +1 -0
  1003. package/vendor/public/assets/icons/bold/number-square-zero-bold.svg +1 -0
  1004. package/vendor/public/assets/icons/bold/number-three-bold.svg +1 -0
  1005. package/vendor/public/assets/icons/bold/number-two-bold.svg +1 -0
  1006. package/vendor/public/assets/icons/bold/number-zero-bold.svg +1 -0
  1007. package/vendor/public/assets/icons/bold/numpad-bold.svg +1 -0
  1008. package/vendor/public/assets/icons/bold/nut-bold.svg +1 -0
  1009. package/vendor/public/assets/icons/bold/ny-times-logo-bold.svg +1 -0
  1010. package/vendor/public/assets/icons/bold/octagon-bold.svg +1 -0
  1011. package/vendor/public/assets/icons/bold/office-chair-bold.svg +1 -0
  1012. package/vendor/public/assets/icons/bold/onigiri-bold.svg +1 -0
  1013. package/vendor/public/assets/icons/bold/open-ai-logo-bold.svg +1 -0
  1014. package/vendor/public/assets/icons/bold/option-bold.svg +1 -0
  1015. package/vendor/public/assets/icons/bold/orange-bold.svg +1 -0
  1016. package/vendor/public/assets/icons/bold/orange-slice-bold.svg +1 -0
  1017. package/vendor/public/assets/icons/bold/oven-bold.svg +1 -0
  1018. package/vendor/public/assets/icons/bold/package-bold.svg +1 -0
  1019. package/vendor/public/assets/icons/bold/paint-brush-bold.svg +1 -0
  1020. package/vendor/public/assets/icons/bold/paint-brush-broad-bold.svg +1 -0
  1021. package/vendor/public/assets/icons/bold/paint-brush-household-bold.svg +1 -0
  1022. package/vendor/public/assets/icons/bold/paint-bucket-bold.svg +1 -0
  1023. package/vendor/public/assets/icons/bold/paint-roller-bold.svg +1 -0
  1024. package/vendor/public/assets/icons/bold/palette-bold.svg +1 -0
  1025. package/vendor/public/assets/icons/bold/panorama-bold.svg +1 -0
  1026. package/vendor/public/assets/icons/bold/pants-bold.svg +1 -0
  1027. package/vendor/public/assets/icons/bold/paper-plane-bold.svg +1 -0
  1028. package/vendor/public/assets/icons/bold/paper-plane-right-bold.svg +1 -0
  1029. package/vendor/public/assets/icons/bold/paper-plane-tilt-bold.svg +1 -0
  1030. package/vendor/public/assets/icons/bold/paperclip-bold.svg +1 -0
  1031. package/vendor/public/assets/icons/bold/paperclip-horizontal-bold.svg +1 -0
  1032. package/vendor/public/assets/icons/bold/parachute-bold.svg +1 -0
  1033. package/vendor/public/assets/icons/bold/paragraph-bold.svg +1 -0
  1034. package/vendor/public/assets/icons/bold/parallelogram-bold.svg +1 -0
  1035. package/vendor/public/assets/icons/bold/park-bold.svg +1 -0
  1036. package/vendor/public/assets/icons/bold/password-bold.svg +1 -0
  1037. package/vendor/public/assets/icons/bold/path-bold.svg +1 -0
  1038. package/vendor/public/assets/icons/bold/patreon-logo-bold.svg +1 -0
  1039. package/vendor/public/assets/icons/bold/pause-bold.svg +1 -0
  1040. package/vendor/public/assets/icons/bold/pause-circle-bold.svg +1 -0
  1041. package/vendor/public/assets/icons/bold/paw-print-bold.svg +1 -0
  1042. package/vendor/public/assets/icons/bold/paypal-logo-bold.svg +1 -0
  1043. package/vendor/public/assets/icons/bold/peace-bold.svg +1 -0
  1044. package/vendor/public/assets/icons/bold/pen-bold.svg +1 -0
  1045. package/vendor/public/assets/icons/bold/pen-nib-bold.svg +1 -0
  1046. package/vendor/public/assets/icons/bold/pen-nib-straight-bold.svg +1 -0
  1047. package/vendor/public/assets/icons/bold/pencil-bold.svg +1 -0
  1048. package/vendor/public/assets/icons/bold/pencil-circle-bold.svg +1 -0
  1049. package/vendor/public/assets/icons/bold/pencil-line-bold.svg +1 -0
  1050. package/vendor/public/assets/icons/bold/pencil-ruler-bold.svg +1 -0
  1051. package/vendor/public/assets/icons/bold/pencil-simple-bold.svg +1 -0
  1052. package/vendor/public/assets/icons/bold/pencil-simple-line-bold.svg +1 -0
  1053. package/vendor/public/assets/icons/bold/pencil-simple-slash-bold.svg +1 -0
  1054. package/vendor/public/assets/icons/bold/pencil-slash-bold.svg +1 -0
  1055. package/vendor/public/assets/icons/bold/pentagon-bold.svg +1 -0
  1056. package/vendor/public/assets/icons/bold/pentagram-bold.svg +1 -0
  1057. package/vendor/public/assets/icons/bold/pepper-bold.svg +1 -0
  1058. package/vendor/public/assets/icons/bold/percent-bold.svg +1 -0
  1059. package/vendor/public/assets/icons/bold/person-arms-spread-bold.svg +1 -0
  1060. package/vendor/public/assets/icons/bold/person-bold.svg +1 -0
  1061. package/vendor/public/assets/icons/bold/person-simple-bike-bold.svg +1 -0
  1062. package/vendor/public/assets/icons/bold/person-simple-bold.svg +1 -0
  1063. package/vendor/public/assets/icons/bold/person-simple-circle-bold.svg +1 -0
  1064. package/vendor/public/assets/icons/bold/person-simple-hike-bold.svg +1 -0
  1065. package/vendor/public/assets/icons/bold/person-simple-run-bold.svg +1 -0
  1066. package/vendor/public/assets/icons/bold/person-simple-ski-bold.svg +1 -0
  1067. package/vendor/public/assets/icons/bold/person-simple-snowboard-bold.svg +1 -0
  1068. package/vendor/public/assets/icons/bold/person-simple-swim-bold.svg +1 -0
  1069. package/vendor/public/assets/icons/bold/person-simple-tai-chi-bold.svg +1 -0
  1070. package/vendor/public/assets/icons/bold/person-simple-throw-bold.svg +1 -0
  1071. package/vendor/public/assets/icons/bold/person-simple-walk-bold.svg +1 -0
  1072. package/vendor/public/assets/icons/bold/perspective-bold.svg +1 -0
  1073. package/vendor/public/assets/icons/bold/phone-bold.svg +1 -0
  1074. package/vendor/public/assets/icons/bold/phone-call-bold.svg +1 -0
  1075. package/vendor/public/assets/icons/bold/phone-disconnect-bold.svg +1 -0
  1076. package/vendor/public/assets/icons/bold/phone-incoming-bold.svg +1 -0
  1077. package/vendor/public/assets/icons/bold/phone-list-bold.svg +1 -0
  1078. package/vendor/public/assets/icons/bold/phone-outgoing-bold.svg +1 -0
  1079. package/vendor/public/assets/icons/bold/phone-pause-bold.svg +1 -0
  1080. package/vendor/public/assets/icons/bold/phone-plus-bold.svg +1 -0
  1081. package/vendor/public/assets/icons/bold/phone-slash-bold.svg +1 -0
  1082. package/vendor/public/assets/icons/bold/phone-transfer-bold.svg +1 -0
  1083. package/vendor/public/assets/icons/bold/phone-x-bold.svg +1 -0
  1084. package/vendor/public/assets/icons/bold/phosphor-logo-bold.svg +1 -0
  1085. package/vendor/public/assets/icons/bold/pi-bold.svg +1 -0
  1086. package/vendor/public/assets/icons/bold/piano-keys-bold.svg +1 -0
  1087. package/vendor/public/assets/icons/bold/picnic-table-bold.svg +1 -0
  1088. package/vendor/public/assets/icons/bold/picture-in-picture-bold.svg +1 -0
  1089. package/vendor/public/assets/icons/bold/piggy-bank-bold.svg +1 -0
  1090. package/vendor/public/assets/icons/bold/pill-bold.svg +1 -0
  1091. package/vendor/public/assets/icons/bold/ping-pong-bold.svg +1 -0
  1092. package/vendor/public/assets/icons/bold/pint-glass-bold.svg +1 -0
  1093. package/vendor/public/assets/icons/bold/pinterest-logo-bold.svg +1 -0
  1094. package/vendor/public/assets/icons/bold/pinwheel-bold.svg +1 -0
  1095. package/vendor/public/assets/icons/bold/pipe-bold.svg +1 -0
  1096. package/vendor/public/assets/icons/bold/pipe-wrench-bold.svg +1 -0
  1097. package/vendor/public/assets/icons/bold/pix-logo-bold.svg +1 -0
  1098. package/vendor/public/assets/icons/bold/pizza-bold.svg +1 -0
  1099. package/vendor/public/assets/icons/bold/placeholder-bold.svg +1 -0
  1100. package/vendor/public/assets/icons/bold/planet-bold.svg +1 -0
  1101. package/vendor/public/assets/icons/bold/plant-bold.svg +1 -0
  1102. package/vendor/public/assets/icons/bold/play-bold.svg +1 -0
  1103. package/vendor/public/assets/icons/bold/play-circle-bold.svg +1 -0
  1104. package/vendor/public/assets/icons/bold/play-pause-bold.svg +1 -0
  1105. package/vendor/public/assets/icons/bold/playlist-bold.svg +1 -0
  1106. package/vendor/public/assets/icons/bold/plug-bold.svg +1 -0
  1107. package/vendor/public/assets/icons/bold/plug-charging-bold.svg +1 -0
  1108. package/vendor/public/assets/icons/bold/plugs-bold.svg +1 -0
  1109. package/vendor/public/assets/icons/bold/plugs-connected-bold.svg +1 -0
  1110. package/vendor/public/assets/icons/bold/plus-bold.svg +1 -0
  1111. package/vendor/public/assets/icons/bold/plus-circle-bold.svg +1 -0
  1112. package/vendor/public/assets/icons/bold/plus-minus-bold.svg +1 -0
  1113. package/vendor/public/assets/icons/bold/plus-square-bold.svg +1 -0
  1114. package/vendor/public/assets/icons/bold/poker-chip-bold.svg +1 -0
  1115. package/vendor/public/assets/icons/bold/police-car-bold.svg +1 -0
  1116. package/vendor/public/assets/icons/bold/polygon-bold.svg +1 -0
  1117. package/vendor/public/assets/icons/bold/popcorn-bold.svg +1 -0
  1118. package/vendor/public/assets/icons/bold/popsicle-bold.svg +1 -0
  1119. package/vendor/public/assets/icons/bold/potted-plant-bold.svg +1 -0
  1120. package/vendor/public/assets/icons/bold/power-bold.svg +1 -0
  1121. package/vendor/public/assets/icons/bold/prescription-bold.svg +1 -0
  1122. package/vendor/public/assets/icons/bold/presentation-bold.svg +1 -0
  1123. package/vendor/public/assets/icons/bold/presentation-chart-bold.svg +1 -0
  1124. package/vendor/public/assets/icons/bold/printer-bold.svg +1 -0
  1125. package/vendor/public/assets/icons/bold/prohibit-bold.svg +1 -0
  1126. package/vendor/public/assets/icons/bold/prohibit-inset-bold.svg +1 -0
  1127. package/vendor/public/assets/icons/bold/projector-screen-bold.svg +1 -0
  1128. package/vendor/public/assets/icons/bold/projector-screen-chart-bold.svg +1 -0
  1129. package/vendor/public/assets/icons/bold/pulse-bold.svg +1 -0
  1130. package/vendor/public/assets/icons/bold/push-pin-bold.svg +1 -0
  1131. package/vendor/public/assets/icons/bold/push-pin-simple-bold.svg +1 -0
  1132. package/vendor/public/assets/icons/bold/push-pin-simple-slash-bold.svg +1 -0
  1133. package/vendor/public/assets/icons/bold/push-pin-slash-bold.svg +1 -0
  1134. package/vendor/public/assets/icons/bold/puzzle-piece-bold.svg +1 -0
  1135. package/vendor/public/assets/icons/bold/qr-code-bold.svg +1 -0
  1136. package/vendor/public/assets/icons/bold/question-bold.svg +1 -0
  1137. package/vendor/public/assets/icons/bold/question-mark-bold.svg +1 -0
  1138. package/vendor/public/assets/icons/bold/queue-bold.svg +1 -0
  1139. package/vendor/public/assets/icons/bold/quotes-bold.svg +1 -0
  1140. package/vendor/public/assets/icons/bold/rabbit-bold.svg +1 -0
  1141. package/vendor/public/assets/icons/bold/racquet-bold.svg +1 -0
  1142. package/vendor/public/assets/icons/bold/radical-bold.svg +1 -0
  1143. package/vendor/public/assets/icons/bold/radio-bold.svg +1 -0
  1144. package/vendor/public/assets/icons/bold/radio-button-bold.svg +1 -0
  1145. package/vendor/public/assets/icons/bold/radioactive-bold.svg +1 -0
  1146. package/vendor/public/assets/icons/bold/rainbow-bold.svg +1 -0
  1147. package/vendor/public/assets/icons/bold/rainbow-cloud-bold.svg +1 -0
  1148. package/vendor/public/assets/icons/bold/ranking-bold.svg +1 -0
  1149. package/vendor/public/assets/icons/bold/read-cv-logo-bold.svg +1 -0
  1150. package/vendor/public/assets/icons/bold/receipt-bold.svg +1 -0
  1151. package/vendor/public/assets/icons/bold/receipt-x-bold.svg +1 -0
  1152. package/vendor/public/assets/icons/bold/record-bold.svg +1 -0
  1153. package/vendor/public/assets/icons/bold/rectangle-bold.svg +1 -0
  1154. package/vendor/public/assets/icons/bold/rectangle-dashed-bold.svg +1 -0
  1155. package/vendor/public/assets/icons/bold/recycle-bold.svg +1 -0
  1156. package/vendor/public/assets/icons/bold/reddit-logo-bold.svg +1 -0
  1157. package/vendor/public/assets/icons/bold/repeat-bold.svg +1 -0
  1158. package/vendor/public/assets/icons/bold/repeat-once-bold.svg +1 -0
  1159. package/vendor/public/assets/icons/bold/replit-logo-bold.svg +1 -0
  1160. package/vendor/public/assets/icons/bold/resize-bold.svg +1 -0
  1161. package/vendor/public/assets/icons/bold/rewind-bold.svg +1 -0
  1162. package/vendor/public/assets/icons/bold/rewind-circle-bold.svg +1 -0
  1163. package/vendor/public/assets/icons/bold/road-horizon-bold.svg +1 -0
  1164. package/vendor/public/assets/icons/bold/robot-bold.svg +1 -0
  1165. package/vendor/public/assets/icons/bold/rocket-bold.svg +1 -0
  1166. package/vendor/public/assets/icons/bold/rocket-launch-bold.svg +1 -0
  1167. package/vendor/public/assets/icons/bold/rows-bold.svg +1 -0
  1168. package/vendor/public/assets/icons/bold/rows-plus-bottom-bold.svg +1 -0
  1169. package/vendor/public/assets/icons/bold/rows-plus-top-bold.svg +1 -0
  1170. package/vendor/public/assets/icons/bold/rss-bold.svg +1 -0
  1171. package/vendor/public/assets/icons/bold/rss-simple-bold.svg +1 -0
  1172. package/vendor/public/assets/icons/bold/rug-bold.svg +1 -0
  1173. package/vendor/public/assets/icons/bold/ruler-bold.svg +1 -0
  1174. package/vendor/public/assets/icons/bold/sailboat-bold.svg +1 -0
  1175. package/vendor/public/assets/icons/bold/scales-bold.svg +1 -0
  1176. package/vendor/public/assets/icons/bold/scan-bold.svg +1 -0
  1177. package/vendor/public/assets/icons/bold/scan-smiley-bold.svg +1 -0
  1178. package/vendor/public/assets/icons/bold/scissors-bold.svg +1 -0
  1179. package/vendor/public/assets/icons/bold/scooter-bold.svg +1 -0
  1180. package/vendor/public/assets/icons/bold/screencast-bold.svg +1 -0
  1181. package/vendor/public/assets/icons/bold/screwdriver-bold.svg +1 -0
  1182. package/vendor/public/assets/icons/bold/scribble-bold.svg +1 -0
  1183. package/vendor/public/assets/icons/bold/scribble-loop-bold.svg +1 -0
  1184. package/vendor/public/assets/icons/bold/scroll-bold.svg +1 -0
  1185. package/vendor/public/assets/icons/bold/seal-bold.svg +1 -0
  1186. package/vendor/public/assets/icons/bold/seal-check-bold.svg +1 -0
  1187. package/vendor/public/assets/icons/bold/seal-percent-bold.svg +1 -0
  1188. package/vendor/public/assets/icons/bold/seal-question-bold.svg +1 -0
  1189. package/vendor/public/assets/icons/bold/seal-warning-bold.svg +1 -0
  1190. package/vendor/public/assets/icons/bold/seat-bold.svg +1 -0
  1191. package/vendor/public/assets/icons/bold/seatbelt-bold.svg +1 -0
  1192. package/vendor/public/assets/icons/bold/security-camera-bold.svg +1 -0
  1193. package/vendor/public/assets/icons/bold/selection-all-bold.svg +1 -0
  1194. package/vendor/public/assets/icons/bold/selection-background-bold.svg +1 -0
  1195. package/vendor/public/assets/icons/bold/selection-bold.svg +1 -0
  1196. package/vendor/public/assets/icons/bold/selection-foreground-bold.svg +1 -0
  1197. package/vendor/public/assets/icons/bold/selection-inverse-bold.svg +1 -0
  1198. package/vendor/public/assets/icons/bold/selection-plus-bold.svg +1 -0
  1199. package/vendor/public/assets/icons/bold/selection-slash-bold.svg +1 -0
  1200. package/vendor/public/assets/icons/bold/shapes-bold.svg +1 -0
  1201. package/vendor/public/assets/icons/bold/share-bold.svg +1 -0
  1202. package/vendor/public/assets/icons/bold/share-fat-bold.svg +1 -0
  1203. package/vendor/public/assets/icons/bold/share-network-bold.svg +1 -0
  1204. package/vendor/public/assets/icons/bold/shield-bold.svg +1 -0
  1205. package/vendor/public/assets/icons/bold/shield-check-bold.svg +1 -0
  1206. package/vendor/public/assets/icons/bold/shield-checkered-bold.svg +1 -0
  1207. package/vendor/public/assets/icons/bold/shield-chevron-bold.svg +1 -0
  1208. package/vendor/public/assets/icons/bold/shield-plus-bold.svg +1 -0
  1209. package/vendor/public/assets/icons/bold/shield-slash-bold.svg +1 -0
  1210. package/vendor/public/assets/icons/bold/shield-star-bold.svg +1 -0
  1211. package/vendor/public/assets/icons/bold/shield-warning-bold.svg +1 -0
  1212. package/vendor/public/assets/icons/bold/shipping-container-bold.svg +1 -0
  1213. package/vendor/public/assets/icons/bold/shirt-folded-bold.svg +1 -0
  1214. package/vendor/public/assets/icons/bold/shooting-star-bold.svg +1 -0
  1215. package/vendor/public/assets/icons/bold/shopping-bag-bold.svg +1 -0
  1216. package/vendor/public/assets/icons/bold/shopping-bag-open-bold.svg +1 -0
  1217. package/vendor/public/assets/icons/bold/shopping-cart-bold.svg +1 -0
  1218. package/vendor/public/assets/icons/bold/shopping-cart-simple-bold.svg +1 -0
  1219. package/vendor/public/assets/icons/bold/shovel-bold.svg +1 -0
  1220. package/vendor/public/assets/icons/bold/shower-bold.svg +1 -0
  1221. package/vendor/public/assets/icons/bold/shrimp-bold.svg +1 -0
  1222. package/vendor/public/assets/icons/bold/shuffle-angular-bold.svg +1 -0
  1223. package/vendor/public/assets/icons/bold/shuffle-bold.svg +1 -0
  1224. package/vendor/public/assets/icons/bold/shuffle-simple-bold.svg +1 -0
  1225. package/vendor/public/assets/icons/bold/sidebar-bold.svg +1 -0
  1226. package/vendor/public/assets/icons/bold/sidebar-simple-bold.svg +1 -0
  1227. package/vendor/public/assets/icons/bold/sigma-bold.svg +1 -0
  1228. package/vendor/public/assets/icons/bold/sign-in-bold.svg +1 -0
  1229. package/vendor/public/assets/icons/bold/sign-out-bold.svg +1 -0
  1230. package/vendor/public/assets/icons/bold/signature-bold.svg +1 -0
  1231. package/vendor/public/assets/icons/bold/signpost-bold.svg +1 -0
  1232. package/vendor/public/assets/icons/bold/sim-card-bold.svg +1 -0
  1233. package/vendor/public/assets/icons/bold/siren-bold.svg +1 -0
  1234. package/vendor/public/assets/icons/bold/sketch-logo-bold.svg +1 -0
  1235. package/vendor/public/assets/icons/bold/skip-back-bold.svg +1 -0
  1236. package/vendor/public/assets/icons/bold/skip-back-circle-bold.svg +1 -0
  1237. package/vendor/public/assets/icons/bold/skip-forward-bold.svg +1 -0
  1238. package/vendor/public/assets/icons/bold/skip-forward-circle-bold.svg +1 -0
  1239. package/vendor/public/assets/icons/bold/skull-bold.svg +1 -0
  1240. package/vendor/public/assets/icons/bold/skype-logo-bold.svg +1 -0
  1241. package/vendor/public/assets/icons/bold/slack-logo-bold.svg +1 -0
  1242. package/vendor/public/assets/icons/bold/sliders-bold.svg +1 -0
  1243. package/vendor/public/assets/icons/bold/sliders-horizontal-bold.svg +1 -0
  1244. package/vendor/public/assets/icons/bold/slideshow-bold.svg +1 -0
  1245. package/vendor/public/assets/icons/bold/smiley-angry-bold.svg +1 -0
  1246. package/vendor/public/assets/icons/bold/smiley-blank-bold.svg +1 -0
  1247. package/vendor/public/assets/icons/bold/smiley-bold.svg +1 -0
  1248. package/vendor/public/assets/icons/bold/smiley-meh-bold.svg +1 -0
  1249. package/vendor/public/assets/icons/bold/smiley-melting-bold.svg +1 -0
  1250. package/vendor/public/assets/icons/bold/smiley-nervous-bold.svg +1 -0
  1251. package/vendor/public/assets/icons/bold/smiley-sad-bold.svg +1 -0
  1252. package/vendor/public/assets/icons/bold/smiley-sticker-bold.svg +1 -0
  1253. package/vendor/public/assets/icons/bold/smiley-wink-bold.svg +1 -0
  1254. package/vendor/public/assets/icons/bold/smiley-x-eyes-bold.svg +1 -0
  1255. package/vendor/public/assets/icons/bold/snapchat-logo-bold.svg +1 -0
  1256. package/vendor/public/assets/icons/bold/sneaker-bold.svg +1 -0
  1257. package/vendor/public/assets/icons/bold/sneaker-move-bold.svg +1 -0
  1258. package/vendor/public/assets/icons/bold/snowflake-bold.svg +1 -0
  1259. package/vendor/public/assets/icons/bold/soccer-ball-bold.svg +1 -0
  1260. package/vendor/public/assets/icons/bold/sock-bold.svg +1 -0
  1261. package/vendor/public/assets/icons/bold/solar-panel-bold.svg +1 -0
  1262. package/vendor/public/assets/icons/bold/solar-roof-bold.svg +1 -0
  1263. package/vendor/public/assets/icons/bold/sort-ascending-bold.svg +1 -0
  1264. package/vendor/public/assets/icons/bold/sort-descending-bold.svg +1 -0
  1265. package/vendor/public/assets/icons/bold/soundcloud-logo-bold.svg +1 -0
  1266. package/vendor/public/assets/icons/bold/spade-bold.svg +1 -0
  1267. package/vendor/public/assets/icons/bold/sparkle-bold.svg +1 -0
  1268. package/vendor/public/assets/icons/bold/speaker-hifi-bold.svg +1 -0
  1269. package/vendor/public/assets/icons/bold/speaker-high-bold.svg +1 -0
  1270. package/vendor/public/assets/icons/bold/speaker-low-bold.svg +1 -0
  1271. package/vendor/public/assets/icons/bold/speaker-none-bold.svg +1 -0
  1272. package/vendor/public/assets/icons/bold/speaker-simple-high-bold.svg +1 -0
  1273. package/vendor/public/assets/icons/bold/speaker-simple-low-bold.svg +1 -0
  1274. package/vendor/public/assets/icons/bold/speaker-simple-none-bold.svg +1 -0
  1275. package/vendor/public/assets/icons/bold/speaker-simple-slash-bold.svg +1 -0
  1276. package/vendor/public/assets/icons/bold/speaker-simple-x-bold.svg +1 -0
  1277. package/vendor/public/assets/icons/bold/speaker-slash-bold.svg +1 -0
  1278. package/vendor/public/assets/icons/bold/speaker-x-bold.svg +1 -0
  1279. package/vendor/public/assets/icons/bold/speedometer-bold.svg +1 -0
  1280. package/vendor/public/assets/icons/bold/sphere-bold.svg +1 -0
  1281. package/vendor/public/assets/icons/bold/spinner-ball-bold.svg +1 -0
  1282. package/vendor/public/assets/icons/bold/spinner-bold.svg +1 -0
  1283. package/vendor/public/assets/icons/bold/spinner-gap-bold.svg +1 -0
  1284. package/vendor/public/assets/icons/bold/spiral-bold.svg +1 -0
  1285. package/vendor/public/assets/icons/bold/split-horizontal-bold.svg +1 -0
  1286. package/vendor/public/assets/icons/bold/split-vertical-bold.svg +1 -0
  1287. package/vendor/public/assets/icons/bold/spotify-logo-bold.svg +1 -0
  1288. package/vendor/public/assets/icons/bold/spray-bottle-bold.svg +1 -0
  1289. package/vendor/public/assets/icons/bold/square-bold.svg +1 -0
  1290. package/vendor/public/assets/icons/bold/square-half-bold.svg +1 -0
  1291. package/vendor/public/assets/icons/bold/square-half-bottom-bold.svg +1 -0
  1292. package/vendor/public/assets/icons/bold/square-logo-bold.svg +1 -0
  1293. package/vendor/public/assets/icons/bold/square-split-horizontal-bold.svg +1 -0
  1294. package/vendor/public/assets/icons/bold/square-split-vertical-bold.svg +1 -0
  1295. package/vendor/public/assets/icons/bold/squares-four-bold.svg +1 -0
  1296. package/vendor/public/assets/icons/bold/stack-bold.svg +1 -0
  1297. package/vendor/public/assets/icons/bold/stack-minus-bold.svg +1 -0
  1298. package/vendor/public/assets/icons/bold/stack-overflow-logo-bold.svg +1 -0
  1299. package/vendor/public/assets/icons/bold/stack-plus-bold.svg +1 -0
  1300. package/vendor/public/assets/icons/bold/stack-simple-bold.svg +1 -0
  1301. package/vendor/public/assets/icons/bold/stairs-bold.svg +1 -0
  1302. package/vendor/public/assets/icons/bold/stamp-bold.svg +1 -0
  1303. package/vendor/public/assets/icons/bold/standard-definition-bold.svg +1 -0
  1304. package/vendor/public/assets/icons/bold/star-and-crescent-bold.svg +1 -0
  1305. package/vendor/public/assets/icons/bold/star-bold.svg +1 -0
  1306. package/vendor/public/assets/icons/bold/star-four-bold.svg +1 -0
  1307. package/vendor/public/assets/icons/bold/star-half-bold.svg +1 -0
  1308. package/vendor/public/assets/icons/bold/star-of-david-bold.svg +1 -0
  1309. package/vendor/public/assets/icons/bold/steam-logo-bold.svg +1 -0
  1310. package/vendor/public/assets/icons/bold/steering-wheel-bold.svg +1 -0
  1311. package/vendor/public/assets/icons/bold/steps-bold.svg +1 -0
  1312. package/vendor/public/assets/icons/bold/stethoscope-bold.svg +1 -0
  1313. package/vendor/public/assets/icons/bold/sticker-bold.svg +1 -0
  1314. package/vendor/public/assets/icons/bold/stool-bold.svg +1 -0
  1315. package/vendor/public/assets/icons/bold/stop-bold.svg +1 -0
  1316. package/vendor/public/assets/icons/bold/stop-circle-bold.svg +1 -0
  1317. package/vendor/public/assets/icons/bold/storefront-bold.svg +1 -0
  1318. package/vendor/public/assets/icons/bold/strategy-bold.svg +1 -0
  1319. package/vendor/public/assets/icons/bold/stripe-logo-bold.svg +1 -0
  1320. package/vendor/public/assets/icons/bold/student-bold.svg +1 -0
  1321. package/vendor/public/assets/icons/bold/subset-of-bold.svg +1 -0
  1322. package/vendor/public/assets/icons/bold/subset-proper-of-bold.svg +1 -0
  1323. package/vendor/public/assets/icons/bold/subtitles-bold.svg +1 -0
  1324. package/vendor/public/assets/icons/bold/subtitles-slash-bold.svg +1 -0
  1325. package/vendor/public/assets/icons/bold/subtract-bold.svg +1 -0
  1326. package/vendor/public/assets/icons/bold/subtract-square-bold.svg +1 -0
  1327. package/vendor/public/assets/icons/bold/subway-bold.svg +1 -0
  1328. package/vendor/public/assets/icons/bold/suitcase-bold.svg +1 -0
  1329. package/vendor/public/assets/icons/bold/suitcase-rolling-bold.svg +1 -0
  1330. package/vendor/public/assets/icons/bold/suitcase-simple-bold.svg +1 -0
  1331. package/vendor/public/assets/icons/bold/sun-bold.svg +1 -0
  1332. package/vendor/public/assets/icons/bold/sun-dim-bold.svg +1 -0
  1333. package/vendor/public/assets/icons/bold/sun-horizon-bold.svg +1 -0
  1334. package/vendor/public/assets/icons/bold/sunglasses-bold.svg +1 -0
  1335. package/vendor/public/assets/icons/bold/superset-of-bold.svg +1 -0
  1336. package/vendor/public/assets/icons/bold/superset-proper-of-bold.svg +1 -0
  1337. package/vendor/public/assets/icons/bold/swap-bold.svg +1 -0
  1338. package/vendor/public/assets/icons/bold/swatches-bold.svg +1 -0
  1339. package/vendor/public/assets/icons/bold/swimming-pool-bold.svg +1 -0
  1340. package/vendor/public/assets/icons/bold/sword-bold.svg +1 -0
  1341. package/vendor/public/assets/icons/bold/synagogue-bold.svg +1 -0
  1342. package/vendor/public/assets/icons/bold/syringe-bold.svg +1 -0
  1343. package/vendor/public/assets/icons/bold/t-shirt-bold.svg +1 -0
  1344. package/vendor/public/assets/icons/bold/table-bold.svg +1 -0
  1345. package/vendor/public/assets/icons/bold/tabs-bold.svg +1 -0
  1346. package/vendor/public/assets/icons/bold/tag-bold.svg +1 -0
  1347. package/vendor/public/assets/icons/bold/tag-chevron-bold.svg +1 -0
  1348. package/vendor/public/assets/icons/bold/tag-simple-bold.svg +1 -0
  1349. package/vendor/public/assets/icons/bold/target-bold.svg +1 -0
  1350. package/vendor/public/assets/icons/bold/taxi-bold.svg +1 -0
  1351. package/vendor/public/assets/icons/bold/tea-bag-bold.svg +1 -0
  1352. package/vendor/public/assets/icons/bold/telegram-logo-bold.svg +1 -0
  1353. package/vendor/public/assets/icons/bold/television-bold.svg +1 -0
  1354. package/vendor/public/assets/icons/bold/television-simple-bold.svg +1 -0
  1355. package/vendor/public/assets/icons/bold/tennis-ball-bold.svg +1 -0
  1356. package/vendor/public/assets/icons/bold/tent-bold.svg +1 -0
  1357. package/vendor/public/assets/icons/bold/terminal-bold.svg +1 -0
  1358. package/vendor/public/assets/icons/bold/terminal-window-bold.svg +1 -0
  1359. package/vendor/public/assets/icons/bold/test-tube-bold.svg +1 -0
  1360. package/vendor/public/assets/icons/bold/text-a-underline-bold.svg +1 -0
  1361. package/vendor/public/assets/icons/bold/text-aa-bold.svg +1 -0
  1362. package/vendor/public/assets/icons/bold/text-align-center-bold.svg +1 -0
  1363. package/vendor/public/assets/icons/bold/text-align-justify-bold.svg +1 -0
  1364. package/vendor/public/assets/icons/bold/text-align-left-bold.svg +1 -0
  1365. package/vendor/public/assets/icons/bold/text-align-right-bold.svg +1 -0
  1366. package/vendor/public/assets/icons/bold/text-b-bold.svg +1 -0
  1367. package/vendor/public/assets/icons/bold/text-columns-bold.svg +1 -0
  1368. package/vendor/public/assets/icons/bold/text-h-bold.svg +1 -0
  1369. package/vendor/public/assets/icons/bold/text-h-five-bold.svg +1 -0
  1370. package/vendor/public/assets/icons/bold/text-h-four-bold.svg +1 -0
  1371. package/vendor/public/assets/icons/bold/text-h-one-bold.svg +1 -0
  1372. package/vendor/public/assets/icons/bold/text-h-six-bold.svg +1 -0
  1373. package/vendor/public/assets/icons/bold/text-h-three-bold.svg +1 -0
  1374. package/vendor/public/assets/icons/bold/text-h-two-bold.svg +1 -0
  1375. package/vendor/public/assets/icons/bold/text-indent-bold.svg +1 -0
  1376. package/vendor/public/assets/icons/bold/text-italic-bold.svg +1 -0
  1377. package/vendor/public/assets/icons/bold/text-outdent-bold.svg +1 -0
  1378. package/vendor/public/assets/icons/bold/text-strikethrough-bold.svg +1 -0
  1379. package/vendor/public/assets/icons/bold/text-subscript-bold.svg +1 -0
  1380. package/vendor/public/assets/icons/bold/text-superscript-bold.svg +1 -0
  1381. package/vendor/public/assets/icons/bold/text-t-bold.svg +1 -0
  1382. package/vendor/public/assets/icons/bold/text-t-slash-bold.svg +1 -0
  1383. package/vendor/public/assets/icons/bold/text-underline-bold.svg +1 -0
  1384. package/vendor/public/assets/icons/bold/textbox-bold.svg +1 -0
  1385. package/vendor/public/assets/icons/bold/thermometer-bold.svg +1 -0
  1386. package/vendor/public/assets/icons/bold/thermometer-cold-bold.svg +1 -0
  1387. package/vendor/public/assets/icons/bold/thermometer-hot-bold.svg +1 -0
  1388. package/vendor/public/assets/icons/bold/thermometer-simple-bold.svg +1 -0
  1389. package/vendor/public/assets/icons/bold/threads-logo-bold.svg +1 -0
  1390. package/vendor/public/assets/icons/bold/three-d-bold.svg +1 -0
  1391. package/vendor/public/assets/icons/bold/thumbs-down-bold.svg +1 -0
  1392. package/vendor/public/assets/icons/bold/thumbs-up-bold.svg +1 -0
  1393. package/vendor/public/assets/icons/bold/ticket-bold.svg +1 -0
  1394. package/vendor/public/assets/icons/bold/tidal-logo-bold.svg +1 -0
  1395. package/vendor/public/assets/icons/bold/tiktok-logo-bold.svg +1 -0
  1396. package/vendor/public/assets/icons/bold/tilde-bold.svg +1 -0
  1397. package/vendor/public/assets/icons/bold/timer-bold.svg +1 -0
  1398. package/vendor/public/assets/icons/bold/tip-jar-bold.svg +1 -0
  1399. package/vendor/public/assets/icons/bold/tipi-bold.svg +1 -0
  1400. package/vendor/public/assets/icons/bold/tire-bold.svg +1 -0
  1401. package/vendor/public/assets/icons/bold/toggle-left-bold.svg +1 -0
  1402. package/vendor/public/assets/icons/bold/toggle-right-bold.svg +1 -0
  1403. package/vendor/public/assets/icons/bold/toilet-bold.svg +1 -0
  1404. package/vendor/public/assets/icons/bold/toilet-paper-bold.svg +1 -0
  1405. package/vendor/public/assets/icons/bold/toolbox-bold.svg +1 -0
  1406. package/vendor/public/assets/icons/bold/tooth-bold.svg +1 -0
  1407. package/vendor/public/assets/icons/bold/tornado-bold.svg +1 -0
  1408. package/vendor/public/assets/icons/bold/tote-bold.svg +1 -0
  1409. package/vendor/public/assets/icons/bold/tote-simple-bold.svg +1 -0
  1410. package/vendor/public/assets/icons/bold/towel-bold.svg +1 -0
  1411. package/vendor/public/assets/icons/bold/tractor-bold.svg +1 -0
  1412. package/vendor/public/assets/icons/bold/trademark-bold.svg +1 -0
  1413. package/vendor/public/assets/icons/bold/trademark-registered-bold.svg +1 -0
  1414. package/vendor/public/assets/icons/bold/traffic-cone-bold.svg +1 -0
  1415. package/vendor/public/assets/icons/bold/traffic-sign-bold.svg +1 -0
  1416. package/vendor/public/assets/icons/bold/traffic-signal-bold.svg +1 -0
  1417. package/vendor/public/assets/icons/bold/train-bold.svg +1 -0
  1418. package/vendor/public/assets/icons/bold/train-regional-bold.svg +1 -0
  1419. package/vendor/public/assets/icons/bold/train-simple-bold.svg +1 -0
  1420. package/vendor/public/assets/icons/bold/tram-bold.svg +1 -0
  1421. package/vendor/public/assets/icons/bold/translate-bold.svg +1 -0
  1422. package/vendor/public/assets/icons/bold/trash-bold.svg +1 -0
  1423. package/vendor/public/assets/icons/bold/trash-simple-bold.svg +1 -0
  1424. package/vendor/public/assets/icons/bold/tray-arrow-down-bold.svg +1 -0
  1425. package/vendor/public/assets/icons/bold/tray-arrow-up-bold.svg +1 -0
  1426. package/vendor/public/assets/icons/bold/tray-bold.svg +1 -0
  1427. package/vendor/public/assets/icons/bold/treasure-chest-bold.svg +1 -0
  1428. package/vendor/public/assets/icons/bold/tree-bold.svg +1 -0
  1429. package/vendor/public/assets/icons/bold/tree-evergreen-bold.svg +1 -0
  1430. package/vendor/public/assets/icons/bold/tree-palm-bold.svg +1 -0
  1431. package/vendor/public/assets/icons/bold/tree-structure-bold.svg +1 -0
  1432. package/vendor/public/assets/icons/bold/tree-view-bold.svg +1 -0
  1433. package/vendor/public/assets/icons/bold/trend-down-bold.svg +1 -0
  1434. package/vendor/public/assets/icons/bold/trend-up-bold.svg +1 -0
  1435. package/vendor/public/assets/icons/bold/triangle-bold.svg +1 -0
  1436. package/vendor/public/assets/icons/bold/triangle-dashed-bold.svg +1 -0
  1437. package/vendor/public/assets/icons/bold/trolley-bold.svg +1 -0
  1438. package/vendor/public/assets/icons/bold/trolley-suitcase-bold.svg +1 -0
  1439. package/vendor/public/assets/icons/bold/trophy-bold.svg +1 -0
  1440. package/vendor/public/assets/icons/bold/truck-bold.svg +1 -0
  1441. package/vendor/public/assets/icons/bold/truck-trailer-bold.svg +1 -0
  1442. package/vendor/public/assets/icons/bold/tumblr-logo-bold.svg +1 -0
  1443. package/vendor/public/assets/icons/bold/twitch-logo-bold.svg +1 -0
  1444. package/vendor/public/assets/icons/bold/twitter-logo-bold.svg +1 -0
  1445. package/vendor/public/assets/icons/bold/umbrella-bold.svg +1 -0
  1446. package/vendor/public/assets/icons/bold/umbrella-simple-bold.svg +1 -0
  1447. package/vendor/public/assets/icons/bold/union-bold.svg +1 -0
  1448. package/vendor/public/assets/icons/bold/unite-bold.svg +1 -0
  1449. package/vendor/public/assets/icons/bold/unite-square-bold.svg +1 -0
  1450. package/vendor/public/assets/icons/bold/upload-bold.svg +1 -0
  1451. package/vendor/public/assets/icons/bold/upload-simple-bold.svg +1 -0
  1452. package/vendor/public/assets/icons/bold/usb-bold.svg +1 -0
  1453. package/vendor/public/assets/icons/bold/user-bold.svg +1 -0
  1454. package/vendor/public/assets/icons/bold/user-check-bold.svg +1 -0
  1455. package/vendor/public/assets/icons/bold/user-circle-bold.svg +1 -0
  1456. package/vendor/public/assets/icons/bold/user-circle-check-bold.svg +1 -0
  1457. package/vendor/public/assets/icons/bold/user-circle-dashed-bold.svg +1 -0
  1458. package/vendor/public/assets/icons/bold/user-circle-gear-bold.svg +1 -0
  1459. package/vendor/public/assets/icons/bold/user-circle-minus-bold.svg +1 -0
  1460. package/vendor/public/assets/icons/bold/user-circle-plus-bold.svg +1 -0
  1461. package/vendor/public/assets/icons/bold/user-focus-bold.svg +1 -0
  1462. package/vendor/public/assets/icons/bold/user-gear-bold.svg +1 -0
  1463. package/vendor/public/assets/icons/bold/user-list-bold.svg +1 -0
  1464. package/vendor/public/assets/icons/bold/user-minus-bold.svg +1 -0
  1465. package/vendor/public/assets/icons/bold/user-plus-bold.svg +1 -0
  1466. package/vendor/public/assets/icons/bold/user-rectangle-bold.svg +1 -0
  1467. package/vendor/public/assets/icons/bold/user-sound-bold.svg +1 -0
  1468. package/vendor/public/assets/icons/bold/user-square-bold.svg +1 -0
  1469. package/vendor/public/assets/icons/bold/user-switch-bold.svg +1 -0
  1470. package/vendor/public/assets/icons/bold/users-bold.svg +1 -0
  1471. package/vendor/public/assets/icons/bold/users-four-bold.svg +1 -0
  1472. package/vendor/public/assets/icons/bold/users-three-bold.svg +1 -0
  1473. package/vendor/public/assets/icons/bold/van-bold.svg +1 -0
  1474. package/vendor/public/assets/icons/bold/vault-bold.svg +1 -0
  1475. package/vendor/public/assets/icons/bold/vector-three-bold.svg +1 -0
  1476. package/vendor/public/assets/icons/bold/vector-two-bold.svg +1 -0
  1477. package/vendor/public/assets/icons/bold/vibrate-bold.svg +1 -0
  1478. package/vendor/public/assets/icons/bold/video-bold.svg +1 -0
  1479. package/vendor/public/assets/icons/bold/video-camera-bold.svg +1 -0
  1480. package/vendor/public/assets/icons/bold/video-camera-slash-bold.svg +1 -0
  1481. package/vendor/public/assets/icons/bold/video-conference-bold.svg +1 -0
  1482. package/vendor/public/assets/icons/bold/vignette-bold.svg +1 -0
  1483. package/vendor/public/assets/icons/bold/vinyl-record-bold.svg +1 -0
  1484. package/vendor/public/assets/icons/bold/virtual-reality-bold.svg +1 -0
  1485. package/vendor/public/assets/icons/bold/virus-bold.svg +1 -0
  1486. package/vendor/public/assets/icons/bold/visor-bold.svg +1 -0
  1487. package/vendor/public/assets/icons/bold/voicemail-bold.svg +1 -0
  1488. package/vendor/public/assets/icons/bold/volleyball-bold.svg +1 -0
  1489. package/vendor/public/assets/icons/bold/wall-bold.svg +1 -0
  1490. package/vendor/public/assets/icons/bold/wallet-bold.svg +1 -0
  1491. package/vendor/public/assets/icons/bold/warehouse-bold.svg +1 -0
  1492. package/vendor/public/assets/icons/bold/warning-bold.svg +1 -0
  1493. package/vendor/public/assets/icons/bold/warning-circle-bold.svg +1 -0
  1494. package/vendor/public/assets/icons/bold/warning-diamond-bold.svg +1 -0
  1495. package/vendor/public/assets/icons/bold/warning-octagon-bold.svg +1 -0
  1496. package/vendor/public/assets/icons/bold/washing-machine-bold.svg +1 -0
  1497. package/vendor/public/assets/icons/bold/watch-bold.svg +1 -0
  1498. package/vendor/public/assets/icons/bold/wave-sawtooth-bold.svg +1 -0
  1499. package/vendor/public/assets/icons/bold/wave-sine-bold.svg +1 -0
  1500. package/vendor/public/assets/icons/bold/wave-square-bold.svg +1 -0
  1501. package/vendor/public/assets/icons/bold/wave-triangle-bold.svg +1 -0
  1502. package/vendor/public/assets/icons/bold/waveform-bold.svg +1 -0
  1503. package/vendor/public/assets/icons/bold/waveform-slash-bold.svg +1 -0
  1504. package/vendor/public/assets/icons/bold/waves-bold.svg +1 -0
  1505. package/vendor/public/assets/icons/bold/webcam-bold.svg +1 -0
  1506. package/vendor/public/assets/icons/bold/webcam-slash-bold.svg +1 -0
  1507. package/vendor/public/assets/icons/bold/webhooks-logo-bold.svg +1 -0
  1508. package/vendor/public/assets/icons/bold/wechat-logo-bold.svg +1 -0
  1509. package/vendor/public/assets/icons/bold/whatsapp-logo-bold.svg +1 -0
  1510. package/vendor/public/assets/icons/bold/wheelchair-bold.svg +1 -0
  1511. package/vendor/public/assets/icons/bold/wheelchair-motion-bold.svg +1 -0
  1512. package/vendor/public/assets/icons/bold/wifi-high-bold.svg +1 -0
  1513. package/vendor/public/assets/icons/bold/wifi-low-bold.svg +1 -0
  1514. package/vendor/public/assets/icons/bold/wifi-medium-bold.svg +1 -0
  1515. package/vendor/public/assets/icons/bold/wifi-none-bold.svg +1 -0
  1516. package/vendor/public/assets/icons/bold/wifi-slash-bold.svg +1 -0
  1517. package/vendor/public/assets/icons/bold/wifi-x-bold.svg +1 -0
  1518. package/vendor/public/assets/icons/bold/wind-bold.svg +1 -0
  1519. package/vendor/public/assets/icons/bold/windmill-bold.svg +1 -0
  1520. package/vendor/public/assets/icons/bold/windows-logo-bold.svg +1 -0
  1521. package/vendor/public/assets/icons/bold/wine-bold.svg +1 -0
  1522. package/vendor/public/assets/icons/bold/wrench-bold.svg +1 -0
  1523. package/vendor/public/assets/icons/bold/x-bold.svg +1 -0
  1524. package/vendor/public/assets/icons/bold/x-circle-bold.svg +1 -0
  1525. package/vendor/public/assets/icons/bold/x-logo-bold.svg +1 -0
  1526. package/vendor/public/assets/icons/bold/x-square-bold.svg +1 -0
  1527. package/vendor/public/assets/icons/bold/yarn-bold.svg +1 -0
  1528. package/vendor/public/assets/icons/bold/yin-yang-bold.svg +1 -0
  1529. package/vendor/public/assets/icons/bold/youtube-logo-bold.svg +1 -0
  1530. package/vendor/public/assets/icons/fill/acorn-fill.svg +1 -0
  1531. package/vendor/public/assets/icons/fill/address-book-fill.svg +1 -0
  1532. package/vendor/public/assets/icons/fill/address-book-tabs-fill.svg +1 -0
  1533. package/vendor/public/assets/icons/fill/air-traffic-control-fill.svg +1 -0
  1534. package/vendor/public/assets/icons/fill/airplane-fill.svg +1 -0
  1535. package/vendor/public/assets/icons/fill/airplane-in-flight-fill.svg +1 -0
  1536. package/vendor/public/assets/icons/fill/airplane-landing-fill.svg +1 -0
  1537. package/vendor/public/assets/icons/fill/airplane-takeoff-fill.svg +1 -0
  1538. package/vendor/public/assets/icons/fill/airplane-taxiing-fill.svg +1 -0
  1539. package/vendor/public/assets/icons/fill/airplane-tilt-fill.svg +1 -0
  1540. package/vendor/public/assets/icons/fill/airplay-fill.svg +1 -0
  1541. package/vendor/public/assets/icons/fill/alarm-fill.svg +1 -0
  1542. package/vendor/public/assets/icons/fill/alien-fill.svg +1 -0
  1543. package/vendor/public/assets/icons/fill/align-bottom-fill.svg +1 -0
  1544. package/vendor/public/assets/icons/fill/align-bottom-simple-fill.svg +1 -0
  1545. package/vendor/public/assets/icons/fill/align-center-horizontal-fill.svg +1 -0
  1546. package/vendor/public/assets/icons/fill/align-center-horizontal-simple-fill.svg +1 -0
  1547. package/vendor/public/assets/icons/fill/align-center-vertical-fill.svg +1 -0
  1548. package/vendor/public/assets/icons/fill/align-center-vertical-simple-fill.svg +1 -0
  1549. package/vendor/public/assets/icons/fill/align-left-fill.svg +1 -0
  1550. package/vendor/public/assets/icons/fill/align-left-simple-fill.svg +1 -0
  1551. package/vendor/public/assets/icons/fill/align-right-fill.svg +1 -0
  1552. package/vendor/public/assets/icons/fill/align-right-simple-fill.svg +1 -0
  1553. package/vendor/public/assets/icons/fill/align-top-fill.svg +1 -0
  1554. package/vendor/public/assets/icons/fill/align-top-simple-fill.svg +1 -0
  1555. package/vendor/public/assets/icons/fill/amazon-logo-fill.svg +1 -0
  1556. package/vendor/public/assets/icons/fill/ambulance-fill.svg +1 -0
  1557. package/vendor/public/assets/icons/fill/anchor-fill.svg +1 -0
  1558. package/vendor/public/assets/icons/fill/anchor-simple-fill.svg +1 -0
  1559. package/vendor/public/assets/icons/fill/android-logo-fill.svg +1 -0
  1560. package/vendor/public/assets/icons/fill/angle-fill.svg +1 -0
  1561. package/vendor/public/assets/icons/fill/angular-logo-fill.svg +1 -0
  1562. package/vendor/public/assets/icons/fill/aperture-fill.svg +1 -0
  1563. package/vendor/public/assets/icons/fill/app-store-logo-fill.svg +1 -0
  1564. package/vendor/public/assets/icons/fill/app-window-fill.svg +1 -0
  1565. package/vendor/public/assets/icons/fill/apple-logo-fill.svg +1 -0
  1566. package/vendor/public/assets/icons/fill/apple-podcasts-logo-fill.svg +1 -0
  1567. package/vendor/public/assets/icons/fill/approximate-equals-fill.svg +1 -0
  1568. package/vendor/public/assets/icons/fill/archive-fill.svg +1 -0
  1569. package/vendor/public/assets/icons/fill/armchair-fill.svg +1 -0
  1570. package/vendor/public/assets/icons/fill/arrow-arc-left-fill.svg +1 -0
  1571. package/vendor/public/assets/icons/fill/arrow-arc-right-fill.svg +1 -0
  1572. package/vendor/public/assets/icons/fill/arrow-bend-double-up-left-fill.svg +1 -0
  1573. package/vendor/public/assets/icons/fill/arrow-bend-double-up-right-fill.svg +1 -0
  1574. package/vendor/public/assets/icons/fill/arrow-bend-down-left-fill.svg +1 -0
  1575. package/vendor/public/assets/icons/fill/arrow-bend-down-right-fill.svg +1 -0
  1576. package/vendor/public/assets/icons/fill/arrow-bend-left-down-fill.svg +1 -0
  1577. package/vendor/public/assets/icons/fill/arrow-bend-left-up-fill.svg +1 -0
  1578. package/vendor/public/assets/icons/fill/arrow-bend-right-down-fill.svg +1 -0
  1579. package/vendor/public/assets/icons/fill/arrow-bend-right-up-fill.svg +1 -0
  1580. package/vendor/public/assets/icons/fill/arrow-bend-up-left-fill.svg +1 -0
  1581. package/vendor/public/assets/icons/fill/arrow-bend-up-right-fill.svg +1 -0
  1582. package/vendor/public/assets/icons/fill/arrow-circle-down-fill.svg +1 -0
  1583. package/vendor/public/assets/icons/fill/arrow-circle-down-left-fill.svg +1 -0
  1584. package/vendor/public/assets/icons/fill/arrow-circle-down-right-fill.svg +1 -0
  1585. package/vendor/public/assets/icons/fill/arrow-circle-left-fill.svg +1 -0
  1586. package/vendor/public/assets/icons/fill/arrow-circle-right-fill.svg +1 -0
  1587. package/vendor/public/assets/icons/fill/arrow-circle-up-fill.svg +1 -0
  1588. package/vendor/public/assets/icons/fill/arrow-circle-up-left-fill.svg +1 -0
  1589. package/vendor/public/assets/icons/fill/arrow-circle-up-right-fill.svg +1 -0
  1590. package/vendor/public/assets/icons/fill/arrow-clockwise-fill.svg +1 -0
  1591. package/vendor/public/assets/icons/fill/arrow-counter-clockwise-fill.svg +1 -0
  1592. package/vendor/public/assets/icons/fill/arrow-down-fill.svg +1 -0
  1593. package/vendor/public/assets/icons/fill/arrow-down-left-fill.svg +1 -0
  1594. package/vendor/public/assets/icons/fill/arrow-down-right-fill.svg +1 -0
  1595. package/vendor/public/assets/icons/fill/arrow-elbow-down-left-fill.svg +1 -0
  1596. package/vendor/public/assets/icons/fill/arrow-elbow-down-right-fill.svg +1 -0
  1597. package/vendor/public/assets/icons/fill/arrow-elbow-left-down-fill.svg +1 -0
  1598. package/vendor/public/assets/icons/fill/arrow-elbow-left-fill.svg +1 -0
  1599. package/vendor/public/assets/icons/fill/arrow-elbow-left-up-fill.svg +1 -0
  1600. package/vendor/public/assets/icons/fill/arrow-elbow-right-down-fill.svg +1 -0
  1601. package/vendor/public/assets/icons/fill/arrow-elbow-right-fill.svg +1 -0
  1602. package/vendor/public/assets/icons/fill/arrow-elbow-right-up-fill.svg +1 -0
  1603. package/vendor/public/assets/icons/fill/arrow-elbow-up-left-fill.svg +1 -0
  1604. package/vendor/public/assets/icons/fill/arrow-elbow-up-right-fill.svg +1 -0
  1605. package/vendor/public/assets/icons/fill/arrow-fat-down-fill.svg +1 -0
  1606. package/vendor/public/assets/icons/fill/arrow-fat-left-fill.svg +1 -0
  1607. package/vendor/public/assets/icons/fill/arrow-fat-line-down-fill.svg +1 -0
  1608. package/vendor/public/assets/icons/fill/arrow-fat-line-left-fill.svg +1 -0
  1609. package/vendor/public/assets/icons/fill/arrow-fat-line-right-fill.svg +1 -0
  1610. package/vendor/public/assets/icons/fill/arrow-fat-line-up-fill.svg +1 -0
  1611. package/vendor/public/assets/icons/fill/arrow-fat-lines-down-fill.svg +1 -0
  1612. package/vendor/public/assets/icons/fill/arrow-fat-lines-left-fill.svg +1 -0
  1613. package/vendor/public/assets/icons/fill/arrow-fat-lines-right-fill.svg +1 -0
  1614. package/vendor/public/assets/icons/fill/arrow-fat-lines-up-fill.svg +1 -0
  1615. package/vendor/public/assets/icons/fill/arrow-fat-right-fill.svg +1 -0
  1616. package/vendor/public/assets/icons/fill/arrow-fat-up-fill.svg +1 -0
  1617. package/vendor/public/assets/icons/fill/arrow-left-fill.svg +1 -0
  1618. package/vendor/public/assets/icons/fill/arrow-line-down-fill.svg +1 -0
  1619. package/vendor/public/assets/icons/fill/arrow-line-down-left-fill.svg +1 -0
  1620. package/vendor/public/assets/icons/fill/arrow-line-down-right-fill.svg +1 -0
  1621. package/vendor/public/assets/icons/fill/arrow-line-left-fill.svg +1 -0
  1622. package/vendor/public/assets/icons/fill/arrow-line-right-fill.svg +1 -0
  1623. package/vendor/public/assets/icons/fill/arrow-line-up-fill.svg +1 -0
  1624. package/vendor/public/assets/icons/fill/arrow-line-up-left-fill.svg +1 -0
  1625. package/vendor/public/assets/icons/fill/arrow-line-up-right-fill.svg +1 -0
  1626. package/vendor/public/assets/icons/fill/arrow-right-fill.svg +1 -0
  1627. package/vendor/public/assets/icons/fill/arrow-square-down-fill.svg +1 -0
  1628. package/vendor/public/assets/icons/fill/arrow-square-down-left-fill.svg +1 -0
  1629. package/vendor/public/assets/icons/fill/arrow-square-down-right-fill.svg +1 -0
  1630. package/vendor/public/assets/icons/fill/arrow-square-in-fill.svg +1 -0
  1631. package/vendor/public/assets/icons/fill/arrow-square-left-fill.svg +1 -0
  1632. package/vendor/public/assets/icons/fill/arrow-square-out-fill.svg +1 -0
  1633. package/vendor/public/assets/icons/fill/arrow-square-right-fill.svg +1 -0
  1634. package/vendor/public/assets/icons/fill/arrow-square-up-fill.svg +1 -0
  1635. package/vendor/public/assets/icons/fill/arrow-square-up-left-fill.svg +1 -0
  1636. package/vendor/public/assets/icons/fill/arrow-square-up-right-fill.svg +1 -0
  1637. package/vendor/public/assets/icons/fill/arrow-u-down-left-fill.svg +1 -0
  1638. package/vendor/public/assets/icons/fill/arrow-u-down-right-fill.svg +1 -0
  1639. package/vendor/public/assets/icons/fill/arrow-u-left-down-fill.svg +1 -0
  1640. package/vendor/public/assets/icons/fill/arrow-u-left-up-fill.svg +1 -0
  1641. package/vendor/public/assets/icons/fill/arrow-u-right-down-fill.svg +1 -0
  1642. package/vendor/public/assets/icons/fill/arrow-u-right-up-fill.svg +1 -0
  1643. package/vendor/public/assets/icons/fill/arrow-u-up-left-fill.svg +1 -0
  1644. package/vendor/public/assets/icons/fill/arrow-u-up-right-fill.svg +1 -0
  1645. package/vendor/public/assets/icons/fill/arrow-up-fill.svg +1 -0
  1646. package/vendor/public/assets/icons/fill/arrow-up-left-fill.svg +1 -0
  1647. package/vendor/public/assets/icons/fill/arrow-up-right-fill.svg +1 -0
  1648. package/vendor/public/assets/icons/fill/arrows-clockwise-fill.svg +1 -0
  1649. package/vendor/public/assets/icons/fill/arrows-counter-clockwise-fill.svg +1 -0
  1650. package/vendor/public/assets/icons/fill/arrows-down-up-fill.svg +1 -0
  1651. package/vendor/public/assets/icons/fill/arrows-horizontal-fill.svg +1 -0
  1652. package/vendor/public/assets/icons/fill/arrows-in-cardinal-fill.svg +1 -0
  1653. package/vendor/public/assets/icons/fill/arrows-in-fill.svg +1 -0
  1654. package/vendor/public/assets/icons/fill/arrows-in-line-horizontal-fill.svg +1 -0
  1655. package/vendor/public/assets/icons/fill/arrows-in-line-vertical-fill.svg +1 -0
  1656. package/vendor/public/assets/icons/fill/arrows-in-simple-fill.svg +1 -0
  1657. package/vendor/public/assets/icons/fill/arrows-left-right-fill.svg +1 -0
  1658. package/vendor/public/assets/icons/fill/arrows-merge-fill.svg +1 -0
  1659. package/vendor/public/assets/icons/fill/arrows-out-cardinal-fill.svg +1 -0
  1660. package/vendor/public/assets/icons/fill/arrows-out-fill.svg +1 -0
  1661. package/vendor/public/assets/icons/fill/arrows-out-line-horizontal-fill.svg +1 -0
  1662. package/vendor/public/assets/icons/fill/arrows-out-line-vertical-fill.svg +1 -0
  1663. package/vendor/public/assets/icons/fill/arrows-out-simple-fill.svg +1 -0
  1664. package/vendor/public/assets/icons/fill/arrows-split-fill.svg +1 -0
  1665. package/vendor/public/assets/icons/fill/arrows-vertical-fill.svg +1 -0
  1666. package/vendor/public/assets/icons/fill/article-fill.svg +1 -0
  1667. package/vendor/public/assets/icons/fill/article-medium-fill.svg +1 -0
  1668. package/vendor/public/assets/icons/fill/article-ny-times-fill.svg +1 -0
  1669. package/vendor/public/assets/icons/fill/asclepius-fill.svg +1 -0
  1670. package/vendor/public/assets/icons/fill/asterisk-fill.svg +1 -0
  1671. package/vendor/public/assets/icons/fill/asterisk-simple-fill.svg +1 -0
  1672. package/vendor/public/assets/icons/fill/at-fill.svg +1 -0
  1673. package/vendor/public/assets/icons/fill/atom-fill.svg +1 -0
  1674. package/vendor/public/assets/icons/fill/avocado-fill.svg +1 -0
  1675. package/vendor/public/assets/icons/fill/axe-fill.svg +1 -0
  1676. package/vendor/public/assets/icons/fill/baby-carriage-fill.svg +1 -0
  1677. package/vendor/public/assets/icons/fill/baby-fill.svg +1 -0
  1678. package/vendor/public/assets/icons/fill/backpack-fill.svg +1 -0
  1679. package/vendor/public/assets/icons/fill/backspace-fill.svg +1 -0
  1680. package/vendor/public/assets/icons/fill/bag-fill.svg +1 -0
  1681. package/vendor/public/assets/icons/fill/bag-simple-fill.svg +1 -0
  1682. package/vendor/public/assets/icons/fill/balloon-fill.svg +1 -0
  1683. package/vendor/public/assets/icons/fill/bandaids-fill.svg +1 -0
  1684. package/vendor/public/assets/icons/fill/bank-fill.svg +1 -0
  1685. package/vendor/public/assets/icons/fill/barbell-fill.svg +1 -0
  1686. package/vendor/public/assets/icons/fill/barcode-fill.svg +1 -0
  1687. package/vendor/public/assets/icons/fill/barn-fill.svg +1 -0
  1688. package/vendor/public/assets/icons/fill/barricade-fill.svg +1 -0
  1689. package/vendor/public/assets/icons/fill/baseball-cap-fill.svg +1 -0
  1690. package/vendor/public/assets/icons/fill/baseball-fill.svg +1 -0
  1691. package/vendor/public/assets/icons/fill/baseball-helmet-fill.svg +1 -0
  1692. package/vendor/public/assets/icons/fill/basket-fill.svg +1 -0
  1693. package/vendor/public/assets/icons/fill/basketball-fill.svg +1 -0
  1694. package/vendor/public/assets/icons/fill/bathtub-fill.svg +1 -0
  1695. package/vendor/public/assets/icons/fill/battery-charging-fill.svg +1 -0
  1696. package/vendor/public/assets/icons/fill/battery-charging-vertical-fill.svg +1 -0
  1697. package/vendor/public/assets/icons/fill/battery-empty-fill.svg +1 -0
  1698. package/vendor/public/assets/icons/fill/battery-full-fill.svg +1 -0
  1699. package/vendor/public/assets/icons/fill/battery-high-fill.svg +1 -0
  1700. package/vendor/public/assets/icons/fill/battery-low-fill.svg +1 -0
  1701. package/vendor/public/assets/icons/fill/battery-medium-fill.svg +1 -0
  1702. package/vendor/public/assets/icons/fill/battery-plus-fill.svg +1 -0
  1703. package/vendor/public/assets/icons/fill/battery-plus-vertical-fill.svg +1 -0
  1704. package/vendor/public/assets/icons/fill/battery-vertical-empty-fill.svg +1 -0
  1705. package/vendor/public/assets/icons/fill/battery-vertical-full-fill.svg +1 -0
  1706. package/vendor/public/assets/icons/fill/battery-vertical-high-fill.svg +1 -0
  1707. package/vendor/public/assets/icons/fill/battery-vertical-low-fill.svg +1 -0
  1708. package/vendor/public/assets/icons/fill/battery-vertical-medium-fill.svg +1 -0
  1709. package/vendor/public/assets/icons/fill/battery-warning-fill.svg +1 -0
  1710. package/vendor/public/assets/icons/fill/battery-warning-vertical-fill.svg +1 -0
  1711. package/vendor/public/assets/icons/fill/beach-ball-fill.svg +1 -0
  1712. package/vendor/public/assets/icons/fill/beanie-fill.svg +1 -0
  1713. package/vendor/public/assets/icons/fill/bed-fill.svg +1 -0
  1714. package/vendor/public/assets/icons/fill/beer-bottle-fill.svg +1 -0
  1715. package/vendor/public/assets/icons/fill/beer-stein-fill.svg +1 -0
  1716. package/vendor/public/assets/icons/fill/behance-logo-fill.svg +1 -0
  1717. package/vendor/public/assets/icons/fill/bell-fill.svg +1 -0
  1718. package/vendor/public/assets/icons/fill/bell-ringing-fill.svg +1 -0
  1719. package/vendor/public/assets/icons/fill/bell-simple-fill.svg +1 -0
  1720. package/vendor/public/assets/icons/fill/bell-simple-ringing-fill.svg +1 -0
  1721. package/vendor/public/assets/icons/fill/bell-simple-slash-fill.svg +1 -0
  1722. package/vendor/public/assets/icons/fill/bell-simple-z-fill.svg +1 -0
  1723. package/vendor/public/assets/icons/fill/bell-slash-fill.svg +1 -0
  1724. package/vendor/public/assets/icons/fill/bell-z-fill.svg +1 -0
  1725. package/vendor/public/assets/icons/fill/belt-fill.svg +1 -0
  1726. package/vendor/public/assets/icons/fill/bezier-curve-fill.svg +1 -0
  1727. package/vendor/public/assets/icons/fill/bicycle-fill.svg +1 -0
  1728. package/vendor/public/assets/icons/fill/binary-fill.svg +1 -0
  1729. package/vendor/public/assets/icons/fill/binoculars-fill.svg +1 -0
  1730. package/vendor/public/assets/icons/fill/biohazard-fill.svg +1 -0
  1731. package/vendor/public/assets/icons/fill/bird-fill.svg +1 -0
  1732. package/vendor/public/assets/icons/fill/blueprint-fill.svg +1 -0
  1733. package/vendor/public/assets/icons/fill/bluetooth-connected-fill.svg +1 -0
  1734. package/vendor/public/assets/icons/fill/bluetooth-fill.svg +1 -0
  1735. package/vendor/public/assets/icons/fill/bluetooth-slash-fill.svg +1 -0
  1736. package/vendor/public/assets/icons/fill/bluetooth-x-fill.svg +1 -0
  1737. package/vendor/public/assets/icons/fill/boat-fill.svg +1 -0
  1738. package/vendor/public/assets/icons/fill/bomb-fill.svg +1 -0
  1739. package/vendor/public/assets/icons/fill/bone-fill.svg +1 -0
  1740. package/vendor/public/assets/icons/fill/book-bookmark-fill.svg +1 -0
  1741. package/vendor/public/assets/icons/fill/book-fill.svg +1 -0
  1742. package/vendor/public/assets/icons/fill/book-open-fill.svg +1 -0
  1743. package/vendor/public/assets/icons/fill/book-open-text-fill.svg +1 -0
  1744. package/vendor/public/assets/icons/fill/book-open-user-fill.svg +1 -0
  1745. package/vendor/public/assets/icons/fill/bookmark-fill.svg +1 -0
  1746. package/vendor/public/assets/icons/fill/bookmark-simple-fill.svg +1 -0
  1747. package/vendor/public/assets/icons/fill/bookmarks-fill.svg +1 -0
  1748. package/vendor/public/assets/icons/fill/bookmarks-simple-fill.svg +1 -0
  1749. package/vendor/public/assets/icons/fill/books-fill.svg +1 -0
  1750. package/vendor/public/assets/icons/fill/boot-fill.svg +1 -0
  1751. package/vendor/public/assets/icons/fill/boules-fill.svg +1 -0
  1752. package/vendor/public/assets/icons/fill/bounding-box-fill.svg +1 -0
  1753. package/vendor/public/assets/icons/fill/bowl-food-fill.svg +1 -0
  1754. package/vendor/public/assets/icons/fill/bowl-steam-fill.svg +1 -0
  1755. package/vendor/public/assets/icons/fill/bowling-ball-fill.svg +1 -0
  1756. package/vendor/public/assets/icons/fill/box-arrow-down-fill.svg +1 -0
  1757. package/vendor/public/assets/icons/fill/box-arrow-up-fill.svg +1 -0
  1758. package/vendor/public/assets/icons/fill/boxing-glove-fill.svg +1 -0
  1759. package/vendor/public/assets/icons/fill/brackets-angle-fill.svg +1 -0
  1760. package/vendor/public/assets/icons/fill/brackets-curly-fill.svg +1 -0
  1761. package/vendor/public/assets/icons/fill/brackets-round-fill.svg +1 -0
  1762. package/vendor/public/assets/icons/fill/brackets-square-fill.svg +1 -0
  1763. package/vendor/public/assets/icons/fill/brain-fill.svg +1 -0
  1764. package/vendor/public/assets/icons/fill/brandy-fill.svg +1 -0
  1765. package/vendor/public/assets/icons/fill/bread-fill.svg +1 -0
  1766. package/vendor/public/assets/icons/fill/bridge-fill.svg +1 -0
  1767. package/vendor/public/assets/icons/fill/briefcase-fill.svg +1 -0
  1768. package/vendor/public/assets/icons/fill/briefcase-metal-fill.svg +1 -0
  1769. package/vendor/public/assets/icons/fill/broadcast-fill.svg +1 -0
  1770. package/vendor/public/assets/icons/fill/broom-fill.svg +1 -0
  1771. package/vendor/public/assets/icons/fill/browser-fill.svg +1 -0
  1772. package/vendor/public/assets/icons/fill/browsers-fill.svg +1 -0
  1773. package/vendor/public/assets/icons/fill/bug-beetle-fill.svg +1 -0
  1774. package/vendor/public/assets/icons/fill/bug-droid-fill.svg +1 -0
  1775. package/vendor/public/assets/icons/fill/bug-fill.svg +1 -0
  1776. package/vendor/public/assets/icons/fill/building-apartment-fill.svg +1 -0
  1777. package/vendor/public/assets/icons/fill/building-fill.svg +1 -0
  1778. package/vendor/public/assets/icons/fill/building-office-fill.svg +1 -0
  1779. package/vendor/public/assets/icons/fill/buildings-fill.svg +1 -0
  1780. package/vendor/public/assets/icons/fill/bulldozer-fill.svg +1 -0
  1781. package/vendor/public/assets/icons/fill/bus-fill.svg +1 -0
  1782. package/vendor/public/assets/icons/fill/butterfly-fill.svg +1 -0
  1783. package/vendor/public/assets/icons/fill/cable-car-fill.svg +1 -0
  1784. package/vendor/public/assets/icons/fill/cactus-fill.svg +1 -0
  1785. package/vendor/public/assets/icons/fill/cake-fill.svg +1 -0
  1786. package/vendor/public/assets/icons/fill/calculator-fill.svg +1 -0
  1787. package/vendor/public/assets/icons/fill/calendar-blank-fill.svg +1 -0
  1788. package/vendor/public/assets/icons/fill/calendar-check-fill.svg +1 -0
  1789. package/vendor/public/assets/icons/fill/calendar-dot-fill.svg +1 -0
  1790. package/vendor/public/assets/icons/fill/calendar-dots-fill.svg +1 -0
  1791. package/vendor/public/assets/icons/fill/calendar-fill.svg +1 -0
  1792. package/vendor/public/assets/icons/fill/calendar-heart-fill.svg +1 -0
  1793. package/vendor/public/assets/icons/fill/calendar-minus-fill.svg +1 -0
  1794. package/vendor/public/assets/icons/fill/calendar-plus-fill.svg +1 -0
  1795. package/vendor/public/assets/icons/fill/calendar-slash-fill.svg +1 -0
  1796. package/vendor/public/assets/icons/fill/calendar-star-fill.svg +1 -0
  1797. package/vendor/public/assets/icons/fill/calendar-x-fill.svg +1 -0
  1798. package/vendor/public/assets/icons/fill/call-bell-fill.svg +1 -0
  1799. package/vendor/public/assets/icons/fill/camera-fill.svg +1 -0
  1800. package/vendor/public/assets/icons/fill/camera-plus-fill.svg +1 -0
  1801. package/vendor/public/assets/icons/fill/camera-rotate-fill.svg +1 -0
  1802. package/vendor/public/assets/icons/fill/camera-slash-fill.svg +1 -0
  1803. package/vendor/public/assets/icons/fill/campfire-fill.svg +1 -0
  1804. package/vendor/public/assets/icons/fill/car-battery-fill.svg +1 -0
  1805. package/vendor/public/assets/icons/fill/car-fill.svg +1 -0
  1806. package/vendor/public/assets/icons/fill/car-profile-fill.svg +1 -0
  1807. package/vendor/public/assets/icons/fill/car-simple-fill.svg +1 -0
  1808. package/vendor/public/assets/icons/fill/card.svg +5 -0
  1809. package/vendor/public/assets/icons/fill/cardholder-fill.svg +1 -0
  1810. package/vendor/public/assets/icons/fill/cards-fill.svg +1 -0
  1811. package/vendor/public/assets/icons/fill/cards-three-fill.svg +1 -0
  1812. package/vendor/public/assets/icons/fill/caret-circle-double-down-fill.svg +1 -0
  1813. package/vendor/public/assets/icons/fill/caret-circle-double-left-fill.svg +1 -0
  1814. package/vendor/public/assets/icons/fill/caret-circle-double-right-fill.svg +1 -0
  1815. package/vendor/public/assets/icons/fill/caret-circle-double-up-fill.svg +1 -0
  1816. package/vendor/public/assets/icons/fill/caret-circle-down-fill.svg +1 -0
  1817. package/vendor/public/assets/icons/fill/caret-circle-left-fill.svg +1 -0
  1818. package/vendor/public/assets/icons/fill/caret-circle-right-fill.svg +1 -0
  1819. package/vendor/public/assets/icons/fill/caret-circle-up-down-fill.svg +1 -0
  1820. package/vendor/public/assets/icons/fill/caret-circle-up-fill.svg +1 -0
  1821. package/vendor/public/assets/icons/fill/caret-double-down-fill.svg +1 -0
  1822. package/vendor/public/assets/icons/fill/caret-double-left-fill.svg +1 -0
  1823. package/vendor/public/assets/icons/fill/caret-double-right-fill.svg +1 -0
  1824. package/vendor/public/assets/icons/fill/caret-double-up-fill.svg +1 -0
  1825. package/vendor/public/assets/icons/fill/caret-down-fill.svg +1 -0
  1826. package/vendor/public/assets/icons/fill/caret-left-fill.svg +1 -0
  1827. package/vendor/public/assets/icons/fill/caret-line-down-fill.svg +1 -0
  1828. package/vendor/public/assets/icons/fill/caret-line-left-fill.svg +1 -0
  1829. package/vendor/public/assets/icons/fill/caret-line-right-fill.svg +1 -0
  1830. package/vendor/public/assets/icons/fill/caret-line-up-fill.svg +1 -0
  1831. package/vendor/public/assets/icons/fill/caret-right-fill.svg +1 -0
  1832. package/vendor/public/assets/icons/fill/caret-up-down-fill.svg +1 -0
  1833. package/vendor/public/assets/icons/fill/caret-up-fill.svg +1 -0
  1834. package/vendor/public/assets/icons/fill/carrot-fill.svg +1 -0
  1835. package/vendor/public/assets/icons/fill/cash-register-fill.svg +1 -0
  1836. package/vendor/public/assets/icons/fill/cassette-tape-fill.svg +1 -0
  1837. package/vendor/public/assets/icons/fill/castle-turret-fill.svg +1 -0
  1838. package/vendor/public/assets/icons/fill/cat-fill.svg +1 -0
  1839. package/vendor/public/assets/icons/fill/cell-signal-full-fill.svg +1 -0
  1840. package/vendor/public/assets/icons/fill/cell-signal-high-fill.svg +1 -0
  1841. package/vendor/public/assets/icons/fill/cell-signal-low-fill.svg +1 -0
  1842. package/vendor/public/assets/icons/fill/cell-signal-medium-fill.svg +1 -0
  1843. package/vendor/public/assets/icons/fill/cell-signal-none-fill.svg +1 -0
  1844. package/vendor/public/assets/icons/fill/cell-signal-slash-fill.svg +1 -0
  1845. package/vendor/public/assets/icons/fill/cell-signal-x-fill.svg +1 -0
  1846. package/vendor/public/assets/icons/fill/cell-tower-fill.svg +1 -0
  1847. package/vendor/public/assets/icons/fill/certificate-fill.svg +1 -0
  1848. package/vendor/public/assets/icons/fill/chair-fill.svg +1 -0
  1849. package/vendor/public/assets/icons/fill/chalkboard-fill.svg +1 -0
  1850. package/vendor/public/assets/icons/fill/chalkboard-simple-fill.svg +1 -0
  1851. package/vendor/public/assets/icons/fill/chalkboard-teacher-fill.svg +1 -0
  1852. package/vendor/public/assets/icons/fill/champagne-fill.svg +1 -0
  1853. package/vendor/public/assets/icons/fill/charging-station-fill.svg +1 -0
  1854. package/vendor/public/assets/icons/fill/chart-bar-fill.svg +1 -0
  1855. package/vendor/public/assets/icons/fill/chart-bar-horizontal-fill.svg +1 -0
  1856. package/vendor/public/assets/icons/fill/chart-donut-fill.svg +1 -0
  1857. package/vendor/public/assets/icons/fill/chart-line-down-fill.svg +1 -0
  1858. package/vendor/public/assets/icons/fill/chart-line-fill.svg +1 -0
  1859. package/vendor/public/assets/icons/fill/chart-line-up-fill.svg +1 -0
  1860. package/vendor/public/assets/icons/fill/chart-pie-fill.svg +1 -0
  1861. package/vendor/public/assets/icons/fill/chart-pie-slice-fill.svg +1 -0
  1862. package/vendor/public/assets/icons/fill/chart-polar-fill.svg +1 -0
  1863. package/vendor/public/assets/icons/fill/chart-scatter-fill.svg +1 -0
  1864. package/vendor/public/assets/icons/fill/chat-centered-dots-fill.svg +1 -0
  1865. package/vendor/public/assets/icons/fill/chat-centered-fill.svg +1 -0
  1866. package/vendor/public/assets/icons/fill/chat-centered-slash-fill.svg +1 -0
  1867. package/vendor/public/assets/icons/fill/chat-centered-text-fill.svg +1 -0
  1868. package/vendor/public/assets/icons/fill/chat-circle-dots-fill.svg +1 -0
  1869. package/vendor/public/assets/icons/fill/chat-circle-fill.svg +1 -0
  1870. package/vendor/public/assets/icons/fill/chat-circle-slash-fill.svg +1 -0
  1871. package/vendor/public/assets/icons/fill/chat-circle-text-fill.svg +1 -0
  1872. package/vendor/public/assets/icons/fill/chat-dots-fill.svg +1 -0
  1873. package/vendor/public/assets/icons/fill/chat-fill.svg +1 -0
  1874. package/vendor/public/assets/icons/fill/chat-slash-fill.svg +1 -0
  1875. package/vendor/public/assets/icons/fill/chat-teardrop-dots-fill.svg +1 -0
  1876. package/vendor/public/assets/icons/fill/chat-teardrop-fill.svg +1 -0
  1877. package/vendor/public/assets/icons/fill/chat-teardrop-slash-fill.svg +1 -0
  1878. package/vendor/public/assets/icons/fill/chat-teardrop-text-fill.svg +1 -0
  1879. package/vendor/public/assets/icons/fill/chat-text-fill.svg +1 -0
  1880. package/vendor/public/assets/icons/fill/chats-circle-fill.svg +1 -0
  1881. package/vendor/public/assets/icons/fill/chats-fill.svg +1 -0
  1882. package/vendor/public/assets/icons/fill/chats-teardrop-fill.svg +1 -0
  1883. package/vendor/public/assets/icons/fill/check-circle-fill.svg +1 -0
  1884. package/vendor/public/assets/icons/fill/check-fat-fill.svg +3 -0
  1885. package/vendor/public/assets/icons/fill/check-fill.svg +1 -0
  1886. package/vendor/public/assets/icons/fill/check-square-fill.svg +1 -0
  1887. package/vendor/public/assets/icons/fill/check-square-offset-fill.svg +1 -0
  1888. package/vendor/public/assets/icons/fill/checkerboard-fill.svg +1 -0
  1889. package/vendor/public/assets/icons/fill/checks-fill.svg +1 -0
  1890. package/vendor/public/assets/icons/fill/cheers-fill.svg +1 -0
  1891. package/vendor/public/assets/icons/fill/cheese-fill.svg +1 -0
  1892. package/vendor/public/assets/icons/fill/chef-hat-fill.svg +1 -0
  1893. package/vendor/public/assets/icons/fill/cherries-fill.svg +1 -0
  1894. package/vendor/public/assets/icons/fill/church-fill.svg +1 -0
  1895. package/vendor/public/assets/icons/fill/cigarette-fill.svg +1 -0
  1896. package/vendor/public/assets/icons/fill/cigarette-slash-fill.svg +1 -0
  1897. package/vendor/public/assets/icons/fill/circle-dashed-fill.svg +1 -0
  1898. package/vendor/public/assets/icons/fill/circle-fill.svg +1 -0
  1899. package/vendor/public/assets/icons/fill/circle-half-fill.svg +1 -0
  1900. package/vendor/public/assets/icons/fill/circle-half-tilt-fill.svg +1 -0
  1901. package/vendor/public/assets/icons/fill/circle-notch-fill.svg +1 -0
  1902. package/vendor/public/assets/icons/fill/circles-four-fill.svg +1 -0
  1903. package/vendor/public/assets/icons/fill/circles-three-fill.svg +1 -0
  1904. package/vendor/public/assets/icons/fill/circles-three-plus-fill.svg +1 -0
  1905. package/vendor/public/assets/icons/fill/circuitry-fill.svg +1 -0
  1906. package/vendor/public/assets/icons/fill/city-fill.svg +1 -0
  1907. package/vendor/public/assets/icons/fill/clipboard-fill.svg +1 -0
  1908. package/vendor/public/assets/icons/fill/clipboard-text-fill.svg +1 -0
  1909. package/vendor/public/assets/icons/fill/clock-afternoon-fill.svg +1 -0
  1910. package/vendor/public/assets/icons/fill/clock-clockwise-fill.svg +1 -0
  1911. package/vendor/public/assets/icons/fill/clock-countdown-fill.svg +1 -0
  1912. package/vendor/public/assets/icons/fill/clock-counter-clockwise-fill.svg +1 -0
  1913. package/vendor/public/assets/icons/fill/clock-fill.svg +1 -0
  1914. package/vendor/public/assets/icons/fill/clock-user-fill.svg +1 -0
  1915. package/vendor/public/assets/icons/fill/closed-captioning-fill.svg +1 -0
  1916. package/vendor/public/assets/icons/fill/cloud-arrow-down-fill.svg +1 -0
  1917. package/vendor/public/assets/icons/fill/cloud-arrow-up-fill.svg +1 -0
  1918. package/vendor/public/assets/icons/fill/cloud-check-fill.svg +1 -0
  1919. package/vendor/public/assets/icons/fill/cloud-fill.svg +1 -0
  1920. package/vendor/public/assets/icons/fill/cloud-fog-fill.svg +1 -0
  1921. package/vendor/public/assets/icons/fill/cloud-lightning-fill.svg +1 -0
  1922. package/vendor/public/assets/icons/fill/cloud-moon-fill.svg +1 -0
  1923. package/vendor/public/assets/icons/fill/cloud-rain-fill.svg +1 -0
  1924. package/vendor/public/assets/icons/fill/cloud-slash-fill.svg +1 -0
  1925. package/vendor/public/assets/icons/fill/cloud-snow-fill.svg +1 -0
  1926. package/vendor/public/assets/icons/fill/cloud-sun-fill.svg +1 -0
  1927. package/vendor/public/assets/icons/fill/cloud-warning-fill.svg +1 -0
  1928. package/vendor/public/assets/icons/fill/cloud-x-fill.svg +1 -0
  1929. package/vendor/public/assets/icons/fill/clover-fill.svg +1 -0
  1930. package/vendor/public/assets/icons/fill/club-fill.svg +1 -0
  1931. package/vendor/public/assets/icons/fill/coat-hanger-fill.svg +1 -0
  1932. package/vendor/public/assets/icons/fill/coda-logo-fill.svg +1 -0
  1933. package/vendor/public/assets/icons/fill/code-block-fill.svg +1 -0
  1934. package/vendor/public/assets/icons/fill/code-fill.svg +1 -0
  1935. package/vendor/public/assets/icons/fill/code-simple-fill.svg +1 -0
  1936. package/vendor/public/assets/icons/fill/codepen-logo-fill.svg +1 -0
  1937. package/vendor/public/assets/icons/fill/codesandbox-logo-fill.svg +1 -0
  1938. package/vendor/public/assets/icons/fill/coffee-bean-fill.svg +1 -0
  1939. package/vendor/public/assets/icons/fill/coffee-fill.svg +1 -0
  1940. package/vendor/public/assets/icons/fill/coin-fill.svg +1 -0
  1941. package/vendor/public/assets/icons/fill/coin-vertical-fill.svg +1 -0
  1942. package/vendor/public/assets/icons/fill/coins-fill.svg +1 -0
  1943. package/vendor/public/assets/icons/fill/columns-fill.svg +1 -0
  1944. package/vendor/public/assets/icons/fill/columns-plus-left-fill.svg +1 -0
  1945. package/vendor/public/assets/icons/fill/columns-plus-right-fill.svg +1 -0
  1946. package/vendor/public/assets/icons/fill/command-fill.svg +1 -0
  1947. package/vendor/public/assets/icons/fill/compass-fill.svg +1 -0
  1948. package/vendor/public/assets/icons/fill/compass-rose-fill.svg +1 -0
  1949. package/vendor/public/assets/icons/fill/compass-tool-fill.svg +1 -0
  1950. package/vendor/public/assets/icons/fill/computer-tower-fill.svg +1 -0
  1951. package/vendor/public/assets/icons/fill/confetti-fill.svg +1 -0
  1952. package/vendor/public/assets/icons/fill/contactless-payment-fill.svg +1 -0
  1953. package/vendor/public/assets/icons/fill/control-fill.svg +1 -0
  1954. package/vendor/public/assets/icons/fill/cookie-fill.svg +1 -0
  1955. package/vendor/public/assets/icons/fill/cooking-pot-fill.svg +1 -0
  1956. package/vendor/public/assets/icons/fill/copy-fill.svg +1 -0
  1957. package/vendor/public/assets/icons/fill/copy-simple-fill.svg +1 -0
  1958. package/vendor/public/assets/icons/fill/copyleft-fill.svg +1 -0
  1959. package/vendor/public/assets/icons/fill/copyright-fill.svg +1 -0
  1960. package/vendor/public/assets/icons/fill/corners-in-fill.svg +1 -0
  1961. package/vendor/public/assets/icons/fill/corners-out-fill.svg +1 -0
  1962. package/vendor/public/assets/icons/fill/couch-fill.svg +1 -0
  1963. package/vendor/public/assets/icons/fill/court-basketball-fill.svg +1 -0
  1964. package/vendor/public/assets/icons/fill/cow-fill.svg +1 -0
  1965. package/vendor/public/assets/icons/fill/cowboy-hat-fill.svg +1 -0
  1966. package/vendor/public/assets/icons/fill/cpu-fill.svg +1 -0
  1967. package/vendor/public/assets/icons/fill/crane-fill.svg +1 -0
  1968. package/vendor/public/assets/icons/fill/crane-tower-fill.svg +1 -0
  1969. package/vendor/public/assets/icons/fill/credit-card-fill.svg +1 -0
  1970. package/vendor/public/assets/icons/fill/cricket-fill.svg +1 -0
  1971. package/vendor/public/assets/icons/fill/crop-fill.svg +1 -0
  1972. package/vendor/public/assets/icons/fill/cross-fill.svg +1 -0
  1973. package/vendor/public/assets/icons/fill/crosshair-fill.svg +1 -0
  1974. package/vendor/public/assets/icons/fill/crosshair-simple-fill.svg +1 -0
  1975. package/vendor/public/assets/icons/fill/crown-cross-fill.svg +1 -0
  1976. package/vendor/public/assets/icons/fill/crown-fill.svg +1 -0
  1977. package/vendor/public/assets/icons/fill/crown-simple-fill.svg +1 -0
  1978. package/vendor/public/assets/icons/fill/cube-fill.svg +1 -0
  1979. package/vendor/public/assets/icons/fill/cube-focus-fill.svg +1 -0
  1980. package/vendor/public/assets/icons/fill/cube-transparent-fill.svg +1 -0
  1981. package/vendor/public/assets/icons/fill/currency-btc-fill.svg +1 -0
  1982. package/vendor/public/assets/icons/fill/currency-circle-dollar-fill.svg +1 -0
  1983. package/vendor/public/assets/icons/fill/currency-cny-fill.svg +1 -0
  1984. package/vendor/public/assets/icons/fill/currency-dollar-fill.svg +1 -0
  1985. package/vendor/public/assets/icons/fill/currency-dollar-simple-fill.svg +1 -0
  1986. package/vendor/public/assets/icons/fill/currency-eth-fill.svg +1 -0
  1987. package/vendor/public/assets/icons/fill/currency-eur-fill.svg +1 -0
  1988. package/vendor/public/assets/icons/fill/currency-gbp-fill.svg +1 -0
  1989. package/vendor/public/assets/icons/fill/currency-inr-fill.svg +1 -0
  1990. package/vendor/public/assets/icons/fill/currency-jpy-fill.svg +1 -0
  1991. package/vendor/public/assets/icons/fill/currency-krw-fill.svg +1 -0
  1992. package/vendor/public/assets/icons/fill/currency-kzt-fill.svg +1 -0
  1993. package/vendor/public/assets/icons/fill/currency-ngn-fill.svg +1 -0
  1994. package/vendor/public/assets/icons/fill/currency-rub-fill.svg +1 -0
  1995. package/vendor/public/assets/icons/fill/cursor-click-fill.svg +1 -0
  1996. package/vendor/public/assets/icons/fill/cursor-fill.svg +1 -0
  1997. package/vendor/public/assets/icons/fill/cursor-text-fill.svg +1 -0
  1998. package/vendor/public/assets/icons/fill/cylinder-fill.svg +1 -0
  1999. package/vendor/public/assets/icons/fill/database-fill.svg +1 -0
  2000. package/vendor/public/assets/icons/fill/desk-fill.svg +1 -0
  2001. package/vendor/public/assets/icons/fill/desktop-fill.svg +1 -0
  2002. package/vendor/public/assets/icons/fill/desktop-tower-fill.svg +1 -0
  2003. package/vendor/public/assets/icons/fill/detective-fill.svg +1 -0
  2004. package/vendor/public/assets/icons/fill/dev-to-logo-fill.svg +1 -0
  2005. package/vendor/public/assets/icons/fill/device-mobile-camera-fill.svg +1 -0
  2006. package/vendor/public/assets/icons/fill/device-mobile-fill.svg +1 -0
  2007. package/vendor/public/assets/icons/fill/device-mobile-slash-fill.svg +1 -0
  2008. package/vendor/public/assets/icons/fill/device-mobile-speaker-fill.svg +1 -0
  2009. package/vendor/public/assets/icons/fill/device-rotate-fill.svg +1 -0
  2010. package/vendor/public/assets/icons/fill/device-tablet-camera-fill.svg +1 -0
  2011. package/vendor/public/assets/icons/fill/device-tablet-fill.svg +1 -0
  2012. package/vendor/public/assets/icons/fill/device-tablet-speaker-fill.svg +1 -0
  2013. package/vendor/public/assets/icons/fill/devices-fill.svg +1 -0
  2014. package/vendor/public/assets/icons/fill/diamond-fill.svg +1 -0
  2015. package/vendor/public/assets/icons/fill/diamonds-four-fill.svg +1 -0
  2016. package/vendor/public/assets/icons/fill/dice-five-fill.svg +1 -0
  2017. package/vendor/public/assets/icons/fill/dice-four-fill.svg +1 -0
  2018. package/vendor/public/assets/icons/fill/dice-one-fill.svg +1 -0
  2019. package/vendor/public/assets/icons/fill/dice-six-fill.svg +1 -0
  2020. package/vendor/public/assets/icons/fill/dice-three-fill.svg +1 -0
  2021. package/vendor/public/assets/icons/fill/dice-two-fill.svg +1 -0
  2022. package/vendor/public/assets/icons/fill/disc-fill.svg +1 -0
  2023. package/vendor/public/assets/icons/fill/disco-ball-fill.svg +1 -0
  2024. package/vendor/public/assets/icons/fill/discord-logo-fill.svg +1 -0
  2025. package/vendor/public/assets/icons/fill/divide-fill.svg +1 -0
  2026. package/vendor/public/assets/icons/fill/dna-fill.svg +1 -0
  2027. package/vendor/public/assets/icons/fill/dog-fill.svg +1 -0
  2028. package/vendor/public/assets/icons/fill/door-fill.svg +1 -0
  2029. package/vendor/public/assets/icons/fill/door-open-fill.svg +1 -0
  2030. package/vendor/public/assets/icons/fill/dot-fill.svg +1 -0
  2031. package/vendor/public/assets/icons/fill/dot-outline-fill.svg +1 -0
  2032. package/vendor/public/assets/icons/fill/dots-nine-fill.svg +1 -0
  2033. package/vendor/public/assets/icons/fill/dots-six-fill.svg +1 -0
  2034. package/vendor/public/assets/icons/fill/dots-six-vertical-fill.svg +1 -0
  2035. package/vendor/public/assets/icons/fill/dots-three-circle-fill.svg +1 -0
  2036. package/vendor/public/assets/icons/fill/dots-three-circle-vertical-fill.svg +1 -0
  2037. package/vendor/public/assets/icons/fill/dots-three-fill.svg +1 -0
  2038. package/vendor/public/assets/icons/fill/dots-three-outline-fill.svg +1 -0
  2039. package/vendor/public/assets/icons/fill/dots-three-outline-vertical-fill.svg +1 -0
  2040. package/vendor/public/assets/icons/fill/dots-three-vertical-fill.svg +1 -0
  2041. package/vendor/public/assets/icons/fill/download-fill.svg +1 -0
  2042. package/vendor/public/assets/icons/fill/download-simple-fill.svg +1 -0
  2043. package/vendor/public/assets/icons/fill/dress-fill.svg +1 -0
  2044. package/vendor/public/assets/icons/fill/dresser-fill.svg +1 -0
  2045. package/vendor/public/assets/icons/fill/dribbble-logo-fill.svg +1 -0
  2046. package/vendor/public/assets/icons/fill/drone-fill.svg +1 -0
  2047. package/vendor/public/assets/icons/fill/drop-fill.svg +1 -0
  2048. package/vendor/public/assets/icons/fill/drop-half-bottom-fill.svg +1 -0
  2049. package/vendor/public/assets/icons/fill/drop-half-fill.svg +1 -0
  2050. package/vendor/public/assets/icons/fill/drop-simple-fill.svg +1 -0
  2051. package/vendor/public/assets/icons/fill/drop-slash-fill.svg +1 -0
  2052. package/vendor/public/assets/icons/fill/dropbox-logo-fill.svg +1 -0
  2053. package/vendor/public/assets/icons/fill/ear-fill.svg +1 -0
  2054. package/vendor/public/assets/icons/fill/ear-slash-fill.svg +1 -0
  2055. package/vendor/public/assets/icons/fill/egg-crack-fill.svg +1 -0
  2056. package/vendor/public/assets/icons/fill/egg-fill.svg +1 -0
  2057. package/vendor/public/assets/icons/fill/eject-fill.svg +1 -0
  2058. package/vendor/public/assets/icons/fill/eject-simple-fill.svg +1 -0
  2059. package/vendor/public/assets/icons/fill/elevator-fill.svg +1 -0
  2060. package/vendor/public/assets/icons/fill/empty-fill.svg +1 -0
  2061. package/vendor/public/assets/icons/fill/engine-fill.svg +1 -0
  2062. package/vendor/public/assets/icons/fill/envelope-fill.svg +1 -0
  2063. package/vendor/public/assets/icons/fill/envelope-open-fill.svg +1 -0
  2064. package/vendor/public/assets/icons/fill/envelope-simple-fill.svg +1 -0
  2065. package/vendor/public/assets/icons/fill/envelope-simple-open-fill.svg +1 -0
  2066. package/vendor/public/assets/icons/fill/equalizer-fill.svg +1 -0
  2067. package/vendor/public/assets/icons/fill/equals-fill.svg +1 -0
  2068. package/vendor/public/assets/icons/fill/eraser-fill.svg +1 -0
  2069. package/vendor/public/assets/icons/fill/escalator-down-fill.svg +1 -0
  2070. package/vendor/public/assets/icons/fill/escalator-up-fill.svg +1 -0
  2071. package/vendor/public/assets/icons/fill/exam-fill.svg +1 -0
  2072. package/vendor/public/assets/icons/fill/exclamation-mark-fill.svg +1 -0
  2073. package/vendor/public/assets/icons/fill/exclude-fill.svg +1 -0
  2074. package/vendor/public/assets/icons/fill/exclude-square-fill.svg +1 -0
  2075. package/vendor/public/assets/icons/fill/export-fill.svg +1 -0
  2076. package/vendor/public/assets/icons/fill/eye-closed-fill.svg +1 -0
  2077. package/vendor/public/assets/icons/fill/eye-fill.svg +1 -0
  2078. package/vendor/public/assets/icons/fill/eye-slash-fill.svg +1 -0
  2079. package/vendor/public/assets/icons/fill/eyedropper-fill.svg +1 -0
  2080. package/vendor/public/assets/icons/fill/eyedropper-sample-fill.svg +1 -0
  2081. package/vendor/public/assets/icons/fill/eyeglasses-fill.svg +1 -0
  2082. package/vendor/public/assets/icons/fill/eyes-fill.svg +1 -0
  2083. package/vendor/public/assets/icons/fill/face-mask-fill.svg +1 -0
  2084. package/vendor/public/assets/icons/fill/facebook-logo-fill.svg +1 -0
  2085. package/vendor/public/assets/icons/fill/factory-fill.svg +1 -0
  2086. package/vendor/public/assets/icons/fill/faders-fill.svg +1 -0
  2087. package/vendor/public/assets/icons/fill/faders-horizontal-fill.svg +1 -0
  2088. package/vendor/public/assets/icons/fill/fallout-shelter-fill.svg +1 -0
  2089. package/vendor/public/assets/icons/fill/fan-fill.svg +1 -0
  2090. package/vendor/public/assets/icons/fill/farm-fill.svg +1 -0
  2091. package/vendor/public/assets/icons/fill/fast-forward-circle-fill.svg +1 -0
  2092. package/vendor/public/assets/icons/fill/fast-forward-fill.svg +1 -0
  2093. package/vendor/public/assets/icons/fill/feather-fill.svg +1 -0
  2094. package/vendor/public/assets/icons/fill/fediverse-logo-fill.svg +1 -0
  2095. package/vendor/public/assets/icons/fill/figma-logo-fill.svg +1 -0
  2096. package/vendor/public/assets/icons/fill/file-archive-fill.svg +1 -0
  2097. package/vendor/public/assets/icons/fill/file-arrow-down-fill.svg +1 -0
  2098. package/vendor/public/assets/icons/fill/file-arrow-up-fill.svg +1 -0
  2099. package/vendor/public/assets/icons/fill/file-audio-fill.svg +1 -0
  2100. package/vendor/public/assets/icons/fill/file-c-fill.svg +1 -0
  2101. package/vendor/public/assets/icons/fill/file-c-sharp-fill.svg +1 -0
  2102. package/vendor/public/assets/icons/fill/file-cloud-fill.svg +1 -0
  2103. package/vendor/public/assets/icons/fill/file-code-fill.svg +1 -0
  2104. package/vendor/public/assets/icons/fill/file-cpp-fill.svg +1 -0
  2105. package/vendor/public/assets/icons/fill/file-css-fill.svg +1 -0
  2106. package/vendor/public/assets/icons/fill/file-csv-fill.svg +1 -0
  2107. package/vendor/public/assets/icons/fill/file-dashed-fill.svg +1 -0
  2108. package/vendor/public/assets/icons/fill/file-doc-fill.svg +1 -0
  2109. package/vendor/public/assets/icons/fill/file-fill.svg +1 -0
  2110. package/vendor/public/assets/icons/fill/file-html-fill.svg +1 -0
  2111. package/vendor/public/assets/icons/fill/file-image-fill.svg +1 -0
  2112. package/vendor/public/assets/icons/fill/file-ini-fill.svg +1 -0
  2113. package/vendor/public/assets/icons/fill/file-jpg-fill.svg +1 -0
  2114. package/vendor/public/assets/icons/fill/file-js-fill.svg +1 -0
  2115. package/vendor/public/assets/icons/fill/file-jsx-fill.svg +1 -0
  2116. package/vendor/public/assets/icons/fill/file-lock-fill.svg +1 -0
  2117. package/vendor/public/assets/icons/fill/file-magnifying-glass-fill.svg +1 -0
  2118. package/vendor/public/assets/icons/fill/file-md-fill.svg +1 -0
  2119. package/vendor/public/assets/icons/fill/file-minus-fill.svg +1 -0
  2120. package/vendor/public/assets/icons/fill/file-pdf-fill.svg +1 -0
  2121. package/vendor/public/assets/icons/fill/file-plus-fill.svg +1 -0
  2122. package/vendor/public/assets/icons/fill/file-png-fill.svg +1 -0
  2123. package/vendor/public/assets/icons/fill/file-ppt-fill.svg +1 -0
  2124. package/vendor/public/assets/icons/fill/file-py-fill.svg +1 -0
  2125. package/vendor/public/assets/icons/fill/file-rs-fill.svg +1 -0
  2126. package/vendor/public/assets/icons/fill/file-sql-fill.svg +1 -0
  2127. package/vendor/public/assets/icons/fill/file-svg-fill.svg +1 -0
  2128. package/vendor/public/assets/icons/fill/file-text-fill.svg +1 -0
  2129. package/vendor/public/assets/icons/fill/file-ts-fill.svg +1 -0
  2130. package/vendor/public/assets/icons/fill/file-tsx-fill.svg +1 -0
  2131. package/vendor/public/assets/icons/fill/file-txt-fill.svg +1 -0
  2132. package/vendor/public/assets/icons/fill/file-video-fill.svg +1 -0
  2133. package/vendor/public/assets/icons/fill/file-vue-fill.svg +1 -0
  2134. package/vendor/public/assets/icons/fill/file-x-fill.svg +1 -0
  2135. package/vendor/public/assets/icons/fill/file-xls-fill.svg +1 -0
  2136. package/vendor/public/assets/icons/fill/file-zip-fill.svg +1 -0
  2137. package/vendor/public/assets/icons/fill/files-fill.svg +1 -0
  2138. package/vendor/public/assets/icons/fill/film-reel-fill.svg +1 -0
  2139. package/vendor/public/assets/icons/fill/film-script-fill.svg +1 -0
  2140. package/vendor/public/assets/icons/fill/film-slate-fill.svg +1 -0
  2141. package/vendor/public/assets/icons/fill/film-strip-fill.svg +1 -0
  2142. package/vendor/public/assets/icons/fill/fingerprint-fill.svg +1 -0
  2143. package/vendor/public/assets/icons/fill/fingerprint-simple-fill.svg +1 -0
  2144. package/vendor/public/assets/icons/fill/finn-the-human-fill.svg +1 -0
  2145. package/vendor/public/assets/icons/fill/fire-extinguisher-fill.svg +1 -0
  2146. package/vendor/public/assets/icons/fill/fire-fill.svg +1 -0
  2147. package/vendor/public/assets/icons/fill/fire-simple-fill.svg +1 -0
  2148. package/vendor/public/assets/icons/fill/fire-truck-fill.svg +1 -0
  2149. package/vendor/public/assets/icons/fill/first-aid-fill.svg +1 -0
  2150. package/vendor/public/assets/icons/fill/first-aid-kit-fill.svg +1 -0
  2151. package/vendor/public/assets/icons/fill/fish-fill.svg +1 -0
  2152. package/vendor/public/assets/icons/fill/fish-simple-fill.svg +1 -0
  2153. package/vendor/public/assets/icons/fill/flag-banner-fill.svg +1 -0
  2154. package/vendor/public/assets/icons/fill/flag-banner-fold-fill.svg +1 -0
  2155. package/vendor/public/assets/icons/fill/flag-checkered-fill.svg +1 -0
  2156. package/vendor/public/assets/icons/fill/flag-fill.svg +1 -0
  2157. package/vendor/public/assets/icons/fill/flag-pennant-fill.svg +1 -0
  2158. package/vendor/public/assets/icons/fill/flame-fill.svg +1 -0
  2159. package/vendor/public/assets/icons/fill/flashlight-fill.svg +1 -0
  2160. package/vendor/public/assets/icons/fill/flask-fill.svg +1 -0
  2161. package/vendor/public/assets/icons/fill/flip-horizontal-fill.svg +1 -0
  2162. package/vendor/public/assets/icons/fill/flip-vertical-fill.svg +1 -0
  2163. package/vendor/public/assets/icons/fill/floppy-disk-back-fill.svg +1 -0
  2164. package/vendor/public/assets/icons/fill/floppy-disk-fill.svg +1 -0
  2165. package/vendor/public/assets/icons/fill/flow-arrow-fill.svg +1 -0
  2166. package/vendor/public/assets/icons/fill/flower-fill.svg +1 -0
  2167. package/vendor/public/assets/icons/fill/flower-lotus-fill.svg +1 -0
  2168. package/vendor/public/assets/icons/fill/flower-tulip-fill.svg +1 -0
  2169. package/vendor/public/assets/icons/fill/flying-saucer-fill.svg +1 -0
  2170. package/vendor/public/assets/icons/fill/folder-dashed-fill.svg +1 -0
  2171. package/vendor/public/assets/icons/fill/folder-fill.svg +1 -0
  2172. package/vendor/public/assets/icons/fill/folder-lock-fill.svg +1 -0
  2173. package/vendor/public/assets/icons/fill/folder-minus-fill.svg +1 -0
  2174. package/vendor/public/assets/icons/fill/folder-open-fill.svg +1 -0
  2175. package/vendor/public/assets/icons/fill/folder-plus-fill.svg +1 -0
  2176. package/vendor/public/assets/icons/fill/folder-simple-dashed-fill.svg +1 -0
  2177. package/vendor/public/assets/icons/fill/folder-simple-fill.svg +1 -0
  2178. package/vendor/public/assets/icons/fill/folder-simple-lock-fill.svg +1 -0
  2179. package/vendor/public/assets/icons/fill/folder-simple-minus-fill.svg +1 -0
  2180. package/vendor/public/assets/icons/fill/folder-simple-plus-fill.svg +1 -0
  2181. package/vendor/public/assets/icons/fill/folder-simple-star-fill.svg +1 -0
  2182. package/vendor/public/assets/icons/fill/folder-simple-user-fill.svg +1 -0
  2183. package/vendor/public/assets/icons/fill/folder-star-fill.svg +1 -0
  2184. package/vendor/public/assets/icons/fill/folder-user-fill.svg +1 -0
  2185. package/vendor/public/assets/icons/fill/folders-fill.svg +1 -0
  2186. package/vendor/public/assets/icons/fill/football-fill.svg +1 -0
  2187. package/vendor/public/assets/icons/fill/football-helmet-fill.svg +1 -0
  2188. package/vendor/public/assets/icons/fill/footprints-fill.svg +1 -0
  2189. package/vendor/public/assets/icons/fill/fork-knife-fill.svg +1 -0
  2190. package/vendor/public/assets/icons/fill/four-k-fill.svg +1 -0
  2191. package/vendor/public/assets/icons/fill/frame-corners-fill.svg +1 -0
  2192. package/vendor/public/assets/icons/fill/framer-logo-fill.svg +1 -0
  2193. package/vendor/public/assets/icons/fill/function-fill.svg +1 -0
  2194. package/vendor/public/assets/icons/fill/funnel-fill.svg +1 -0
  2195. package/vendor/public/assets/icons/fill/funnel-simple-fill.svg +1 -0
  2196. package/vendor/public/assets/icons/fill/funnel-simple-x-fill.svg +1 -0
  2197. package/vendor/public/assets/icons/fill/funnel-x-fill.svg +1 -0
  2198. package/vendor/public/assets/icons/fill/game-controller-fill.svg +1 -0
  2199. package/vendor/public/assets/icons/fill/garage-fill.svg +1 -0
  2200. package/vendor/public/assets/icons/fill/gas-can-fill.svg +1 -0
  2201. package/vendor/public/assets/icons/fill/gas-pump-fill.svg +1 -0
  2202. package/vendor/public/assets/icons/fill/gauge-fill.svg +1 -0
  2203. package/vendor/public/assets/icons/fill/gavel-fill.svg +1 -0
  2204. package/vendor/public/assets/icons/fill/gear-fill.svg +1 -0
  2205. package/vendor/public/assets/icons/fill/gear-fine-fill.svg +1 -0
  2206. package/vendor/public/assets/icons/fill/gear-six-fill.svg +1 -0
  2207. package/vendor/public/assets/icons/fill/gender-female-fill.svg +1 -0
  2208. package/vendor/public/assets/icons/fill/gender-intersex-fill.svg +1 -0
  2209. package/vendor/public/assets/icons/fill/gender-male-fill.svg +1 -0
  2210. package/vendor/public/assets/icons/fill/gender-neuter-fill.svg +1 -0
  2211. package/vendor/public/assets/icons/fill/gender-nonbinary-fill.svg +1 -0
  2212. package/vendor/public/assets/icons/fill/gender-transgender-fill.svg +1 -0
  2213. package/vendor/public/assets/icons/fill/ghost-fill.svg +1 -0
  2214. package/vendor/public/assets/icons/fill/gif-fill.svg +1 -0
  2215. package/vendor/public/assets/icons/fill/gift-fill.svg +1 -0
  2216. package/vendor/public/assets/icons/fill/git-branch-fill.svg +1 -0
  2217. package/vendor/public/assets/icons/fill/git-commit-fill.svg +1 -0
  2218. package/vendor/public/assets/icons/fill/git-diff-fill.svg +1 -0
  2219. package/vendor/public/assets/icons/fill/git-fork-fill.svg +1 -0
  2220. package/vendor/public/assets/icons/fill/git-merge-fill.svg +1 -0
  2221. package/vendor/public/assets/icons/fill/git-pull-request-fill.svg +1 -0
  2222. package/vendor/public/assets/icons/fill/github-logo-fill.svg +1 -0
  2223. package/vendor/public/assets/icons/fill/gitlab-logo-fill.svg +1 -0
  2224. package/vendor/public/assets/icons/fill/gitlab-logo-simple-fill.svg +1 -0
  2225. package/vendor/public/assets/icons/fill/globe-fill.svg +1 -0
  2226. package/vendor/public/assets/icons/fill/globe-hemisphere-east-fill.svg +1 -0
  2227. package/vendor/public/assets/icons/fill/globe-hemisphere-west-fill.svg +1 -0
  2228. package/vendor/public/assets/icons/fill/globe-simple-fill.svg +1 -0
  2229. package/vendor/public/assets/icons/fill/globe-simple-x-fill.svg +1 -0
  2230. package/vendor/public/assets/icons/fill/globe-stand-fill.svg +1 -0
  2231. package/vendor/public/assets/icons/fill/globe-x-fill.svg +1 -0
  2232. package/vendor/public/assets/icons/fill/goggles-fill.svg +1 -0
  2233. package/vendor/public/assets/icons/fill/golf-fill.svg +1 -0
  2234. package/vendor/public/assets/icons/fill/goodreads-logo-fill.svg +1 -0
  2235. package/vendor/public/assets/icons/fill/google-cardboard-logo-fill.svg +1 -0
  2236. package/vendor/public/assets/icons/fill/google-chrome-logo-fill.svg +1 -0
  2237. package/vendor/public/assets/icons/fill/google-drive-logo-fill.svg +1 -0
  2238. package/vendor/public/assets/icons/fill/google-logo-fill.svg +1 -0
  2239. package/vendor/public/assets/icons/fill/google-photos-logo-fill.svg +1 -0
  2240. package/vendor/public/assets/icons/fill/google-play-logo-fill.svg +1 -0
  2241. package/vendor/public/assets/icons/fill/google-podcasts-logo-fill.svg +1 -0
  2242. package/vendor/public/assets/icons/fill/gps-fill.svg +1 -0
  2243. package/vendor/public/assets/icons/fill/gps-fix-fill.svg +1 -0
  2244. package/vendor/public/assets/icons/fill/gps-slash-fill.svg +1 -0
  2245. package/vendor/public/assets/icons/fill/gradient-fill.svg +1 -0
  2246. package/vendor/public/assets/icons/fill/graduation-cap-fill.svg +1 -0
  2247. package/vendor/public/assets/icons/fill/grains-fill.svg +1 -0
  2248. package/vendor/public/assets/icons/fill/grains-slash-fill.svg +1 -0
  2249. package/vendor/public/assets/icons/fill/graph-fill.svg +1 -0
  2250. package/vendor/public/assets/icons/fill/graphics-card-fill.svg +1 -0
  2251. package/vendor/public/assets/icons/fill/greater-than-fill.svg +1 -0
  2252. package/vendor/public/assets/icons/fill/greater-than-or-equal-fill.svg +1 -0
  2253. package/vendor/public/assets/icons/fill/grid-four-fill.svg +1 -0
  2254. package/vendor/public/assets/icons/fill/grid-nine-fill.svg +1 -0
  2255. package/vendor/public/assets/icons/fill/guitar-fill.svg +1 -0
  2256. package/vendor/public/assets/icons/fill/hair-dryer-fill.svg +1 -0
  2257. package/vendor/public/assets/icons/fill/hamburger-fill.svg +1 -0
  2258. package/vendor/public/assets/icons/fill/hammer-fill.svg +1 -0
  2259. package/vendor/public/assets/icons/fill/hand-arrow-down-fill.svg +1 -0
  2260. package/vendor/public/assets/icons/fill/hand-arrow-up-fill.svg +1 -0
  2261. package/vendor/public/assets/icons/fill/hand-coins-fill.svg +1 -0
  2262. package/vendor/public/assets/icons/fill/hand-deposit-fill.svg +1 -0
  2263. package/vendor/public/assets/icons/fill/hand-eye-fill.svg +1 -0
  2264. package/vendor/public/assets/icons/fill/hand-fill.svg +1 -0
  2265. package/vendor/public/assets/icons/fill/hand-fist-fill.svg +1 -0
  2266. package/vendor/public/assets/icons/fill/hand-grabbing-fill.svg +1 -0
  2267. package/vendor/public/assets/icons/fill/hand-heart-fill.svg +1 -0
  2268. package/vendor/public/assets/icons/fill/hand-palm-fill.svg +1 -0
  2269. package/vendor/public/assets/icons/fill/hand-peace-fill.svg +1 -0
  2270. package/vendor/public/assets/icons/fill/hand-pointing-fill.svg +1 -0
  2271. package/vendor/public/assets/icons/fill/hand-soap-fill.svg +1 -0
  2272. package/vendor/public/assets/icons/fill/hand-swipe-left-fill.svg +1 -0
  2273. package/vendor/public/assets/icons/fill/hand-swipe-right-fill.svg +1 -0
  2274. package/vendor/public/assets/icons/fill/hand-tap-fill.svg +1 -0
  2275. package/vendor/public/assets/icons/fill/hand-waving-fill.svg +1 -0
  2276. package/vendor/public/assets/icons/fill/hand-withdraw-fill.svg +1 -0
  2277. package/vendor/public/assets/icons/fill/handbag-fill.svg +1 -0
  2278. package/vendor/public/assets/icons/fill/handbag-simple-fill.svg +1 -0
  2279. package/vendor/public/assets/icons/fill/hands-clapping-fill.svg +1 -0
  2280. package/vendor/public/assets/icons/fill/hands-praying-fill.svg +1 -0
  2281. package/vendor/public/assets/icons/fill/handshake-fill.svg +1 -0
  2282. package/vendor/public/assets/icons/fill/hard-drive-fill.svg +1 -0
  2283. package/vendor/public/assets/icons/fill/hard-drives-fill.svg +1 -0
  2284. package/vendor/public/assets/icons/fill/hard-hat-fill.svg +1 -0
  2285. package/vendor/public/assets/icons/fill/hash-fill.svg +1 -0
  2286. package/vendor/public/assets/icons/fill/hash-straight-fill.svg +1 -0
  2287. package/vendor/public/assets/icons/fill/head-circuit-fill.svg +1 -0
  2288. package/vendor/public/assets/icons/fill/headlights-fill.svg +1 -0
  2289. package/vendor/public/assets/icons/fill/headphones-fill.svg +1 -0
  2290. package/vendor/public/assets/icons/fill/headset-fill.svg +1 -0
  2291. package/vendor/public/assets/icons/fill/heart-break-fill.svg +1 -0
  2292. package/vendor/public/assets/icons/fill/heart-fill.svg +1 -0
  2293. package/vendor/public/assets/icons/fill/heart-half-fill.svg +1 -0
  2294. package/vendor/public/assets/icons/fill/heart-straight-break-fill.svg +1 -0
  2295. package/vendor/public/assets/icons/fill/heart-straight-fill.svg +1 -0
  2296. package/vendor/public/assets/icons/fill/heartbeat-fill.svg +1 -0
  2297. package/vendor/public/assets/icons/fill/hexagon-fill.svg +1 -0
  2298. package/vendor/public/assets/icons/fill/high-definition-fill.svg +1 -0
  2299. package/vendor/public/assets/icons/fill/high-heel-fill.svg +1 -0
  2300. package/vendor/public/assets/icons/fill/highlighter-circle-fill.svg +1 -0
  2301. package/vendor/public/assets/icons/fill/highlighter-fill.svg +1 -0
  2302. package/vendor/public/assets/icons/fill/hockey-fill.svg +1 -0
  2303. package/vendor/public/assets/icons/fill/hoodie-fill.svg +1 -0
  2304. package/vendor/public/assets/icons/fill/horse-fill.svg +1 -0
  2305. package/vendor/public/assets/icons/fill/hospital-fill.svg +1 -0
  2306. package/vendor/public/assets/icons/fill/hourglass-fill.svg +1 -0
  2307. package/vendor/public/assets/icons/fill/hourglass-high-fill.svg +1 -0
  2308. package/vendor/public/assets/icons/fill/hourglass-low-fill.svg +1 -0
  2309. package/vendor/public/assets/icons/fill/hourglass-medium-fill.svg +1 -0
  2310. package/vendor/public/assets/icons/fill/hourglass-simple-fill.svg +1 -0
  2311. package/vendor/public/assets/icons/fill/hourglass-simple-high-fill.svg +1 -0
  2312. package/vendor/public/assets/icons/fill/hourglass-simple-low-fill.svg +1 -0
  2313. package/vendor/public/assets/icons/fill/hourglass-simple-medium-fill.svg +1 -0
  2314. package/vendor/public/assets/icons/fill/house-fill.svg +1 -0
  2315. package/vendor/public/assets/icons/fill/house-line-fill.svg +1 -0
  2316. package/vendor/public/assets/icons/fill/house-simple-fill.svg +1 -0
  2317. package/vendor/public/assets/icons/fill/hurricane-fill.svg +1 -0
  2318. package/vendor/public/assets/icons/fill/ice-cream-fill.svg +1 -0
  2319. package/vendor/public/assets/icons/fill/identification-badge-fill.svg +1 -0
  2320. package/vendor/public/assets/icons/fill/identification-card-fill.svg +1 -0
  2321. package/vendor/public/assets/icons/fill/image-broken-fill.svg +1 -0
  2322. package/vendor/public/assets/icons/fill/image-fill.svg +1 -0
  2323. package/vendor/public/assets/icons/fill/image-square-fill.svg +1 -0
  2324. package/vendor/public/assets/icons/fill/images-fill.svg +1 -0
  2325. package/vendor/public/assets/icons/fill/images-square-fill.svg +1 -0
  2326. package/vendor/public/assets/icons/fill/infinity-fill.svg +1 -0
  2327. package/vendor/public/assets/icons/fill/info-fill.svg +1 -0
  2328. package/vendor/public/assets/icons/fill/instagram-logo-fill.svg +1 -0
  2329. package/vendor/public/assets/icons/fill/intersect-fill.svg +1 -0
  2330. package/vendor/public/assets/icons/fill/intersect-square-fill.svg +1 -0
  2331. package/vendor/public/assets/icons/fill/intersect-three-fill.svg +1 -0
  2332. package/vendor/public/assets/icons/fill/intersection-fill.svg +1 -0
  2333. package/vendor/public/assets/icons/fill/invoice-fill.svg +1 -0
  2334. package/vendor/public/assets/icons/fill/island-fill.svg +1 -0
  2335. package/vendor/public/assets/icons/fill/jar-fill.svg +1 -0
  2336. package/vendor/public/assets/icons/fill/jar-label-fill.svg +1 -0
  2337. package/vendor/public/assets/icons/fill/jeep-fill.svg +1 -0
  2338. package/vendor/public/assets/icons/fill/joystick-fill.svg +1 -0
  2339. package/vendor/public/assets/icons/fill/kanban-fill.svg +1 -0
  2340. package/vendor/public/assets/icons/fill/key-fill.svg +1 -0
  2341. package/vendor/public/assets/icons/fill/key-return-fill.svg +1 -0
  2342. package/vendor/public/assets/icons/fill/keyboard-fill.svg +1 -0
  2343. package/vendor/public/assets/icons/fill/keyhole-fill.svg +1 -0
  2344. package/vendor/public/assets/icons/fill/knife-fill.svg +1 -0
  2345. package/vendor/public/assets/icons/fill/ladder-fill.svg +1 -0
  2346. package/vendor/public/assets/icons/fill/ladder-simple-fill.svg +1 -0
  2347. package/vendor/public/assets/icons/fill/lamp-fill.svg +1 -0
  2348. package/vendor/public/assets/icons/fill/lamp-pendant-fill.svg +1 -0
  2349. package/vendor/public/assets/icons/fill/laptop-fill.svg +1 -0
  2350. package/vendor/public/assets/icons/fill/lasso-fill.svg +1 -0
  2351. package/vendor/public/assets/icons/fill/lastfm-logo-fill.svg +1 -0
  2352. package/vendor/public/assets/icons/fill/layout-fill.svg +1 -0
  2353. package/vendor/public/assets/icons/fill/leaf-fill.svg +1 -0
  2354. package/vendor/public/assets/icons/fill/lectern-fill.svg +1 -0
  2355. package/vendor/public/assets/icons/fill/lego-fill.svg +1 -0
  2356. package/vendor/public/assets/icons/fill/lego-smiley-fill.svg +1 -0
  2357. package/vendor/public/assets/icons/fill/less-than-fill.svg +1 -0
  2358. package/vendor/public/assets/icons/fill/less-than-or-equal-fill.svg +1 -0
  2359. package/vendor/public/assets/icons/fill/letter-circle-h-fill.svg +1 -0
  2360. package/vendor/public/assets/icons/fill/letter-circle-p-fill.svg +1 -0
  2361. package/vendor/public/assets/icons/fill/letter-circle-v-fill.svg +1 -0
  2362. package/vendor/public/assets/icons/fill/lifebuoy-fill.svg +1 -0
  2363. package/vendor/public/assets/icons/fill/lightbulb-filament-fill.svg +1 -0
  2364. package/vendor/public/assets/icons/fill/lightbulb-fill.svg +1 -0
  2365. package/vendor/public/assets/icons/fill/lighthouse-fill.svg +1 -0
  2366. package/vendor/public/assets/icons/fill/lightning-a-fill.svg +1 -0
  2367. package/vendor/public/assets/icons/fill/lightning-fill.svg +1 -0
  2368. package/vendor/public/assets/icons/fill/lightning-slash-fill.svg +1 -0
  2369. package/vendor/public/assets/icons/fill/line-segment-fill.svg +1 -0
  2370. package/vendor/public/assets/icons/fill/line-segments-fill.svg +1 -0
  2371. package/vendor/public/assets/icons/fill/line-vertical-fill.svg +1 -0
  2372. package/vendor/public/assets/icons/fill/link-break-fill.svg +1 -0
  2373. package/vendor/public/assets/icons/fill/link-fill.svg +1 -0
  2374. package/vendor/public/assets/icons/fill/link-simple-break-fill.svg +1 -0
  2375. package/vendor/public/assets/icons/fill/link-simple-fill.svg +1 -0
  2376. package/vendor/public/assets/icons/fill/link-simple-horizontal-break-fill.svg +1 -0
  2377. package/vendor/public/assets/icons/fill/link-simple-horizontal-fill.svg +1 -0
  2378. package/vendor/public/assets/icons/fill/linkedin-logo-fill.svg +1 -0
  2379. package/vendor/public/assets/icons/fill/linktree-logo-fill.svg +1 -0
  2380. package/vendor/public/assets/icons/fill/linux-logo-fill.svg +1 -0
  2381. package/vendor/public/assets/icons/fill/list-bullets-fill.svg +1 -0
  2382. package/vendor/public/assets/icons/fill/list-checks-fill.svg +1 -0
  2383. package/vendor/public/assets/icons/fill/list-dashes-fill.svg +1 -0
  2384. package/vendor/public/assets/icons/fill/list-fill.svg +1 -0
  2385. package/vendor/public/assets/icons/fill/list-heart-fill.svg +1 -0
  2386. package/vendor/public/assets/icons/fill/list-magnifying-glass-fill.svg +1 -0
  2387. package/vendor/public/assets/icons/fill/list-numbers-fill.svg +1 -0
  2388. package/vendor/public/assets/icons/fill/list-plus-fill.svg +1 -0
  2389. package/vendor/public/assets/icons/fill/list-star-fill.svg +1 -0
  2390. package/vendor/public/assets/icons/fill/lock-fill.svg +1 -0
  2391. package/vendor/public/assets/icons/fill/lock-key-fill.svg +1 -0
  2392. package/vendor/public/assets/icons/fill/lock-key-open-fill.svg +1 -0
  2393. package/vendor/public/assets/icons/fill/lock-laminated-fill.svg +1 -0
  2394. package/vendor/public/assets/icons/fill/lock-laminated-open-fill.svg +1 -0
  2395. package/vendor/public/assets/icons/fill/lock-open-fill.svg +1 -0
  2396. package/vendor/public/assets/icons/fill/lock-simple-fill.svg +1 -0
  2397. package/vendor/public/assets/icons/fill/lock-simple-open-fill.svg +1 -0
  2398. package/vendor/public/assets/icons/fill/lockers-fill.svg +1 -0
  2399. package/vendor/public/assets/icons/fill/log-fill.svg +1 -0
  2400. package/vendor/public/assets/icons/fill/magic-wand-fill.svg +1 -0
  2401. package/vendor/public/assets/icons/fill/magnet-fill.svg +1 -0
  2402. package/vendor/public/assets/icons/fill/magnet-straight-fill.svg +1 -0
  2403. package/vendor/public/assets/icons/fill/magnifying-glass-fill.svg +1 -0
  2404. package/vendor/public/assets/icons/fill/magnifying-glass-minus-fill.svg +1 -0
  2405. package/vendor/public/assets/icons/fill/magnifying-glass-plus-fill.svg +1 -0
  2406. package/vendor/public/assets/icons/fill/mailbox-fill.svg +1 -0
  2407. package/vendor/public/assets/icons/fill/map-pin-area-fill.svg +1 -0
  2408. package/vendor/public/assets/icons/fill/map-pin-fill.svg +1 -0
  2409. package/vendor/public/assets/icons/fill/map-pin-line-fill.svg +1 -0
  2410. package/vendor/public/assets/icons/fill/map-pin-plus-fill.svg +1 -0
  2411. package/vendor/public/assets/icons/fill/map-pin-simple-area-fill.svg +1 -0
  2412. package/vendor/public/assets/icons/fill/map-pin-simple-fill.svg +1 -0
  2413. package/vendor/public/assets/icons/fill/map-pin-simple-line-fill.svg +1 -0
  2414. package/vendor/public/assets/icons/fill/map-trifold-fill.svg +1 -0
  2415. package/vendor/public/assets/icons/fill/markdown-logo-fill.svg +1 -0
  2416. package/vendor/public/assets/icons/fill/marker-circle-fill.svg +1 -0
  2417. package/vendor/public/assets/icons/fill/martini-fill.svg +1 -0
  2418. package/vendor/public/assets/icons/fill/mask-happy-fill.svg +1 -0
  2419. package/vendor/public/assets/icons/fill/mask-sad-fill.svg +1 -0
  2420. package/vendor/public/assets/icons/fill/mastodon-logo-fill.svg +1 -0
  2421. package/vendor/public/assets/icons/fill/math-operations-fill.svg +1 -0
  2422. package/vendor/public/assets/icons/fill/matrix-logo-fill.svg +1 -0
  2423. package/vendor/public/assets/icons/fill/medal-fill.svg +1 -0
  2424. package/vendor/public/assets/icons/fill/medal-military-fill.svg +1 -0
  2425. package/vendor/public/assets/icons/fill/medium-logo-fill.svg +1 -0
  2426. package/vendor/public/assets/icons/fill/megaphone-fill.svg +1 -0
  2427. package/vendor/public/assets/icons/fill/megaphone-simple-fill.svg +1 -0
  2428. package/vendor/public/assets/icons/fill/member-of-fill.svg +1 -0
  2429. package/vendor/public/assets/icons/fill/memory-fill.svg +1 -0
  2430. package/vendor/public/assets/icons/fill/menu-close-grab-fill.svg +10 -0
  2431. package/vendor/public/assets/icons/fill/menu-open-grab-fill.svg +13 -0
  2432. package/vendor/public/assets/icons/fill/messenger-logo-fill.svg +1 -0
  2433. package/vendor/public/assets/icons/fill/meta-logo-fill.svg +1 -0
  2434. package/vendor/public/assets/icons/fill/meteor-fill.svg +1 -0
  2435. package/vendor/public/assets/icons/fill/metronome-fill.svg +1 -0
  2436. package/vendor/public/assets/icons/fill/microphone-fill.svg +1 -0
  2437. package/vendor/public/assets/icons/fill/microphone-slash-fill.svg +1 -0
  2438. package/vendor/public/assets/icons/fill/microphone-stage-fill.svg +1 -0
  2439. package/vendor/public/assets/icons/fill/microscope-fill.svg +1 -0
  2440. package/vendor/public/assets/icons/fill/microsoft-excel-logo-fill.svg +1 -0
  2441. package/vendor/public/assets/icons/fill/microsoft-outlook-logo-fill.svg +1 -0
  2442. package/vendor/public/assets/icons/fill/microsoft-powerpoint-logo-fill.svg +1 -0
  2443. package/vendor/public/assets/icons/fill/microsoft-teams-logo-fill.svg +1 -0
  2444. package/vendor/public/assets/icons/fill/microsoft-word-logo-fill.svg +1 -0
  2445. package/vendor/public/assets/icons/fill/minus-circle-fill.svg +1 -0
  2446. package/vendor/public/assets/icons/fill/minus-fill.svg +1 -0
  2447. package/vendor/public/assets/icons/fill/minus-square-fill.svg +1 -0
  2448. package/vendor/public/assets/icons/fill/money-fill.svg +1 -0
  2449. package/vendor/public/assets/icons/fill/money-wavy-fill.svg +1 -0
  2450. package/vendor/public/assets/icons/fill/monitor-arrow-up-fill.svg +1 -0
  2451. package/vendor/public/assets/icons/fill/monitor-fill.svg +1 -0
  2452. package/vendor/public/assets/icons/fill/monitor-play-fill.svg +1 -0
  2453. package/vendor/public/assets/icons/fill/moon-fill.svg +1 -0
  2454. package/vendor/public/assets/icons/fill/moon-stars-fill.svg +1 -0
  2455. package/vendor/public/assets/icons/fill/moped-fill.svg +1 -0
  2456. package/vendor/public/assets/icons/fill/moped-front-fill.svg +1 -0
  2457. package/vendor/public/assets/icons/fill/mosque-fill.svg +1 -0
  2458. package/vendor/public/assets/icons/fill/motorcycle-fill.svg +1 -0
  2459. package/vendor/public/assets/icons/fill/mountains-fill.svg +1 -0
  2460. package/vendor/public/assets/icons/fill/mouse-fill.svg +1 -0
  2461. package/vendor/public/assets/icons/fill/mouse-left-click-fill.svg +1 -0
  2462. package/vendor/public/assets/icons/fill/mouse-middle-click-fill.svg +1 -0
  2463. package/vendor/public/assets/icons/fill/mouse-right-click-fill.svg +1 -0
  2464. package/vendor/public/assets/icons/fill/mouse-scroll-fill.svg +1 -0
  2465. package/vendor/public/assets/icons/fill/mouse-simple-fill.svg +1 -0
  2466. package/vendor/public/assets/icons/fill/music-note-fill.svg +1 -0
  2467. package/vendor/public/assets/icons/fill/music-note-simple-fill.svg +1 -0
  2468. package/vendor/public/assets/icons/fill/music-notes-fill.svg +1 -0
  2469. package/vendor/public/assets/icons/fill/music-notes-minus-fill.svg +1 -0
  2470. package/vendor/public/assets/icons/fill/music-notes-plus-fill.svg +1 -0
  2471. package/vendor/public/assets/icons/fill/music-notes-simple-fill.svg +1 -0
  2472. package/vendor/public/assets/icons/fill/navigation-arrow-fill.svg +1 -0
  2473. package/vendor/public/assets/icons/fill/navigation-arrow-left.svg +3 -0
  2474. package/vendor/public/assets/icons/fill/needle-fill.svg +1 -0
  2475. package/vendor/public/assets/icons/fill/network-fill.svg +1 -0
  2476. package/vendor/public/assets/icons/fill/network-slash-fill.svg +1 -0
  2477. package/vendor/public/assets/icons/fill/network-x-fill.svg +1 -0
  2478. package/vendor/public/assets/icons/fill/newspaper-clipping-fill.svg +1 -0
  2479. package/vendor/public/assets/icons/fill/newspaper-fill.svg +1 -0
  2480. package/vendor/public/assets/icons/fill/not-equals-fill.svg +1 -0
  2481. package/vendor/public/assets/icons/fill/not-member-of-fill.svg +1 -0
  2482. package/vendor/public/assets/icons/fill/not-subset-of-fill.svg +1 -0
  2483. package/vendor/public/assets/icons/fill/not-superset-of-fill.svg +1 -0
  2484. package/vendor/public/assets/icons/fill/notches-fill.svg +1 -0
  2485. package/vendor/public/assets/icons/fill/note-blank-fill.svg +1 -0
  2486. package/vendor/public/assets/icons/fill/note-fill.svg +1 -0
  2487. package/vendor/public/assets/icons/fill/note-pencil-fill.svg +1 -0
  2488. package/vendor/public/assets/icons/fill/notebook-fill.svg +1 -0
  2489. package/vendor/public/assets/icons/fill/notepad-fill.svg +1 -0
  2490. package/vendor/public/assets/icons/fill/notification-fill.svg +1 -0
  2491. package/vendor/public/assets/icons/fill/notion-logo-fill.svg +1 -0
  2492. package/vendor/public/assets/icons/fill/nuclear-plant-fill.svg +1 -0
  2493. package/vendor/public/assets/icons/fill/number-circle-eight-fill.svg +1 -0
  2494. package/vendor/public/assets/icons/fill/number-circle-five-fill.svg +1 -0
  2495. package/vendor/public/assets/icons/fill/number-circle-four-fill.svg +1 -0
  2496. package/vendor/public/assets/icons/fill/number-circle-nine-fill.svg +1 -0
  2497. package/vendor/public/assets/icons/fill/number-circle-one-fill.svg +1 -0
  2498. package/vendor/public/assets/icons/fill/number-circle-seven-fill.svg +1 -0
  2499. package/vendor/public/assets/icons/fill/number-circle-six-fill.svg +1 -0
  2500. package/vendor/public/assets/icons/fill/number-circle-three-fill.svg +1 -0
  2501. package/vendor/public/assets/icons/fill/number-circle-two-fill.svg +1 -0
  2502. package/vendor/public/assets/icons/fill/number-circle-zero-fill.svg +1 -0
  2503. package/vendor/public/assets/icons/fill/number-eight-fill.svg +1 -0
  2504. package/vendor/public/assets/icons/fill/number-five-fill.svg +1 -0
  2505. package/vendor/public/assets/icons/fill/number-four-fill.svg +1 -0
  2506. package/vendor/public/assets/icons/fill/number-nine-fill.svg +1 -0
  2507. package/vendor/public/assets/icons/fill/number-one-fill.svg +1 -0
  2508. package/vendor/public/assets/icons/fill/number-seven-fill.svg +1 -0
  2509. package/vendor/public/assets/icons/fill/number-six-fill.svg +1 -0
  2510. package/vendor/public/assets/icons/fill/number-square-eight-fill.svg +1 -0
  2511. package/vendor/public/assets/icons/fill/number-square-five-fill.svg +1 -0
  2512. package/vendor/public/assets/icons/fill/number-square-four-fill.svg +1 -0
  2513. package/vendor/public/assets/icons/fill/number-square-nine-fill.svg +1 -0
  2514. package/vendor/public/assets/icons/fill/number-square-one-fill.svg +1 -0
  2515. package/vendor/public/assets/icons/fill/number-square-seven-fill.svg +1 -0
  2516. package/vendor/public/assets/icons/fill/number-square-six-fill.svg +1 -0
  2517. package/vendor/public/assets/icons/fill/number-square-three-fill.svg +1 -0
  2518. package/vendor/public/assets/icons/fill/number-square-two-fill.svg +1 -0
  2519. package/vendor/public/assets/icons/fill/number-square-zero-fill.svg +1 -0
  2520. package/vendor/public/assets/icons/fill/number-three-fill.svg +1 -0
  2521. package/vendor/public/assets/icons/fill/number-two-fill.svg +1 -0
  2522. package/vendor/public/assets/icons/fill/number-zero-fill.svg +1 -0
  2523. package/vendor/public/assets/icons/fill/numpad-fill.svg +1 -0
  2524. package/vendor/public/assets/icons/fill/nut-fill.svg +1 -0
  2525. package/vendor/public/assets/icons/fill/ny-times-logo-fill.svg +1 -0
  2526. package/vendor/public/assets/icons/fill/octagon-fill.svg +1 -0
  2527. package/vendor/public/assets/icons/fill/office-chair-fill.svg +1 -0
  2528. package/vendor/public/assets/icons/fill/onigiri-fill.svg +1 -0
  2529. package/vendor/public/assets/icons/fill/open-ai-logo-fill.svg +1 -0
  2530. package/vendor/public/assets/icons/fill/option-fill.svg +1 -0
  2531. package/vendor/public/assets/icons/fill/orange-fill.svg +1 -0
  2532. package/vendor/public/assets/icons/fill/orange-slice-fill.svg +1 -0
  2533. package/vendor/public/assets/icons/fill/oven-fill.svg +1 -0
  2534. package/vendor/public/assets/icons/fill/package-fill.svg +1 -0
  2535. package/vendor/public/assets/icons/fill/paint-brush-broad-fill.svg +1 -0
  2536. package/vendor/public/assets/icons/fill/paint-brush-fill.svg +1 -0
  2537. package/vendor/public/assets/icons/fill/paint-brush-household-fill.svg +1 -0
  2538. package/vendor/public/assets/icons/fill/paint-bucket-fill.svg +1 -0
  2539. package/vendor/public/assets/icons/fill/paint-roller-fill.svg +1 -0
  2540. package/vendor/public/assets/icons/fill/palette-fill.svg +1 -0
  2541. package/vendor/public/assets/icons/fill/panorama-fill.svg +1 -0
  2542. package/vendor/public/assets/icons/fill/pants-fill.svg +1 -0
  2543. package/vendor/public/assets/icons/fill/paper-plane-fill.svg +1 -0
  2544. package/vendor/public/assets/icons/fill/paper-plane-right-fill.svg +1 -0
  2545. package/vendor/public/assets/icons/fill/paper-plane-tilt-fill.svg +1 -0
  2546. package/vendor/public/assets/icons/fill/paperclip-fill.svg +1 -0
  2547. package/vendor/public/assets/icons/fill/paperclip-horizontal-fill.svg +1 -0
  2548. package/vendor/public/assets/icons/fill/parachute-fill.svg +1 -0
  2549. package/vendor/public/assets/icons/fill/paragraph-fill.svg +1 -0
  2550. package/vendor/public/assets/icons/fill/parallelogram-fill.svg +1 -0
  2551. package/vendor/public/assets/icons/fill/park-fill.svg +1 -0
  2552. package/vendor/public/assets/icons/fill/password-fill.svg +1 -0
  2553. package/vendor/public/assets/icons/fill/path-fill.svg +1 -0
  2554. package/vendor/public/assets/icons/fill/patreon-logo-fill.svg +1 -0
  2555. package/vendor/public/assets/icons/fill/pause-circle-fill.svg +1 -0
  2556. package/vendor/public/assets/icons/fill/pause-fill.svg +1 -0
  2557. package/vendor/public/assets/icons/fill/paw-print-fill.svg +1 -0
  2558. package/vendor/public/assets/icons/fill/paypal-logo-fill.svg +1 -0
  2559. package/vendor/public/assets/icons/fill/peace-fill.svg +1 -0
  2560. package/vendor/public/assets/icons/fill/pen-fill.svg +1 -0
  2561. package/vendor/public/assets/icons/fill/pen-nib-fill.svg +1 -0
  2562. package/vendor/public/assets/icons/fill/pen-nib-straight-fill.svg +1 -0
  2563. package/vendor/public/assets/icons/fill/pencil-circle-fill.svg +1 -0
  2564. package/vendor/public/assets/icons/fill/pencil-fill.svg +1 -0
  2565. package/vendor/public/assets/icons/fill/pencil-line-fill.svg +1 -0
  2566. package/vendor/public/assets/icons/fill/pencil-ruler-fill.svg +1 -0
  2567. package/vendor/public/assets/icons/fill/pencil-simple-fill.svg +1 -0
  2568. package/vendor/public/assets/icons/fill/pencil-simple-line-fill.svg +1 -0
  2569. package/vendor/public/assets/icons/fill/pencil-simple-slash-fill.svg +1 -0
  2570. package/vendor/public/assets/icons/fill/pencil-slash-fill.svg +1 -0
  2571. package/vendor/public/assets/icons/fill/pentagon-fill.svg +1 -0
  2572. package/vendor/public/assets/icons/fill/pentagram-fill.svg +1 -0
  2573. package/vendor/public/assets/icons/fill/pepper-fill.svg +1 -0
  2574. package/vendor/public/assets/icons/fill/percent-fill.svg +1 -0
  2575. package/vendor/public/assets/icons/fill/person-arms-spread-fill.svg +1 -0
  2576. package/vendor/public/assets/icons/fill/person-fill.svg +1 -0
  2577. package/vendor/public/assets/icons/fill/person-simple-bike-fill.svg +1 -0
  2578. package/vendor/public/assets/icons/fill/person-simple-circle-fill.svg +1 -0
  2579. package/vendor/public/assets/icons/fill/person-simple-fill.svg +1 -0
  2580. package/vendor/public/assets/icons/fill/person-simple-hike-fill.svg +1 -0
  2581. package/vendor/public/assets/icons/fill/person-simple-run-fill.svg +1 -0
  2582. package/vendor/public/assets/icons/fill/person-simple-ski-fill.svg +1 -0
  2583. package/vendor/public/assets/icons/fill/person-simple-snowboard-fill.svg +1 -0
  2584. package/vendor/public/assets/icons/fill/person-simple-swim-fill.svg +1 -0
  2585. package/vendor/public/assets/icons/fill/person-simple-tai-chi-fill.svg +1 -0
  2586. package/vendor/public/assets/icons/fill/person-simple-throw-fill.svg +1 -0
  2587. package/vendor/public/assets/icons/fill/person-simple-walk-fill.svg +1 -0
  2588. package/vendor/public/assets/icons/fill/perspective-fill.svg +1 -0
  2589. package/vendor/public/assets/icons/fill/phone-call-fill.svg +1 -0
  2590. package/vendor/public/assets/icons/fill/phone-disconnect-fill.svg +1 -0
  2591. package/vendor/public/assets/icons/fill/phone-fill.svg +1 -0
  2592. package/vendor/public/assets/icons/fill/phone-incoming-fill.svg +1 -0
  2593. package/vendor/public/assets/icons/fill/phone-list-fill.svg +1 -0
  2594. package/vendor/public/assets/icons/fill/phone-outgoing-fill.svg +1 -0
  2595. package/vendor/public/assets/icons/fill/phone-pause-fill.svg +1 -0
  2596. package/vendor/public/assets/icons/fill/phone-plus-fill.svg +1 -0
  2597. package/vendor/public/assets/icons/fill/phone-slash-fill.svg +1 -0
  2598. package/vendor/public/assets/icons/fill/phone-transfer-fill.svg +1 -0
  2599. package/vendor/public/assets/icons/fill/phone-x-fill.svg +1 -0
  2600. package/vendor/public/assets/icons/fill/phosphor-logo-fill.svg +1 -0
  2601. package/vendor/public/assets/icons/fill/pi-fill.svg +1 -0
  2602. package/vendor/public/assets/icons/fill/piano-keys-fill.svg +1 -0
  2603. package/vendor/public/assets/icons/fill/picnic-table-fill.svg +1 -0
  2604. package/vendor/public/assets/icons/fill/picture-in-picture-fill.svg +1 -0
  2605. package/vendor/public/assets/icons/fill/piggy-bank-fill.svg +1 -0
  2606. package/vendor/public/assets/icons/fill/pill-fill.svg +1 -0
  2607. package/vendor/public/assets/icons/fill/ping-pong-fill.svg +1 -0
  2608. package/vendor/public/assets/icons/fill/pint-glass-fill.svg +1 -0
  2609. package/vendor/public/assets/icons/fill/pinterest-logo-fill.svg +1 -0
  2610. package/vendor/public/assets/icons/fill/pinwheel-fill.svg +1 -0
  2611. package/vendor/public/assets/icons/fill/pipe-fill.svg +1 -0
  2612. package/vendor/public/assets/icons/fill/pipe-wrench-fill.svg +1 -0
  2613. package/vendor/public/assets/icons/fill/pix-logo-fill.svg +1 -0
  2614. package/vendor/public/assets/icons/fill/pizza-fill.svg +1 -0
  2615. package/vendor/public/assets/icons/fill/placeholder-fill.svg +1 -0
  2616. package/vendor/public/assets/icons/fill/planet-fill.svg +1 -0
  2617. package/vendor/public/assets/icons/fill/plant-fill.svg +1 -0
  2618. package/vendor/public/assets/icons/fill/play-circle-fill.svg +1 -0
  2619. package/vendor/public/assets/icons/fill/play-fill.svg +1 -0
  2620. package/vendor/public/assets/icons/fill/play-pause-fill.svg +1 -0
  2621. package/vendor/public/assets/icons/fill/playlist-fill.svg +1 -0
  2622. package/vendor/public/assets/icons/fill/plug-charging-fill.svg +1 -0
  2623. package/vendor/public/assets/icons/fill/plug-fill.svg +1 -0
  2624. package/vendor/public/assets/icons/fill/plugs-connected-fill.svg +1 -0
  2625. package/vendor/public/assets/icons/fill/plugs-fill.svg +1 -0
  2626. package/vendor/public/assets/icons/fill/plus-circle-fill.svg +1 -0
  2627. package/vendor/public/assets/icons/fill/plus-fill.svg +1 -0
  2628. package/vendor/public/assets/icons/fill/plus-minus-fill.svg +1 -0
  2629. package/vendor/public/assets/icons/fill/plus-square-fill.svg +1 -0
  2630. package/vendor/public/assets/icons/fill/poker-chip-fill.svg +1 -0
  2631. package/vendor/public/assets/icons/fill/police-car-fill.svg +1 -0
  2632. package/vendor/public/assets/icons/fill/polygon-fill.svg +1 -0
  2633. package/vendor/public/assets/icons/fill/popcorn-fill.svg +1 -0
  2634. package/vendor/public/assets/icons/fill/popsicle-fill.svg +1 -0
  2635. package/vendor/public/assets/icons/fill/potted-plant-fill.svg +1 -0
  2636. package/vendor/public/assets/icons/fill/power-fill.svg +1 -0
  2637. package/vendor/public/assets/icons/fill/prescription-fill.svg +1 -0
  2638. package/vendor/public/assets/icons/fill/presentation-chart-fill.svg +1 -0
  2639. package/vendor/public/assets/icons/fill/presentation-fill.svg +1 -0
  2640. package/vendor/public/assets/icons/fill/printer-fill.svg +1 -0
  2641. package/vendor/public/assets/icons/fill/prohibit-fill.svg +1 -0
  2642. package/vendor/public/assets/icons/fill/prohibit-inset-fill.svg +1 -0
  2643. package/vendor/public/assets/icons/fill/projector-screen-chart-fill.svg +1 -0
  2644. package/vendor/public/assets/icons/fill/projector-screen-fill.svg +1 -0
  2645. package/vendor/public/assets/icons/fill/pulse-fill.svg +1 -0
  2646. package/vendor/public/assets/icons/fill/push-pin-fill.svg +1 -0
  2647. package/vendor/public/assets/icons/fill/push-pin-simple-fill.svg +1 -0
  2648. package/vendor/public/assets/icons/fill/push-pin-simple-slash-fill.svg +1 -0
  2649. package/vendor/public/assets/icons/fill/push-pin-slash-fill.svg +1 -0
  2650. package/vendor/public/assets/icons/fill/puzzle-piece-fill.svg +1 -0
  2651. package/vendor/public/assets/icons/fill/qr-code-fill.svg +1 -0
  2652. package/vendor/public/assets/icons/fill/question-fill.svg +1 -0
  2653. package/vendor/public/assets/icons/fill/question-mark-fill.svg +1 -0
  2654. package/vendor/public/assets/icons/fill/queue-fill.svg +1 -0
  2655. package/vendor/public/assets/icons/fill/quotes-fill.svg +1 -0
  2656. package/vendor/public/assets/icons/fill/rabbit-fill.svg +1 -0
  2657. package/vendor/public/assets/icons/fill/racquet-fill.svg +1 -0
  2658. package/vendor/public/assets/icons/fill/radical-fill.svg +1 -0
  2659. package/vendor/public/assets/icons/fill/radio-button-fill.svg +1 -0
  2660. package/vendor/public/assets/icons/fill/radio-fill.svg +1 -0
  2661. package/vendor/public/assets/icons/fill/radioactive-fill.svg +1 -0
  2662. package/vendor/public/assets/icons/fill/rainbow-cloud-fill.svg +1 -0
  2663. package/vendor/public/assets/icons/fill/rainbow-fill.svg +1 -0
  2664. package/vendor/public/assets/icons/fill/ranking-fill.svg +1 -0
  2665. package/vendor/public/assets/icons/fill/read-cv-logo-fill.svg +1 -0
  2666. package/vendor/public/assets/icons/fill/receipt-fill.svg +1 -0
  2667. package/vendor/public/assets/icons/fill/receipt-x-fill.svg +1 -0
  2668. package/vendor/public/assets/icons/fill/record-fill.svg +1 -0
  2669. package/vendor/public/assets/icons/fill/rectangle-dashed-fill.svg +1 -0
  2670. package/vendor/public/assets/icons/fill/rectangle-fill.svg +1 -0
  2671. package/vendor/public/assets/icons/fill/recycle-fill.svg +1 -0
  2672. package/vendor/public/assets/icons/fill/reddit-logo-fill.svg +1 -0
  2673. package/vendor/public/assets/icons/fill/repeat-fill.svg +1 -0
  2674. package/vendor/public/assets/icons/fill/repeat-once-fill.svg +1 -0
  2675. package/vendor/public/assets/icons/fill/replit-logo-fill.svg +1 -0
  2676. package/vendor/public/assets/icons/fill/resize-fill.svg +1 -0
  2677. package/vendor/public/assets/icons/fill/rewind-circle-fill.svg +1 -0
  2678. package/vendor/public/assets/icons/fill/rewind-fill.svg +1 -0
  2679. package/vendor/public/assets/icons/fill/road-horizon-fill.svg +1 -0
  2680. package/vendor/public/assets/icons/fill/robot-fill.svg +1 -0
  2681. package/vendor/public/assets/icons/fill/rocket-fill.svg +1 -0
  2682. package/vendor/public/assets/icons/fill/rocket-launch-fill.svg +1 -0
  2683. package/vendor/public/assets/icons/fill/rows-fill.svg +1 -0
  2684. package/vendor/public/assets/icons/fill/rows-plus-bottom-fill.svg +1 -0
  2685. package/vendor/public/assets/icons/fill/rows-plus-top-fill.svg +1 -0
  2686. package/vendor/public/assets/icons/fill/rss-fill.svg +1 -0
  2687. package/vendor/public/assets/icons/fill/rss-simple-fill.svg +1 -0
  2688. package/vendor/public/assets/icons/fill/rug-fill.svg +1 -0
  2689. package/vendor/public/assets/icons/fill/ruler-fill.svg +1 -0
  2690. package/vendor/public/assets/icons/fill/sailboat-fill.svg +1 -0
  2691. package/vendor/public/assets/icons/fill/scales-fill.svg +1 -0
  2692. package/vendor/public/assets/icons/fill/scan-fill.svg +1 -0
  2693. package/vendor/public/assets/icons/fill/scan-smiley-fill.svg +1 -0
  2694. package/vendor/public/assets/icons/fill/scissors-fill.svg +1 -0
  2695. package/vendor/public/assets/icons/fill/scooter-fill.svg +1 -0
  2696. package/vendor/public/assets/icons/fill/screencast-fill.svg +1 -0
  2697. package/vendor/public/assets/icons/fill/screwdriver-fill.svg +1 -0
  2698. package/vendor/public/assets/icons/fill/scribble-fill.svg +1 -0
  2699. package/vendor/public/assets/icons/fill/scribble-loop-fill.svg +1 -0
  2700. package/vendor/public/assets/icons/fill/scroll-fill.svg +1 -0
  2701. package/vendor/public/assets/icons/fill/seal-check-fill.svg +1 -0
  2702. package/vendor/public/assets/icons/fill/seal-fill.svg +1 -0
  2703. package/vendor/public/assets/icons/fill/seal-percent-fill.svg +1 -0
  2704. package/vendor/public/assets/icons/fill/seal-question-fill.svg +1 -0
  2705. package/vendor/public/assets/icons/fill/seal-warning-fill.svg +1 -0
  2706. package/vendor/public/assets/icons/fill/seat-fill.svg +1 -0
  2707. package/vendor/public/assets/icons/fill/seatbelt-fill.svg +1 -0
  2708. package/vendor/public/assets/icons/fill/security-camera-fill.svg +1 -0
  2709. package/vendor/public/assets/icons/fill/selection-all-fill.svg +1 -0
  2710. package/vendor/public/assets/icons/fill/selection-background-fill.svg +1 -0
  2711. package/vendor/public/assets/icons/fill/selection-fill.svg +1 -0
  2712. package/vendor/public/assets/icons/fill/selection-foreground-fill.svg +1 -0
  2713. package/vendor/public/assets/icons/fill/selection-inverse-fill.svg +1 -0
  2714. package/vendor/public/assets/icons/fill/selection-plus-fill.svg +1 -0
  2715. package/vendor/public/assets/icons/fill/selection-slash-fill.svg +1 -0
  2716. package/vendor/public/assets/icons/fill/shapes-fill.svg +1 -0
  2717. package/vendor/public/assets/icons/fill/share-fat-fill.svg +1 -0
  2718. package/vendor/public/assets/icons/fill/share-fill.svg +1 -0
  2719. package/vendor/public/assets/icons/fill/share-network-fill.svg +1 -0
  2720. package/vendor/public/assets/icons/fill/shield-check-fill.svg +1 -0
  2721. package/vendor/public/assets/icons/fill/shield-checkered-fill.svg +1 -0
  2722. package/vendor/public/assets/icons/fill/shield-chevron-fill.svg +1 -0
  2723. package/vendor/public/assets/icons/fill/shield-fill.svg +1 -0
  2724. package/vendor/public/assets/icons/fill/shield-plus-fill.svg +1 -0
  2725. package/vendor/public/assets/icons/fill/shield-slash-fill.svg +1 -0
  2726. package/vendor/public/assets/icons/fill/shield-star-fill.svg +1 -0
  2727. package/vendor/public/assets/icons/fill/shield-warning-fill.svg +1 -0
  2728. package/vendor/public/assets/icons/fill/shipping-container-fill.svg +1 -0
  2729. package/vendor/public/assets/icons/fill/shirt-folded-fill.svg +1 -0
  2730. package/vendor/public/assets/icons/fill/shooting-star-fill.svg +1 -0
  2731. package/vendor/public/assets/icons/fill/shopping-bag-fill.svg +1 -0
  2732. package/vendor/public/assets/icons/fill/shopping-bag-open-fill.svg +1 -0
  2733. package/vendor/public/assets/icons/fill/shopping-cart-fill.svg +1 -0
  2734. package/vendor/public/assets/icons/fill/shopping-cart-simple-fill.svg +1 -0
  2735. package/vendor/public/assets/icons/fill/shovel-fill.svg +1 -0
  2736. package/vendor/public/assets/icons/fill/shower-fill.svg +1 -0
  2737. package/vendor/public/assets/icons/fill/shrimp-fill.svg +1 -0
  2738. package/vendor/public/assets/icons/fill/shuffle-angular-fill.svg +1 -0
  2739. package/vendor/public/assets/icons/fill/shuffle-fill.svg +1 -0
  2740. package/vendor/public/assets/icons/fill/shuffle-simple-fill.svg +1 -0
  2741. package/vendor/public/assets/icons/fill/sidebar-fill.svg +1 -0
  2742. package/vendor/public/assets/icons/fill/sidebar-simple-fill.svg +1 -0
  2743. package/vendor/public/assets/icons/fill/sigma-fill.svg +1 -0
  2744. package/vendor/public/assets/icons/fill/sign-in-fill.svg +1 -0
  2745. package/vendor/public/assets/icons/fill/sign-out-fill.svg +1 -0
  2746. package/vendor/public/assets/icons/fill/signature-fill.svg +1 -0
  2747. package/vendor/public/assets/icons/fill/signpost-fill.svg +1 -0
  2748. package/vendor/public/assets/icons/fill/sim-card-fill.svg +1 -0
  2749. package/vendor/public/assets/icons/fill/siren-fill.svg +1 -0
  2750. package/vendor/public/assets/icons/fill/sketch-logo-fill.svg +1 -0
  2751. package/vendor/public/assets/icons/fill/skip-back-circle-fill.svg +1 -0
  2752. package/vendor/public/assets/icons/fill/skip-back-fill.svg +1 -0
  2753. package/vendor/public/assets/icons/fill/skip-forward-circle-fill.svg +1 -0
  2754. package/vendor/public/assets/icons/fill/skip-forward-fill.svg +1 -0
  2755. package/vendor/public/assets/icons/fill/skull-fill.svg +1 -0
  2756. package/vendor/public/assets/icons/fill/skype-logo-fill.svg +1 -0
  2757. package/vendor/public/assets/icons/fill/slack-logo-fill.svg +1 -0
  2758. package/vendor/public/assets/icons/fill/sliders-fill.svg +1 -0
  2759. package/vendor/public/assets/icons/fill/sliders-horizontal-fill.svg +1 -0
  2760. package/vendor/public/assets/icons/fill/slideshow-fill.svg +1 -0
  2761. package/vendor/public/assets/icons/fill/smiley-angry-fill.svg +1 -0
  2762. package/vendor/public/assets/icons/fill/smiley-blank-fill.svg +1 -0
  2763. package/vendor/public/assets/icons/fill/smiley-fill.svg +1 -0
  2764. package/vendor/public/assets/icons/fill/smiley-meh-fill.svg +1 -0
  2765. package/vendor/public/assets/icons/fill/smiley-melting-fill.svg +1 -0
  2766. package/vendor/public/assets/icons/fill/smiley-nervous-fill.svg +1 -0
  2767. package/vendor/public/assets/icons/fill/smiley-sad-fill.svg +1 -0
  2768. package/vendor/public/assets/icons/fill/smiley-sticker-fill.svg +1 -0
  2769. package/vendor/public/assets/icons/fill/smiley-wink-fill.svg +1 -0
  2770. package/vendor/public/assets/icons/fill/smiley-x-eyes-fill.svg +1 -0
  2771. package/vendor/public/assets/icons/fill/snapchat-logo-fill.svg +1 -0
  2772. package/vendor/public/assets/icons/fill/sneaker-fill.svg +1 -0
  2773. package/vendor/public/assets/icons/fill/sneaker-move-fill.svg +1 -0
  2774. package/vendor/public/assets/icons/fill/snowflake-fill.svg +1 -0
  2775. package/vendor/public/assets/icons/fill/soccer-ball-fill.svg +1 -0
  2776. package/vendor/public/assets/icons/fill/sock-fill.svg +1 -0
  2777. package/vendor/public/assets/icons/fill/solar-panel-fill.svg +1 -0
  2778. package/vendor/public/assets/icons/fill/solar-roof-fill.svg +1 -0
  2779. package/vendor/public/assets/icons/fill/sort-ascending-fill.svg +1 -0
  2780. package/vendor/public/assets/icons/fill/sort-descending-fill.svg +1 -0
  2781. package/vendor/public/assets/icons/fill/soundcloud-logo-fill.svg +1 -0
  2782. package/vendor/public/assets/icons/fill/spade-fill.svg +1 -0
  2783. package/vendor/public/assets/icons/fill/sparkle-fill.svg +1 -0
  2784. package/vendor/public/assets/icons/fill/speaker-hifi-fill.svg +1 -0
  2785. package/vendor/public/assets/icons/fill/speaker-high-fill.svg +1 -0
  2786. package/vendor/public/assets/icons/fill/speaker-low-fill.svg +1 -0
  2787. package/vendor/public/assets/icons/fill/speaker-none-fill.svg +1 -0
  2788. package/vendor/public/assets/icons/fill/speaker-simple-high-fill.svg +1 -0
  2789. package/vendor/public/assets/icons/fill/speaker-simple-low-fill.svg +1 -0
  2790. package/vendor/public/assets/icons/fill/speaker-simple-none-fill.svg +1 -0
  2791. package/vendor/public/assets/icons/fill/speaker-simple-slash-fill.svg +1 -0
  2792. package/vendor/public/assets/icons/fill/speaker-simple-x-fill.svg +1 -0
  2793. package/vendor/public/assets/icons/fill/speaker-slash-fill.svg +1 -0
  2794. package/vendor/public/assets/icons/fill/speaker-x-fill.svg +1 -0
  2795. package/vendor/public/assets/icons/fill/speedometer-fill.svg +1 -0
  2796. package/vendor/public/assets/icons/fill/sphere-fill.svg +1 -0
  2797. package/vendor/public/assets/icons/fill/spinner-ball-fill.svg +1 -0
  2798. package/vendor/public/assets/icons/fill/spinner-fill.svg +1 -0
  2799. package/vendor/public/assets/icons/fill/spinner-gap-fill.svg +1 -0
  2800. package/vendor/public/assets/icons/fill/spiral-fill.svg +1 -0
  2801. package/vendor/public/assets/icons/fill/split-horizontal-fill.svg +1 -0
  2802. package/vendor/public/assets/icons/fill/split-vertical-fill.svg +1 -0
  2803. package/vendor/public/assets/icons/fill/spotify-logo-fill.svg +1 -0
  2804. package/vendor/public/assets/icons/fill/spray-bottle-fill.svg +1 -0
  2805. package/vendor/public/assets/icons/fill/square-fill.svg +1 -0
  2806. package/vendor/public/assets/icons/fill/square-half-bottom-fill.svg +1 -0
  2807. package/vendor/public/assets/icons/fill/square-half-fill.svg +1 -0
  2808. package/vendor/public/assets/icons/fill/square-logo-fill.svg +1 -0
  2809. package/vendor/public/assets/icons/fill/square-split-horizontal-fill.svg +1 -0
  2810. package/vendor/public/assets/icons/fill/square-split-vertical-fill.svg +1 -0
  2811. package/vendor/public/assets/icons/fill/squares-four-fill.svg +1 -0
  2812. package/vendor/public/assets/icons/fill/stack-fill.svg +1 -0
  2813. package/vendor/public/assets/icons/fill/stack-minus-fill.svg +1 -0
  2814. package/vendor/public/assets/icons/fill/stack-overflow-logo-fill.svg +1 -0
  2815. package/vendor/public/assets/icons/fill/stack-plus-fill.svg +1 -0
  2816. package/vendor/public/assets/icons/fill/stack-simple-fill.svg +1 -0
  2817. package/vendor/public/assets/icons/fill/stairs-fill.svg +1 -0
  2818. package/vendor/public/assets/icons/fill/stamp-fill.svg +1 -0
  2819. package/vendor/public/assets/icons/fill/standard-definition-fill.svg +1 -0
  2820. package/vendor/public/assets/icons/fill/star-and-crescent-fill.svg +1 -0
  2821. package/vendor/public/assets/icons/fill/star-fill.svg +1 -0
  2822. package/vendor/public/assets/icons/fill/star-four-fill.svg +1 -0
  2823. package/vendor/public/assets/icons/fill/star-four-plus.svg +4 -0
  2824. package/vendor/public/assets/icons/fill/star-half-fill.svg +1 -0
  2825. package/vendor/public/assets/icons/fill/star-of-david-fill.svg +1 -0
  2826. package/vendor/public/assets/icons/fill/steam-logo-fill.svg +1 -0
  2827. package/vendor/public/assets/icons/fill/steering-wheel-fill.svg +1 -0
  2828. package/vendor/public/assets/icons/fill/steps-fill.svg +1 -0
  2829. package/vendor/public/assets/icons/fill/stethoscope-fill.svg +1 -0
  2830. package/vendor/public/assets/icons/fill/sticker-fill.svg +1 -0
  2831. package/vendor/public/assets/icons/fill/stool-fill.svg +1 -0
  2832. package/vendor/public/assets/icons/fill/stop-circle-fill.svg +1 -0
  2833. package/vendor/public/assets/icons/fill/stop-fill.svg +1 -0
  2834. package/vendor/public/assets/icons/fill/storefront-fill.svg +1 -0
  2835. package/vendor/public/assets/icons/fill/strategy-fill.svg +1 -0
  2836. package/vendor/public/assets/icons/fill/stripe-logo-fill.svg +1 -0
  2837. package/vendor/public/assets/icons/fill/student-fill.svg +1 -0
  2838. package/vendor/public/assets/icons/fill/subset-of-fill.svg +1 -0
  2839. package/vendor/public/assets/icons/fill/subset-proper-of-fill.svg +1 -0
  2840. package/vendor/public/assets/icons/fill/subtitles-fill.svg +1 -0
  2841. package/vendor/public/assets/icons/fill/subtitles-slash-fill.svg +1 -0
  2842. package/vendor/public/assets/icons/fill/subtract-fill.svg +1 -0
  2843. package/vendor/public/assets/icons/fill/subtract-square-fill.svg +1 -0
  2844. package/vendor/public/assets/icons/fill/subway-fill.svg +1 -0
  2845. package/vendor/public/assets/icons/fill/suitcase-fill.svg +1 -0
  2846. package/vendor/public/assets/icons/fill/suitcase-rolling-fill.svg +1 -0
  2847. package/vendor/public/assets/icons/fill/suitcase-simple-fill.svg +1 -0
  2848. package/vendor/public/assets/icons/fill/sun-dim-fill.svg +1 -0
  2849. package/vendor/public/assets/icons/fill/sun-fill.svg +1 -0
  2850. package/vendor/public/assets/icons/fill/sun-horizon-fill.svg +1 -0
  2851. package/vendor/public/assets/icons/fill/sunglasses-fill.svg +1 -0
  2852. package/vendor/public/assets/icons/fill/superset-of-fill.svg +1 -0
  2853. package/vendor/public/assets/icons/fill/superset-proper-of-fill.svg +1 -0
  2854. package/vendor/public/assets/icons/fill/swap-fill.svg +1 -0
  2855. package/vendor/public/assets/icons/fill/swatches-fill.svg +1 -0
  2856. package/vendor/public/assets/icons/fill/swimming-pool-fill.svg +1 -0
  2857. package/vendor/public/assets/icons/fill/sword-fill.svg +1 -0
  2858. package/vendor/public/assets/icons/fill/synagogue-fill.svg +1 -0
  2859. package/vendor/public/assets/icons/fill/syringe-fill.svg +1 -0
  2860. package/vendor/public/assets/icons/fill/t-shirt-fill.svg +1 -0
  2861. package/vendor/public/assets/icons/fill/table-fill.svg +1 -0
  2862. package/vendor/public/assets/icons/fill/tabs-fill.svg +1 -0
  2863. package/vendor/public/assets/icons/fill/tag-chevron-fill.svg +1 -0
  2864. package/vendor/public/assets/icons/fill/tag-fill.svg +1 -0
  2865. package/vendor/public/assets/icons/fill/tag-simple-fill.svg +1 -0
  2866. package/vendor/public/assets/icons/fill/target-fill.svg +1 -0
  2867. package/vendor/public/assets/icons/fill/taxi-fill.svg +1 -0
  2868. package/vendor/public/assets/icons/fill/tea-bag-fill.svg +1 -0
  2869. package/vendor/public/assets/icons/fill/telegram-logo-fill.svg +1 -0
  2870. package/vendor/public/assets/icons/fill/television-fill.svg +1 -0
  2871. package/vendor/public/assets/icons/fill/television-simple-fill.svg +1 -0
  2872. package/vendor/public/assets/icons/fill/tennis-ball-fill.svg +1 -0
  2873. package/vendor/public/assets/icons/fill/tent-fill.svg +1 -0
  2874. package/vendor/public/assets/icons/fill/terminal-fill.svg +1 -0
  2875. package/vendor/public/assets/icons/fill/terminal-window-fill.svg +1 -0
  2876. package/vendor/public/assets/icons/fill/test-tube-fill.svg +1 -0
  2877. package/vendor/public/assets/icons/fill/text-a-underline-fill.svg +1 -0
  2878. package/vendor/public/assets/icons/fill/text-aa-fill.svg +1 -0
  2879. package/vendor/public/assets/icons/fill/text-align-center-fill.svg +1 -0
  2880. package/vendor/public/assets/icons/fill/text-align-justify-fill.svg +1 -0
  2881. package/vendor/public/assets/icons/fill/text-align-left-fill.svg +1 -0
  2882. package/vendor/public/assets/icons/fill/text-align-right-fill.svg +1 -0
  2883. package/vendor/public/assets/icons/fill/text-b-fill.svg +1 -0
  2884. package/vendor/public/assets/icons/fill/text-columns-fill.svg +1 -0
  2885. package/vendor/public/assets/icons/fill/text-h-fill.svg +1 -0
  2886. package/vendor/public/assets/icons/fill/text-h-five-fill.svg +1 -0
  2887. package/vendor/public/assets/icons/fill/text-h-four-fill.svg +1 -0
  2888. package/vendor/public/assets/icons/fill/text-h-one-fill.svg +1 -0
  2889. package/vendor/public/assets/icons/fill/text-h-six-fill.svg +1 -0
  2890. package/vendor/public/assets/icons/fill/text-h-three-fill.svg +1 -0
  2891. package/vendor/public/assets/icons/fill/text-h-two-fill.svg +1 -0
  2892. package/vendor/public/assets/icons/fill/text-indent-fill.svg +1 -0
  2893. package/vendor/public/assets/icons/fill/text-italic-fill.svg +1 -0
  2894. package/vendor/public/assets/icons/fill/text-outdent-fill.svg +1 -0
  2895. package/vendor/public/assets/icons/fill/text-strikethrough-fill.svg +1 -0
  2896. package/vendor/public/assets/icons/fill/text-subscript-fill.svg +1 -0
  2897. package/vendor/public/assets/icons/fill/text-superscript-fill.svg +1 -0
  2898. package/vendor/public/assets/icons/fill/text-t-fill.svg +1 -0
  2899. package/vendor/public/assets/icons/fill/text-t-slash-fill.svg +1 -0
  2900. package/vendor/public/assets/icons/fill/text-underline-fill.svg +1 -0
  2901. package/vendor/public/assets/icons/fill/textbox-fill.svg +1 -0
  2902. package/vendor/public/assets/icons/fill/thermometer-cold-fill.svg +1 -0
  2903. package/vendor/public/assets/icons/fill/thermometer-fill.svg +1 -0
  2904. package/vendor/public/assets/icons/fill/thermometer-hot-fill.svg +1 -0
  2905. package/vendor/public/assets/icons/fill/thermometer-simple-fill.svg +1 -0
  2906. package/vendor/public/assets/icons/fill/threads-logo-fill.svg +1 -0
  2907. package/vendor/public/assets/icons/fill/three-d-fill.svg +1 -0
  2908. package/vendor/public/assets/icons/fill/thumbs-down-fill.svg +1 -0
  2909. package/vendor/public/assets/icons/fill/thumbs-up-fill.svg +1 -0
  2910. package/vendor/public/assets/icons/fill/ticket-fill.svg +1 -0
  2911. package/vendor/public/assets/icons/fill/tidal-logo-fill.svg +1 -0
  2912. package/vendor/public/assets/icons/fill/tiktok-logo-fill.svg +1 -0
  2913. package/vendor/public/assets/icons/fill/tilde-fill.svg +1 -0
  2914. package/vendor/public/assets/icons/fill/timer-fill.svg +1 -0
  2915. package/vendor/public/assets/icons/fill/tip-jar-fill.svg +1 -0
  2916. package/vendor/public/assets/icons/fill/tipi-fill.svg +1 -0
  2917. package/vendor/public/assets/icons/fill/tire-fill.svg +1 -0
  2918. package/vendor/public/assets/icons/fill/toggle-left-fill.svg +1 -0
  2919. package/vendor/public/assets/icons/fill/toggle-right-fill.svg +1 -0
  2920. package/vendor/public/assets/icons/fill/toilet-fill.svg +1 -0
  2921. package/vendor/public/assets/icons/fill/toilet-paper-fill.svg +1 -0
  2922. package/vendor/public/assets/icons/fill/toolbox-fill.svg +1 -0
  2923. package/vendor/public/assets/icons/fill/tooth-fill.svg +1 -0
  2924. package/vendor/public/assets/icons/fill/tornado-fill.svg +1 -0
  2925. package/vendor/public/assets/icons/fill/tote-fill.svg +1 -0
  2926. package/vendor/public/assets/icons/fill/tote-simple-fill.svg +1 -0
  2927. package/vendor/public/assets/icons/fill/towel-fill.svg +1 -0
  2928. package/vendor/public/assets/icons/fill/tractor-fill.svg +1 -0
  2929. package/vendor/public/assets/icons/fill/trademark-fill.svg +1 -0
  2930. package/vendor/public/assets/icons/fill/trademark-registered-fill.svg +1 -0
  2931. package/vendor/public/assets/icons/fill/traffic-cone-fill.svg +1 -0
  2932. package/vendor/public/assets/icons/fill/traffic-sign-fill.svg +1 -0
  2933. package/vendor/public/assets/icons/fill/traffic-signal-fill.svg +1 -0
  2934. package/vendor/public/assets/icons/fill/train-fill.svg +1 -0
  2935. package/vendor/public/assets/icons/fill/train-regional-fill.svg +1 -0
  2936. package/vendor/public/assets/icons/fill/train-simple-fill.svg +1 -0
  2937. package/vendor/public/assets/icons/fill/tram-fill.svg +1 -0
  2938. package/vendor/public/assets/icons/fill/translate-fill.svg +1 -0
  2939. package/vendor/public/assets/icons/fill/trash-fill.svg +1 -0
  2940. package/vendor/public/assets/icons/fill/trash-simple-fill.svg +1 -0
  2941. package/vendor/public/assets/icons/fill/tray-arrow-down-fill.svg +1 -0
  2942. package/vendor/public/assets/icons/fill/tray-arrow-up-fill.svg +1 -0
  2943. package/vendor/public/assets/icons/fill/tray-fill.svg +1 -0
  2944. package/vendor/public/assets/icons/fill/treasure-chest-fill.svg +1 -0
  2945. package/vendor/public/assets/icons/fill/tree-evergreen-fill.svg +1 -0
  2946. package/vendor/public/assets/icons/fill/tree-fill.svg +1 -0
  2947. package/vendor/public/assets/icons/fill/tree-palm-fill.svg +1 -0
  2948. package/vendor/public/assets/icons/fill/tree-structure-fill.svg +1 -0
  2949. package/vendor/public/assets/icons/fill/tree-view-fill.svg +1 -0
  2950. package/vendor/public/assets/icons/fill/trend-down-fill.svg +1 -0
  2951. package/vendor/public/assets/icons/fill/trend-up-fill.svg +1 -0
  2952. package/vendor/public/assets/icons/fill/triangle-dashed-fill.svg +1 -0
  2953. package/vendor/public/assets/icons/fill/triangle-fill.svg +1 -0
  2954. package/vendor/public/assets/icons/fill/trolley-fill.svg +1 -0
  2955. package/vendor/public/assets/icons/fill/trolley-suitcase-fill.svg +1 -0
  2956. package/vendor/public/assets/icons/fill/trophy-fill.svg +1 -0
  2957. package/vendor/public/assets/icons/fill/truck-fill.svg +1 -0
  2958. package/vendor/public/assets/icons/fill/truck-trailer-fill.svg +1 -0
  2959. package/vendor/public/assets/icons/fill/tumblr-logo-fill.svg +1 -0
  2960. package/vendor/public/assets/icons/fill/twitch-logo-fill.svg +1 -0
  2961. package/vendor/public/assets/icons/fill/twitter-logo-fill.svg +1 -0
  2962. package/vendor/public/assets/icons/fill/umbrella-fill.svg +1 -0
  2963. package/vendor/public/assets/icons/fill/umbrella-simple-fill.svg +1 -0
  2964. package/vendor/public/assets/icons/fill/union-fill.svg +1 -0
  2965. package/vendor/public/assets/icons/fill/unite-fill.svg +1 -0
  2966. package/vendor/public/assets/icons/fill/unite-square-fill.svg +1 -0
  2967. package/vendor/public/assets/icons/fill/upload-fill.svg +1 -0
  2968. package/vendor/public/assets/icons/fill/upload-simple-fill.svg +1 -0
  2969. package/vendor/public/assets/icons/fill/usb-fill.svg +1 -0
  2970. package/vendor/public/assets/icons/fill/user-check-fill.svg +1 -0
  2971. package/vendor/public/assets/icons/fill/user-circle-check-fill.svg +1 -0
  2972. package/vendor/public/assets/icons/fill/user-circle-dashed-fill.svg +1 -0
  2973. package/vendor/public/assets/icons/fill/user-circle-fill.svg +1 -0
  2974. package/vendor/public/assets/icons/fill/user-circle-gear-fill.svg +1 -0
  2975. package/vendor/public/assets/icons/fill/user-circle-minus-fill.svg +1 -0
  2976. package/vendor/public/assets/icons/fill/user-circle-plus-fill.svg +1 -0
  2977. package/vendor/public/assets/icons/fill/user-fill.svg +1 -0
  2978. package/vendor/public/assets/icons/fill/user-focus-fill.svg +1 -0
  2979. package/vendor/public/assets/icons/fill/user-gear-fill.svg +1 -0
  2980. package/vendor/public/assets/icons/fill/user-list-fill.svg +1 -0
  2981. package/vendor/public/assets/icons/fill/user-minus-fill.svg +1 -0
  2982. package/vendor/public/assets/icons/fill/user-plus-fill.svg +1 -0
  2983. package/vendor/public/assets/icons/fill/user-rectangle-fill.svg +1 -0
  2984. package/vendor/public/assets/icons/fill/user-sound-fill.svg +1 -0
  2985. package/vendor/public/assets/icons/fill/user-square-fill.svg +1 -0
  2986. package/vendor/public/assets/icons/fill/user-switch-fill.svg +1 -0
  2987. package/vendor/public/assets/icons/fill/users-fill.svg +1 -0
  2988. package/vendor/public/assets/icons/fill/users-four-fill.svg +1 -0
  2989. package/vendor/public/assets/icons/fill/users-three-fill.svg +1 -0
  2990. package/vendor/public/assets/icons/fill/van-fill.svg +1 -0
  2991. package/vendor/public/assets/icons/fill/vault-fill.svg +1 -0
  2992. package/vendor/public/assets/icons/fill/vector-three-fill.svg +1 -0
  2993. package/vendor/public/assets/icons/fill/vector-two-fill.svg +1 -0
  2994. package/vendor/public/assets/icons/fill/vibrate-fill.svg +1 -0
  2995. package/vendor/public/assets/icons/fill/video-camera-fill.svg +1 -0
  2996. package/vendor/public/assets/icons/fill/video-camera-slash-fill.svg +1 -0
  2997. package/vendor/public/assets/icons/fill/video-conference-fill.svg +1 -0
  2998. package/vendor/public/assets/icons/fill/video-fill.svg +1 -0
  2999. package/vendor/public/assets/icons/fill/vignette-fill.svg +1 -0
  3000. package/vendor/public/assets/icons/fill/vinyl-record-fill.svg +1 -0
  3001. package/vendor/public/assets/icons/fill/virtual-reality-fill.svg +1 -0
  3002. package/vendor/public/assets/icons/fill/virus-fill.svg +1 -0
  3003. package/vendor/public/assets/icons/fill/visor-fill.svg +1 -0
  3004. package/vendor/public/assets/icons/fill/voicemail-fill.svg +1 -0
  3005. package/vendor/public/assets/icons/fill/volleyball-fill.svg +1 -0
  3006. package/vendor/public/assets/icons/fill/wall-fill.svg +1 -0
  3007. package/vendor/public/assets/icons/fill/wallet-fill.svg +1 -0
  3008. package/vendor/public/assets/icons/fill/warehouse-fill.svg +1 -0
  3009. package/vendor/public/assets/icons/fill/warning-circle-fill.svg +1 -0
  3010. package/vendor/public/assets/icons/fill/warning-diamond-fill.svg +1 -0
  3011. package/vendor/public/assets/icons/fill/warning-fill.svg +1 -0
  3012. package/vendor/public/assets/icons/fill/warning-octagon-fill.svg +1 -0
  3013. package/vendor/public/assets/icons/fill/washing-machine-fill.svg +1 -0
  3014. package/vendor/public/assets/icons/fill/watch-fill.svg +1 -0
  3015. package/vendor/public/assets/icons/fill/wave-sawtooth-fill.svg +1 -0
  3016. package/vendor/public/assets/icons/fill/wave-sine-fill.svg +1 -0
  3017. package/vendor/public/assets/icons/fill/wave-square-fill.svg +1 -0
  3018. package/vendor/public/assets/icons/fill/wave-triangle-fill.svg +1 -0
  3019. package/vendor/public/assets/icons/fill/waveform-fill.svg +1 -0
  3020. package/vendor/public/assets/icons/fill/waveform-slash-fill.svg +1 -0
  3021. package/vendor/public/assets/icons/fill/waves-fill.svg +1 -0
  3022. package/vendor/public/assets/icons/fill/webcam-fill.svg +1 -0
  3023. package/vendor/public/assets/icons/fill/webcam-slash-fill.svg +1 -0
  3024. package/vendor/public/assets/icons/fill/webhooks-logo-fill.svg +1 -0
  3025. package/vendor/public/assets/icons/fill/wechat-logo-fill.svg +1 -0
  3026. package/vendor/public/assets/icons/fill/whatsapp-logo-fill.svg +1 -0
  3027. package/vendor/public/assets/icons/fill/wheelchair-fill.svg +1 -0
  3028. package/vendor/public/assets/icons/fill/wheelchair-motion-fill.svg +1 -0
  3029. package/vendor/public/assets/icons/fill/wifi-high-fill.svg +1 -0
  3030. package/vendor/public/assets/icons/fill/wifi-low-fill.svg +1 -0
  3031. package/vendor/public/assets/icons/fill/wifi-medium-fill.svg +1 -0
  3032. package/vendor/public/assets/icons/fill/wifi-none-fill.svg +1 -0
  3033. package/vendor/public/assets/icons/fill/wifi-slash-fill.svg +1 -0
  3034. package/vendor/public/assets/icons/fill/wifi-x-fill.svg +1 -0
  3035. package/vendor/public/assets/icons/fill/wind-fill.svg +1 -0
  3036. package/vendor/public/assets/icons/fill/windmill-fill.svg +1 -0
  3037. package/vendor/public/assets/icons/fill/windows-logo-fill.svg +1 -0
  3038. package/vendor/public/assets/icons/fill/wine-fill.svg +1 -0
  3039. package/vendor/public/assets/icons/fill/wrench-fill.svg +1 -0
  3040. package/vendor/public/assets/icons/fill/x-circle-fill.svg +1 -0
  3041. package/vendor/public/assets/icons/fill/x-fill.svg +1 -0
  3042. package/vendor/public/assets/icons/fill/x-logo-fill.svg +1 -0
  3043. package/vendor/public/assets/icons/fill/x-square-fill.svg +1 -0
  3044. package/vendor/public/assets/icons/fill/yarn-fill.svg +1 -0
  3045. package/vendor/public/assets/icons/fill/yin-yang-fill.svg +1 -0
  3046. package/vendor/public/assets/icons/fill/youtube-logo-fill.svg +1 -0
  3047. package/vendor/public/assets/workgraph-emblem.svg +3 -0
  3048. package/vendor/public/assets/workgraph-logo.svg +11 -10
  3049. package/vendor/src/analyticsLineageProjection.mjs +221 -0
  3050. package/vendor/src/analyticsPanelProjection.mjs +3 -1
  3051. package/vendor/src/analyticsRecordStore.mjs +8 -0
  3052. package/vendor/src/appVersionApi.mjs +62 -0
  3053. package/vendor/src/architectureSnapshot.mjs +2 -73
  3054. package/vendor/src/backlogFileWatch.mjs +68 -0
  3055. package/vendor/src/backlogRevision.mjs +46 -0
  3056. package/vendor/src/backlogSchemaLint.mjs +40 -0
  3057. package/vendor/src/backlogUiEventsHub.mjs +157 -0
  3058. package/vendor/src/codeSyntaxHighlight.mjs +2 -1
  3059. package/vendor/src/detailDrawerStack.mjs +136 -0
  3060. package/vendor/src/kanbanBoardDelta.mjs +64 -0
  3061. package/vendor/src/missionControlUiClient.mjs +1 -1
  3062. package/vendor/src/publicSiteContent.mjs +543 -0
  3063. package/vendor/src/publicSiteServer.mjs +799 -0
  3064. package/vendor/src/stepAtomFormatter.mjs +2 -0
  3065. package/vendor/src/structuredEvidenceV1.mjs +271 -0
  3066. package/vendor/src/ui/atoms/badge.mjs +75 -12
  3067. package/vendor/src/ui/atoms/badgeClient.mjs +1 -0
  3068. package/vendor/src/ui/backlogShellButtons.mjs +60 -8
  3069. package/vendor/src/ui/i18n/resolveUiLocale.mjs +60 -0
  3070. package/vendor/src/ui/i18n/uiCatalog.mjs +58 -0
  3071. package/vendor/src/ui/iconAssets.mjs +98 -0
  3072. package/vendor/src/ui/kanbanBoardPatcher.mjs +97 -0
  3073. package/vendor/src/ui/liveSyncCoordinator.mjs +126 -0
  3074. package/vendor/src/ui/liveSyncSseAdapter.mjs +60 -0
  3075. package/vendor/src/ui/pages/uiKitPage.mjs +2 -1
  3076. package/vendor/src/ui/panelSearchQuery.mjs +21 -0
  3077. package/vendor/src/ui/userAvatars.mjs +59 -0
  3078. package/vendor/src/ui/workItemClassifierBadge.mjs +92 -0
  3079. package/vendor/src/ui/workItemIssueType.mjs +65 -0
  3080. package/vendor/src/ui/workItemStatusTone.mjs +9 -2
  3081. package/vendor/src/verificationLoop.mjs +24 -0
  3082. package/vendor/src/workGraphBacklogUiServer.mjs +1993 -321
  3083. package/vendor/src/workGraphRuntime.mjs +13 -1
  3084. package/vendor/src/workGraphToolSurfaceAudit.mjs +8 -0
  3085. package/vendor/src/workItemBlockClassifier.mjs +72 -0
  3086. package/vendor/src/workItemContractProjection.mjs +164 -0
  3087. package/vendor/src/workItemReadyForDone.mjs +296 -0
  3088. package/vendor/src/workItemTextRusify.mjs +848 -15
  3089. package/vendor/src/workItemTitleRuCatalog.mjs +485 -0
@@ -18,12 +18,14 @@ import {
18
18
  import { buildCodeGapOperatorProjection } from './codeGapOperatorProjection.mjs';
19
19
  import { buildEpicWorkScopeSlice } from './epicWorkScope.mjs';
20
20
  import { renderUiKitPageHtml } from './ui/pages/uiKitPage.mjs';
21
+ import { handlePublicSiteRequest } from './publicSiteServer.mjs';
21
22
  import { UI_BUTTON_CSS } from './ui/atoms/button.mjs';
22
23
  import { UI_BADGE_CSS } from './ui/atoms/badge.mjs';
23
24
  import { UI_SELECT_CSS } from './ui/atoms/select.mjs';
24
25
  import {
25
26
  renderNavTab,
26
- renderThemeToggleButton,
27
+ renderHeaderThemeToggleButton,
28
+ renderSettingsNavTab,
27
29
  renderDetailCloseButton,
28
30
  renderDetailSubCloseButton,
29
31
  renderAgentRunDockCloseButton,
@@ -37,7 +39,14 @@ import {
37
39
  renderWorkflowSubtabsShell,
38
40
  renderArchitectureSubtabsShell,
39
41
  renderWorkflowDisplayModeSelect,
42
+ renderSettingsLocaleOptions,
40
43
  } from './ui/backlogShellButtons.mjs';
44
+ import { renderThemeIcon } from './ui/iconAssets.mjs';
45
+ import { buildAppVersionResponse } from './appVersionApi.mjs';
46
+ import { computeBacklogRevision } from './backlogRevision.mjs';
47
+ import { createBacklogUiEventsHub } from './backlogUiEventsHub.mjs';
48
+ import { createUiTranslator, loadUiCatalogSync } from './ui/i18n/uiCatalog.mjs';
49
+ import { resolveUiLocale, UI_LOCALE_COOKIE } from './ui/i18n/resolveUiLocale.mjs';
41
50
  import { UI_TABS_CSS } from './ui/molecules/tabs.mjs';
42
51
  import { buildPvrgTaskScopeSlice } from './pvrgTaskScope.mjs';
43
52
  import { buildWorkItemLinkageDrilldown } from './unifiedLinkageProjection.mjs';
@@ -73,6 +82,7 @@ import {
73
82
  executeIntentComposerProposal,
74
83
  } from './intentComposerApi.mjs';
75
84
  import { buildWorkItemPipelineView } from './workItemDecisionPipeline.mjs';
85
+ import { getFieldSectionsForDialect } from './bvcDialectRegistry.mjs';
76
86
  import {
77
87
  attachUiReference,
78
88
  listUiReferences,
@@ -116,6 +126,48 @@ function contentTypeForPublicFont(filePath) {
116
126
  return 'application/octet-stream';
117
127
  }
118
128
 
129
+ function tryServePublicIconsAsset(url, response) {
130
+ if (!url.pathname.startsWith('/assets/icons/')) {
131
+ return false;
132
+ }
133
+ return tryServePublicAssetDir(url, response, join(PUBLIC_ROOT, 'assets', 'icons'), '/assets/icons/');
134
+ }
135
+
136
+ function tryServePublicAvatarsAsset(url, response) {
137
+ if (!url.pathname.startsWith('/assets/avatars/')) {
138
+ return false;
139
+ }
140
+ return tryServePublicAssetDir(url, response, join(PUBLIC_ROOT, 'assets', 'avatars'), '/assets/avatars/');
141
+ }
142
+
143
+ function tryServePublicAssetDir(url, response, rootDir, urlPrefix) {
144
+ const relativePath = decodeURIComponent(url.pathname.slice(urlPrefix.length));
145
+ if (!relativePath || relativePath.includes('..')) {
146
+ sendText(response, 403, 'forbidden');
147
+ return true;
148
+ }
149
+ const filePath = join(rootDir, relativePath);
150
+ if (!filePath.startsWith(rootDir)) {
151
+ sendText(response, 403, 'forbidden');
152
+ return true;
153
+ }
154
+ try {
155
+ const source = readFileSync(filePath);
156
+ const contentType = filePath.endsWith('.svg')
157
+ ? 'image/svg+xml; charset=utf-8'
158
+ : 'application/octet-stream';
159
+ response.writeHead(200, {
160
+ 'content-type': contentType,
161
+ 'cache-control': 'public, max-age=3600',
162
+ });
163
+ response.end(source);
164
+ return true;
165
+ } catch {
166
+ sendText(response, 404, 'not_found');
167
+ return true;
168
+ }
169
+ }
170
+
119
171
  function tryServePublicFontsAsset(url, response) {
120
172
  if (!url.pathname.startsWith('/assets/fonts/')) {
121
173
  return false;
@@ -144,6 +196,17 @@ function tryServePublicFontsAsset(url, response) {
144
196
  }
145
197
  }
146
198
 
199
+ function stripBrowserInlineLocalFunctions(source, names) {
200
+ let result = source;
201
+ for (const name of names) {
202
+ result = result.replace(
203
+ new RegExp(`\\nfunction ${name}\\([^)]*\\) \\{[\\s\\S]*?\\n\\}\\n`, 'g'),
204
+ '\n',
205
+ );
206
+ }
207
+ return result;
208
+ }
209
+
147
210
  function stripModuleForBrowserInline(source) {
148
211
  return source
149
212
  .replace(/^import\s[\s\S]*?from\s+['"][^'"]+['"];?\s*$/gm, '')
@@ -168,23 +231,33 @@ function loadBrowserArchitectureLayoutSource() {
168
231
  }
169
232
 
170
233
  function loadBrowserMarkdownDocumentRenderSource() {
171
- return [
172
- readFileSync(join(__dirname, 'codeSyntaxHighlight.mjs'), 'utf8'),
173
- readFileSync(join(__dirname, 'markdownDocumentRender.mjs'), 'utf8'),
174
- ].join('\n')
234
+ const codeSyntaxHighlight = readFileSync(join(__dirname, 'codeSyntaxHighlight.mjs'), 'utf8')
175
235
  .replace(/^import\s.+$/gm, '')
176
236
  .replace(/^export /gm, '');
237
+ const markdownDocumentRender = stripBrowserInlineLocalFunctions(
238
+ readFileSync(join(__dirname, 'markdownDocumentRender.mjs'), 'utf8')
239
+ .replace(/^import\s.+$/gm, '')
240
+ .replace(/^export /gm, ''),
241
+ ['escapeHtml'],
242
+ );
243
+ return `${codeSyntaxHighlight}\n${markdownDocumentRender}`;
177
244
  }
178
245
 
179
246
  function loadBrowserPipelineProseRenderSource() {
180
- return readFileSync(join(__dirname, 'pipelineProseRender.mjs'), 'utf8')
181
- .replace(/^import\s.+$/gm, '')
182
- .replace(/^export /gm, '');
247
+ return stripBrowserInlineLocalFunctions(
248
+ readFileSync(join(__dirname, 'pipelineProseRender.mjs'), 'utf8')
249
+ .replace(/^import\s.+$/gm, '')
250
+ .replace(/^export /gm, ''),
251
+ ['escapeHtml'],
252
+ );
183
253
  }
184
254
 
185
255
  function loadBrowserMissionControlClientSource() {
186
- return stripModuleForBrowserInline(
187
- readFileSync(join(__dirname, 'missionControlUiClient.mjs'), 'utf8'),
256
+ return stripBrowserInlineLocalFunctions(
257
+ stripModuleForBrowserInline(
258
+ readFileSync(join(__dirname, 'missionControlUiClient.mjs'), 'utf8'),
259
+ ),
260
+ ['escapeHtml'],
188
261
  );
189
262
  }
190
263
 
@@ -224,6 +297,55 @@ function loadBrowserWorkItemStatusToneSource() {
224
297
  );
225
298
  }
226
299
 
300
+ function loadBrowserKanbanBoardDeltaSource() {
301
+ return stripModuleForBrowserInline(
302
+ readFileSync(join(__dirname, 'kanbanBoardDelta.mjs'), 'utf8'),
303
+ );
304
+ }
305
+
306
+ function loadBrowserKanbanBoardPatcherSource() {
307
+ return stripModuleForBrowserInline(
308
+ readFileSync(join(__dirname, 'ui/kanbanBoardPatcher.mjs'), 'utf8'),
309
+ );
310
+ }
311
+
312
+ function loadBrowserUserAvatarsSource() {
313
+ return stripModuleForBrowserInline(
314
+ readFileSync(join(__dirname, 'ui/userAvatars.mjs'), 'utf8'),
315
+ );
316
+ }
317
+
318
+ function loadBrowserWorkItemIssueTypeSource() {
319
+ return stripModuleForBrowserInline(
320
+ readFileSync(join(__dirname, 'ui/workItemIssueType.mjs'), 'utf8'),
321
+ );
322
+ }
323
+
324
+ function loadBrowserWorkItemClassifierSource() {
325
+ return [
326
+ stripModuleForBrowserInline(readFileSync(join(__dirname, 'workItemBlockClassifier.mjs'), 'utf8')),
327
+ stripModuleForBrowserInline(readFileSync(join(__dirname, 'ui/workItemClassifierBadge.mjs'), 'utf8')),
328
+ ].join('\n');
329
+ }
330
+
331
+ function loadBrowserDetailDrawerStackSource() {
332
+ return stripModuleForBrowserInline(
333
+ readFileSync(join(__dirname, 'detailDrawerStack.mjs'), 'utf8'),
334
+ );
335
+ }
336
+
337
+ function loadBrowserLiveSyncCoordinatorSource() {
338
+ return stripModuleForBrowserInline(
339
+ readFileSync(join(__dirname, 'ui/liveSyncCoordinator.mjs'), 'utf8'),
340
+ );
341
+ }
342
+
343
+ function loadBrowserLiveSyncSseAdapterSource() {
344
+ return stripModuleForBrowserInline(
345
+ readFileSync(join(__dirname, 'ui/liveSyncSseAdapter.mjs'), 'utf8'),
346
+ );
347
+ }
348
+
227
349
  const DEFAULT_HOST = '127.0.0.1';
228
350
  const DEFAULT_PORT = 4177;
229
351
 
@@ -334,7 +456,10 @@ export async function readArchitectureSnapshot(options = {}) {
334
456
  });
335
457
  }
336
458
 
337
- export function renderBacklogHtml() {
459
+ export function renderBacklogHtml(options = {}) {
460
+ const catalog = options.catalog ?? loadUiCatalogSync(options.locale ?? 'ru', options);
461
+ const { locale, t, messages } = createUiTranslator(catalog);
462
+ const i18nBootstrapScript = JSON.stringify({ locale, messages });
338
463
  const schematicModelFull = buildSchematicViewModel({ viewMode: GRAPH_CANVAS_VIEW_FULL });
339
464
  const schematicModelPipeline = buildSchematicViewModel({ viewMode: GRAPH_CANVAS_VIEW_PIPELINE });
340
465
  const architectureLayoutSource = loadBrowserArchitectureLayoutSource();
@@ -348,15 +473,27 @@ export function renderBacklogHtml() {
348
473
  const uiButtonClientSource = loadBrowserUiButtonClientSource();
349
474
  const uiBadgeClientSource = loadBrowserUiBadgeClientSource();
350
475
  const workItemStatusToneSource = loadBrowserWorkItemStatusToneSource();
351
- const shellNavHome = renderNavTab({ view: 'home', label: 'Главная', selected: true });
352
- const shellNavBoard = renderNavTab({ view: 'board', label: 'Доска', selected: false });
353
- const shellNavWorkflow = renderNavTab({ view: 'workflow', label: 'Задачи', selected: false });
354
- const shellNavVerification = renderNavTab({ view: 'verification', label: 'Проверки', selected: false });
355
- const shellNavPrompts = renderNavTab({ view: 'prompts', label: 'Промпты', selected: false });
356
- const shellNavMemory = renderNavTab({ view: 'memory', label: 'Память', selected: false });
357
- const shellNavAnalytics = renderNavTab({ view: 'analytics', label: 'Аналитика', selected: false });
358
- const shellNavArchitecture = renderNavTab({ view: 'architecture', label: 'Архитектура', selected: false });
359
- const shellThemeToggle = renderThemeToggleButton();
476
+ const kanbanBoardDeltaSource = loadBrowserKanbanBoardDeltaSource();
477
+ const kanbanBoardPatcherSource = loadBrowserKanbanBoardPatcherSource();
478
+ const userAvatarsSource = loadBrowserUserAvatarsSource();
479
+ const workItemIssueTypeSource = loadBrowserWorkItemIssueTypeSource();
480
+ const workItemClassifierSource = loadBrowserWorkItemClassifierSource();
481
+ const detailDrawerStackSource = loadBrowserDetailDrawerStackSource();
482
+ const liveSyncCoordinatorSource = loadBrowserLiveSyncCoordinatorSource();
483
+ const liveSyncSseAdapterSource = loadBrowserLiveSyncSseAdapterSource();
484
+ const bvcDialectSectionTitles = Object.fromEntries(
485
+ ['en', 'ru'].map((lang) => [lang, Object.fromEntries(getFieldSectionsForDialect(lang))]),
486
+ );
487
+ const shellNavAnalytics = renderNavTab({ view: 'analytics', label: t('nav.analytics'), selected: true });
488
+ const shellNavWorkflow = renderNavTab({ view: 'workflow', label: t('nav.workflow'), selected: false });
489
+ const shellNavBoard = renderNavTab({ view: 'board', label: t('nav.board'), selected: false });
490
+ const shellNavVerification = renderNavTab({ view: 'verification', label: t('nav.verification'), selected: false });
491
+ const shellNavMemory = renderNavTab({ view: 'memory', label: t('nav.memory'), selected: false });
492
+ const shellNavArchitecture = renderNavTab({ view: 'architecture', label: t('nav.architecture'), selected: false });
493
+ const shellNavPrompts = renderNavTab({ view: 'prompts', label: t('nav.prompts'), selected: false });
494
+ const shellSettingsNav = renderSettingsNavTab({ label: t('nav.settings') });
495
+ const shellHeaderThemeToggle = renderHeaderThemeToggleButton({ ariaLabel: t('theme.toggleAria') });
496
+ const shellSettingsLocaleOptions = renderSettingsLocaleOptions({ locale, t });
360
497
  const shellDetailClose = renderDetailCloseButton();
361
498
  const shellDetailSubClose = renderDetailSubCloseButton();
362
499
  const shellAgentDockClose = renderAgentRunDockCloseButton();
@@ -367,14 +504,34 @@ export function renderBacklogHtml() {
367
504
  const shellCycleFilterSelect = renderCycleFilterSelect();
368
505
  const shellIntentDomainFilterSelect = renderIntentDomainFilterSelect();
369
506
  const shellAnalyticsSubtabs = renderAnalyticsSubtabsShell();
370
- const shellWorkflowSubtabs = renderWorkflowSubtabsShell();
507
+ const shellWorkflowSubtabs = renderWorkflowSubtabsShell({
508
+ backlog: t('workflow.tab.backlog'),
509
+ archive: t('workflow.tab.archive'),
510
+ });
371
511
  const shellArchitectureSubtabs = renderArchitectureSubtabsShell();
372
512
  const shellWorkflowDisplayModeSelect = renderWorkflowDisplayModeSelect();
513
+ const themeIconMoonHtml = renderThemeIcon('moon');
514
+ const themeIconSunHtml = renderThemeIcon('sun');
373
515
  return `<!doctype html>
374
- <html lang="ru" data-iohasc-theme="workgraph-dark">
516
+ <html lang="${locale}" data-iohasc-theme="workgraph-dark">
375
517
  <head>
376
518
  <meta charset="utf-8">
377
519
  <meta name="viewport" content="width=device-width, initial-scale=1">
520
+ <script id="sidebar-width-bootstrap">
521
+ (function () {
522
+ var key = 'workGraphSidebarWidth';
523
+ var min = 56;
524
+ var max = 360;
525
+ var fallback = 252;
526
+ var compactMax = 80;
527
+ var raw = Number(localStorage.getItem(key));
528
+ var width = Number.isFinite(raw) ? Math.max(min, Math.min(max, raw)) : fallback;
529
+ document.documentElement.style.setProperty('--sidebar-width', width + 'px');
530
+ if (width <= compactMax) {
531
+ document.documentElement.classList.add('is-sidebar-compact');
532
+ }
533
+ })();
534
+ </script>
378
535
  <title>Work Graph: атомы задач</title>
379
536
  <link rel="stylesheet" href="/assets/fonts/GraphikLCG/stylesheet.css">
380
537
  <link rel="stylesheet" href="/assets/graph-canvas-lit-flow.css">
@@ -402,31 +559,37 @@ export function renderBacklogHtml() {
402
559
  --scrollbar-thumb: rgba(9, 30, 66, 0.28);
403
560
  --scrollbar-thumb-hover: rgba(9, 30, 66, 0.42);
404
561
  --scrollbar-thumb-active: var(--accent);
405
- --sidebar-width: 224px;
562
+ --sidebar-width: 252px;
563
+ --sidebar-width-compact: 56px;
564
+ --sidebar-width-min: 56px;
565
+ --sidebar-width-max: 360px;
566
+ --sidebar-width-default: 252px;
567
+ --sidebar-compact-ui-max: 80px;
406
568
  }
407
569
 
408
570
  body[data-theme="dark"] {
409
571
  color-scheme: dark;
410
- --bg: rgb(var(--brand-bg-rgb, 30 30 30));
411
- --header-bg: rgb(var(--brand-bg-rgb, 24 24 24));
412
- --panel: rgb(var(--ui-surface-rgb, 37 37 38));
413
- --panel-2: rgb(var(--ui-surface-muted-rgb, 45 45 48));
414
- --card: rgb(var(--ui-surface-rgb, 31 31 31));
415
- --border: rgb(var(--brand-border-rgb, 60 60 60));
416
- --text: rgb(var(--ui-text-rgb, 212 212 212));
417
- --muted: rgb(var(--ui-muted-rgb, 157 157 157));
418
- --accent: rgb(var(--ui-accent-rgb, 0 102 255));
419
- --accent-soft: rgba(var(--ui-accent-rgb, 0 102 255), 0.16);
420
- --warn: #f0ad4e;
421
- --danger: rgb(var(--ui-danger-rgb, 241 76 76));
422
- --ok: #6a9955;
423
- --shadow-card: 0 1px 1px rgba(0, 0, 0, .28);
572
+ --bg: rgb(var(--brand-bg-rgb, 29 33 37));
573
+ --header-bg: rgb(22 26 29);
574
+ --panel: rgb(var(--ui-surface-rgb, 44 51 56));
575
+ --panel-2: rgb(var(--ui-surface-muted-rgb, 56 65 74));
576
+ --column-bg: rgb(22 26 29);
577
+ --card: rgb(40 46 51);
578
+ --border: rgb(var(--brand-border-rgb, 61 71 77));
579
+ --text: rgb(var(--ui-text-rgb, 199 209 219));
580
+ --muted: rgb(var(--ui-muted-rgb, 159 173 188));
581
+ --accent: rgb(var(--ui-accent-rgb, 133 184 255));
582
+ --accent-soft: rgba(9, 41, 87, 0.72);
583
+ --warn: #e2b203;
584
+ --danger: rgb(var(--ui-danger-rgb, 255 156 143));
585
+ --ok: #4bce97;
586
+ --shadow-card: 0 1px 1px rgba(0, 0, 0, .32);
424
587
  --scrollbar-track: var(--bg);
425
- --scrollbar-thumb: rgba(255, 255, 255, 0.22);
426
- --scrollbar-thumb-hover: rgba(255, 255, 255, 0.34);
588
+ --scrollbar-thumb: rgba(161, 189, 217, 0.22);
589
+ --scrollbar-thumb-hover: rgba(161, 189, 217, 0.34);
427
590
  --scrollbar-thumb-active: var(--accent);
428
- --cursor-accent: rgb(var(--ui-accent-rgb, 0 102 255));
429
- --cursor-accent-hover: rgb(var(--ui-accent-hover-rgb, 0 90 230));
591
+ --cursor-accent: rgb(var(--ui-accent-rgb, 133 184 255));
592
+ --cursor-accent-hover: rgb(var(--ui-accent-hover-rgb, 87 157 255));
430
593
  }
431
594
 
432
595
  * { box-sizing: border-box; }
@@ -517,9 +680,40 @@ export function renderBacklogHtml() {
517
680
  overflow-x: hidden;
518
681
  overflow-y: auto;
519
682
  padding: 16px 0 12px;
683
+ position: relative;
520
684
  width: var(--sidebar-width);
521
685
  }
522
686
 
687
+ .sidebar-resize-handle {
688
+ bottom: 0;
689
+ cursor: col-resize;
690
+ position: absolute;
691
+ right: -6px;
692
+ top: 0;
693
+ width: 12px;
694
+ z-index: 3;
695
+ }
696
+
697
+ .sidebar-resize-handle::after {
698
+ background: transparent;
699
+ bottom: 0;
700
+ content: "";
701
+ position: absolute;
702
+ right: 5px;
703
+ top: 0;
704
+ width: 2px;
705
+ }
706
+
707
+ .sidebar-resize-handle:hover::after,
708
+ body.is-resizing-sidebar .sidebar-resize-handle::after {
709
+ background: var(--accent);
710
+ }
711
+
712
+ body.is-resizing-sidebar {
713
+ cursor: col-resize;
714
+ user-select: none;
715
+ }
716
+
523
717
  .sidebar-footer {
524
718
  border-top: 1px solid var(--border);
525
719
  margin-top: auto;
@@ -550,25 +744,28 @@ export function renderBacklogHtml() {
550
744
  }
551
745
 
552
746
  .sidebar-nav-advanced {
747
+ border-top: 1px solid var(--border);
553
748
  margin-top: 8px;
749
+ padding-top: 8px;
554
750
  }
555
751
 
556
752
  .nav-tab {
557
753
  align-items: center;
558
754
  background: transparent;
559
755
  border: 0;
560
- border-left: 3px solid transparent;
561
- border-radius: 0 3px 3px 0;
756
+ border-radius: 10px;
562
757
  box-sizing: border-box;
563
758
  color: var(--text);
564
759
  cursor: pointer;
565
760
  display: flex;
566
761
  font: inherit;
567
- font-size: var(--text-sm);
568
- gap: 8px;
762
+ font-size: var(--text-base);
763
+ gap: 10px;
569
764
  justify-content: flex-start;
765
+ line-height: var(--text-base-line-height, 1.5rem);
570
766
  min-width: 0;
571
- padding: 8px 10px 8px 7px;
767
+ padding: 9px 12px;
768
+ position: relative;
572
769
  text-align: left;
573
770
  width: 100%;
574
771
  }
@@ -579,15 +776,13 @@ export function renderBacklogHtml() {
579
776
 
580
777
  .nav-tab[aria-selected="true"] {
581
778
  background: #ebecf0;
582
- border-left-color: var(--accent);
583
779
  color: var(--accent);
584
780
  font-weight: 600;
585
781
  }
586
782
 
587
783
  body[data-theme="dark"] .nav-tab[aria-selected="true"] {
588
- background: #17324d;
589
- border-left-color: var(--accent);
590
- color: #cce0ff;
784
+ background: #092957;
785
+ color: #85b8ff;
591
786
  }
592
787
 
593
788
  .nav-tab[disabled] {
@@ -596,6 +791,20 @@ export function renderBacklogHtml() {
596
791
  opacity: .62;
597
792
  }
598
793
 
794
+ .nav-tab-icon {
795
+ display: block;
796
+ flex-shrink: 0;
797
+ height: 22px;
798
+ width: 22px;
799
+ }
800
+
801
+ .nav-tab-label {
802
+ min-width: 0;
803
+ overflow: hidden;
804
+ text-overflow: ellipsis;
805
+ white-space: nowrap;
806
+ }
807
+
599
808
  .badge {
600
809
  background: #ebecf0;
601
810
  border: 0;
@@ -733,9 +942,25 @@ export function renderBacklogHtml() {
733
942
  }
734
943
 
735
944
  .page-header {
945
+ align-items: flex-start;
946
+ display: flex;
947
+ gap: 12px;
948
+ justify-content: space-between;
736
949
  margin-bottom: 16px;
737
950
  }
738
951
 
952
+ .page-header-main {
953
+ min-width: 0;
954
+ }
955
+
956
+ .page-header-actions {
957
+ align-items: center;
958
+ display: flex;
959
+ flex-shrink: 0;
960
+ gap: 8px;
961
+ margin-top: 2px;
962
+ }
963
+
739
964
  .breadcrumbs {
740
965
  align-items: center;
741
966
  color: var(--muted);
@@ -760,11 +985,12 @@ export function renderBacklogHtml() {
760
985
  font-weight: 500;
761
986
  }
762
987
 
763
- .page-header h1 {
764
- font-size: var(--text-2xl, 1.4375rem);
988
+ .page-header h1,
989
+ #view-title {
990
+ font-size: 2rem;
765
991
  font-weight: var(--font-weight-strong, 600);
766
992
  letter-spacing: var(--text-heading-letter-spacing, 0.01em);
767
- line-height: var(--text-2xl-line-height, 1.875rem);
993
+ line-height: 2.5rem;
768
994
  margin: 0;
769
995
  }
770
996
 
@@ -800,7 +1026,9 @@ export function renderBacklogHtml() {
800
1026
 
801
1027
  body[data-theme="dark"] .workflow-subtab.is-active,
802
1028
  body[data-theme="dark"] .workflow-subtab[aria-selected="true"] {
803
- background: rgba(0, 102, 255, 0.16);
1029
+ background: #092957;
1030
+ border-color: #388bff;
1031
+ color: #85b8ff;
804
1032
  }
805
1033
 
806
1034
  .workflow-panel[hidden] {
@@ -876,8 +1104,9 @@ export function renderBacklogHtml() {
876
1104
  }
877
1105
 
878
1106
  body[data-theme="dark"] .board-tab.is-active {
879
- background: #17324d;
880
- color: #cce0ff;
1107
+ background: #092957;
1108
+ border-color: #388bff;
1109
+ color: #85b8ff;
881
1110
  }
882
1111
 
883
1112
  .toolbar {
@@ -943,6 +1172,114 @@ export function renderBacklogHtml() {
943
1172
  width: 100%;
944
1173
  }
945
1174
 
1175
+ .header-theme-toggle {
1176
+ align-items: center;
1177
+ background: var(--panel);
1178
+ border: 1px solid var(--border);
1179
+ border-radius: 8px;
1180
+ color: var(--text);
1181
+ cursor: pointer;
1182
+ display: inline-flex;
1183
+ height: 36px;
1184
+ justify-content: center;
1185
+ padding: 0;
1186
+ width: 36px;
1187
+ }
1188
+
1189
+ .header-theme-toggle:hover {
1190
+ border-color: var(--accent);
1191
+ color: var(--accent);
1192
+ }
1193
+
1194
+ .header-theme-toggle-icon {
1195
+ display: block;
1196
+ }
1197
+
1198
+ .settings-panel {
1199
+ display: grid;
1200
+ gap: 12px;
1201
+ max-width: 720px;
1202
+ }
1203
+
1204
+ .settings-section {
1205
+ background: var(--panel);
1206
+ border: 1px solid var(--border);
1207
+ border-radius: 8px;
1208
+ box-shadow: var(--shadow-card);
1209
+ display: grid;
1210
+ gap: 12px;
1211
+ padding: 14px 16px;
1212
+ }
1213
+
1214
+ .settings-section h2 {
1215
+ font-size: var(--text-lg);
1216
+ margin: 0;
1217
+ }
1218
+
1219
+ .settings-row {
1220
+ align-items: center;
1221
+ display: flex;
1222
+ flex-wrap: wrap;
1223
+ gap: 10px 16px;
1224
+ justify-content: space-between;
1225
+ }
1226
+
1227
+ .settings-row label,
1228
+ .settings-row > span:first-child {
1229
+ color: var(--text);
1230
+ font-size: var(--text-sm);
1231
+ font-weight: 500;
1232
+ }
1233
+
1234
+ .settings-theme-options,
1235
+ .settings-locale-options {
1236
+ display: inline-flex;
1237
+ gap: 8px;
1238
+ }
1239
+
1240
+ .settings-theme-options .wg-btn.is-active,
1241
+ .settings-locale-options .wg-btn.is-active {
1242
+ border-color: var(--accent);
1243
+ }
1244
+
1245
+ body:not([data-theme="dark"]) .settings-theme-options .wg-btn--secondary.is-active,
1246
+ body:not([data-theme="dark"]) .settings-locale-options .wg-btn--secondary.is-active {
1247
+ background: var(--accent-soft);
1248
+ color: var(--accent);
1249
+ }
1250
+
1251
+ body[data-theme="dark"] .settings-theme-options .wg-btn--secondary.is-active,
1252
+ body[data-theme="dark"] .settings-locale-options .wg-btn--secondary.is-active {
1253
+ background: #092957;
1254
+ border-color: #388bff;
1255
+ color: #85b8ff;
1256
+ }
1257
+
1258
+ .settings-version-value {
1259
+ font-family: var(--brand-font-mono, monospace);
1260
+ font-size: var(--text-sm);
1261
+ }
1262
+
1263
+ .settings-update-status {
1264
+ color: var(--muted);
1265
+ font-size: var(--text-sm);
1266
+ margin: 0;
1267
+ }
1268
+
1269
+ .settings-install-command {
1270
+ background: var(--panel-2);
1271
+ border: 1px solid var(--border);
1272
+ border-radius: 6px;
1273
+ font-family: var(--brand-font-mono, monospace);
1274
+ font-size: 12px;
1275
+ padding: 8px 10px;
1276
+ word-break: break-all;
1277
+ }
1278
+
1279
+ .nav-tab-settings {
1280
+ margin-top: 2px;
1281
+ }
1282
+
946
1283
  .theme-toggle:hover {
947
1284
  border-color: var(--accent);
948
1285
  }
@@ -1080,7 +1417,7 @@ export function renderBacklogHtml() {
1080
1417
 
1081
1418
  .code-gap-intake-preview,
1082
1419
  .code-gap-intake-errors {
1083
- background: #1e1e1e;
1420
+ background: var(--panel);
1084
1421
  border: 1px solid var(--border);
1085
1422
  border-radius: 6px;
1086
1423
  color: var(--text);
@@ -1270,10 +1607,6 @@ export function renderBacklogHtml() {
1270
1607
  padding: 8px 8px 12px;
1271
1608
  }
1272
1609
 
1273
- body[data-theme="dark"] .column {
1274
- background: var(--panel-2);
1275
- }
1276
-
1277
1610
  .column h2 {
1278
1611
  align-items: center;
1279
1612
  display: flex;
@@ -1302,7 +1635,7 @@ export function renderBacklogHtml() {
1302
1635
  }
1303
1636
 
1304
1637
  body[data-theme="dark"] .count {
1305
- background: var(--panel-2);
1638
+ background: rgb(var(--ui-surface-rgb, 44 51 56));
1306
1639
  color: var(--muted);
1307
1640
  }
1308
1641
 
@@ -1328,8 +1661,28 @@ export function renderBacklogHtml() {
1328
1661
  }
1329
1662
 
1330
1663
  body[data-theme="dark"] .task-atom:hover {
1331
- background: var(--card);
1332
- border-color: #555555;
1664
+ background: rgb(var(--ui-surface-hover-rgb, 56 65 74));
1665
+ border-color: rgb(var(--brand-border-rgb, 61 71 77));
1666
+ }
1667
+
1668
+ .task-atom.kanban-card.is-new {
1669
+ animation: kanban-card-new 1.2s ease-out;
1670
+ box-shadow: 0 0 0 2px var(--accent-soft);
1671
+ }
1672
+
1673
+ @keyframes kanban-card-new {
1674
+ 0% { background: var(--accent-soft); }
1675
+ 100% { background: var(--card); }
1676
+ }
1677
+
1678
+ .detail-remote-update-banner {
1679
+ background: var(--accent-soft);
1680
+ border: 1px solid var(--accent);
1681
+ border-radius: 4px;
1682
+ color: var(--accent);
1683
+ font-size: 13px;
1684
+ margin-bottom: 10px;
1685
+ padding: 8px 10px;
1333
1686
  }
1334
1687
 
1335
1688
  .task-atom h3 {
@@ -1376,23 +1729,91 @@ export function renderBacklogHtml() {
1376
1729
  min-width: 0;
1377
1730
  }
1378
1731
 
1379
- .owner-avatar {
1732
+ .issue-key-chip {
1380
1733
  align-items: center;
1381
- background: #deebff;
1734
+ display: inline-flex;
1735
+ flex: 0 1 auto;
1736
+ gap: 6px;
1737
+ min-width: 0;
1738
+ }
1739
+
1740
+ .issue-type-icon {
1741
+ align-items: center;
1742
+ border-radius: 2px;
1743
+ display: inline-flex;
1744
+ flex-shrink: 0;
1745
+ height: 16px;
1746
+ justify-content: center;
1747
+ width: 16px;
1748
+ }
1749
+
1750
+ .issue-type-icon svg {
1751
+ display: block;
1752
+ }
1753
+
1754
+ .issue-type-icon.is-task {
1755
+ background: #2684ff;
1756
+ }
1757
+
1758
+ .issue-type-icon.is-story {
1759
+ background: #36b37e;
1760
+ }
1761
+
1762
+ .issue-type-icon.is-epic {
1763
+ background: #6554c0;
1764
+ }
1765
+
1766
+ .issue-type-icon.is-subtask {
1767
+ background: #0065ff;
1768
+ }
1769
+
1770
+ .issue-type-icon.is-bug {
1771
+ background: #ff5630;
1772
+ }
1773
+
1774
+ .issue-key-text {
1775
+ color: var(--muted);
1776
+ font-family: inherit;
1777
+ font-size: var(--text-sm);
1778
+ font-weight: 500;
1779
+ letter-spacing: 0;
1780
+ line-height: 1.2;
1781
+ min-width: 0;
1782
+ overflow: hidden;
1783
+ text-overflow: ellipsis;
1784
+ text-transform: none;
1785
+ white-space: nowrap;
1786
+ }
1787
+
1788
+ .owner-avatar {
1382
1789
  border-radius: 50%;
1383
- color: #0747a6;
1384
1790
  display: inline-flex;
1385
1791
  flex: 0 0 auto;
1386
- font-size: var(--text-sm);
1387
- font-weight: 700;
1388
1792
  height: 28px;
1389
- justify-content: center;
1793
+ overflow: hidden;
1390
1794
  width: 28px;
1391
1795
  }
1392
1796
 
1393
- body[data-theme="dark"] .owner-avatar {
1394
- background: #17324d;
1395
- color: #cce0ff;
1797
+ .owner-avatar img {
1798
+ display: block;
1799
+ height: 100%;
1800
+ object-fit: cover;
1801
+ width: 100%;
1802
+ }
1803
+
1804
+ .owner-avatar-stack {
1805
+ align-items: center;
1806
+ display: inline-flex;
1807
+ flex: 0 0 auto;
1808
+ }
1809
+
1810
+ .owner-avatar-stack .owner-avatar {
1811
+ box-shadow: 0 0 0 2px var(--bg);
1812
+ margin-left: -8px;
1813
+ }
1814
+
1815
+ .owner-avatar-stack .owner-avatar:first-child {
1816
+ margin-left: 0;
1396
1817
  }
1397
1818
 
1398
1819
  .semantic-core {
@@ -1403,7 +1824,8 @@ export function renderBacklogHtml() {
1403
1824
  color: #5e6c84;
1404
1825
  font-size: var(--text-base);
1405
1826
  line-height: 1.35;
1406
- overflow-wrap: anywhere;
1827
+ overflow-wrap: break-word;
1828
+ word-break: normal;
1407
1829
  }
1408
1830
 
1409
1831
  body[data-theme="dark"] .semantic-line {
@@ -1851,7 +2273,7 @@ export function renderBacklogHtml() {
1851
2273
 
1852
2274
  body[data-theme="dark"] .list-row.is-selected,
1853
2275
  body[data-theme="dark"] .list-row.is-highlighted {
1854
- background: #2d333b;
2276
+ background: rgb(var(--ui-surface-rgb, 44 51 56));
1855
2277
  }
1856
2278
 
1857
2279
  .list-row.is-selected {
@@ -2324,6 +2746,42 @@ export function renderBacklogHtml() {
2324
2746
  transform: translateX(0);
2325
2747
  }
2326
2748
 
2749
+ .detail-stack-breadcrumb {
2750
+ color: var(--muted);
2751
+ font-size: 12px;
2752
+ line-height: 1.35;
2753
+ margin-top: 4px;
2754
+ }
2755
+
2756
+ .detail-stack-crumb-sep {
2757
+ margin: 0 4px;
2758
+ opacity: .65;
2759
+ }
2760
+
2761
+ .detail-stack-crumb.is-current {
2762
+ color: var(--text);
2763
+ }
2764
+
2765
+ .atom-inspector-lang-badge {
2766
+ display: inline-block;
2767
+ font-size: 11px;
2768
+ font-weight: 600;
2769
+ letter-spacing: .04em;
2770
+ margin-left: 8px;
2771
+ opacity: .75;
2772
+ text-transform: uppercase;
2773
+ }
2774
+
2775
+ .atom-inspector-warnings {
2776
+ background: rgba(255, 171, 0, .12);
2777
+ border: 1px solid rgba(255, 171, 0, .35);
2778
+ border-radius: 6px;
2779
+ color: var(--text);
2780
+ font-size: 12px;
2781
+ margin: 8px 0 12px;
2782
+ padding: 8px 10px;
2783
+ }
2784
+
2327
2785
  .detail-resize-handle {
2328
2786
  bottom: 0;
2329
2787
  cursor: col-resize;
@@ -2887,6 +3345,19 @@ export function renderBacklogHtml() {
2887
3345
  text-transform: uppercase;
2888
3346
  }
2889
3347
 
3348
+ .analytics-section-header {
3349
+ align-items: center;
3350
+ display: flex;
3351
+ flex-wrap: wrap;
3352
+ gap: 8px 12px;
3353
+ justify-content: space-between;
3354
+ margin-bottom: 8px;
3355
+ }
3356
+
3357
+ .analytics-section-header .analytics-section-title {
3358
+ margin: 0;
3359
+ }
3360
+
2890
3361
  .analytics-query-section {
2891
3362
  margin-bottom: 14px;
2892
3363
  }
@@ -2947,6 +3418,40 @@ export function renderBacklogHtml() {
2947
3418
  white-space: nowrap;
2948
3419
  }
2949
3420
 
3421
+ .analytics-lineage-badge {
3422
+ color: var(--muted);
3423
+ font-size: var(--font-size-sm);
3424
+ }
3425
+
3426
+ .analytics-lineage-section {
3427
+ margin-top: 16px;
3428
+ }
3429
+
3430
+ .analytics-lineage-list {
3431
+ display: grid;
3432
+ gap: 8px;
3433
+ list-style: none;
3434
+ margin: 0;
3435
+ padding: 0;
3436
+ }
3437
+
3438
+ .analytics-lineage-nav-btn {
3439
+ background: var(--panel-2);
3440
+ border: 1px solid var(--border);
3441
+ border-radius: 6px;
3442
+ color: var(--accent);
3443
+ cursor: pointer;
3444
+ display: block;
3445
+ font: inherit;
3446
+ padding: 10px 12px;
3447
+ text-align: left;
3448
+ width: 100%;
3449
+ }
3450
+
3451
+ .analytics-lineage-nav-btn:hover {
3452
+ border-color: var(--accent);
3453
+ }
3454
+
2950
3455
  .analytics-intent-options,
2951
3456
  .analytics-intent-decision,
2952
3457
  .intent-graph-drilldown {
@@ -3507,21 +4012,68 @@ export function renderBacklogHtml() {
3507
4012
  margin-top: 0;
3508
4013
  }
3509
4014
 
4015
+ html.is-sidebar-compact .sidebar {
4016
+ padding: 8px 0;
4017
+ }
4018
+
4019
+ html.is-sidebar-compact .project-title {
4020
+ display: none;
4021
+ }
4022
+
4023
+ html.is-sidebar-compact .sidebar-nav,
4024
+ html.is-sidebar-compact .sidebar-nav-advanced {
4025
+ grid-template-columns: 1fr;
4026
+ padding: 4px 6px 0;
4027
+ }
4028
+
4029
+ html.is-sidebar-compact .sidebar-nav-advanced {
4030
+ margin-top: 4px;
4031
+ padding-top: 4px;
4032
+ }
4033
+
4034
+ html.is-sidebar-compact .sidebar-footer {
4035
+ padding: 8px 6px 0;
4036
+ }
4037
+
4038
+ html.is-sidebar-compact .nav-tab {
4039
+ gap: 0;
4040
+ justify-content: center;
4041
+ padding: 10px 8px;
4042
+ }
4043
+
4044
+ html.is-sidebar-compact .nav-tab-label {
4045
+ border: 0;
4046
+ clip: rect(0 0 0 0);
4047
+ height: 1px;
4048
+ margin: -1px;
4049
+ overflow: hidden;
4050
+ padding: 0;
4051
+ position: absolute;
4052
+ white-space: nowrap;
4053
+ width: 1px;
4054
+ }
4055
+
3510
4056
  @media (max-width: 900px) {
3511
- .app-shell { grid-template-columns: 1fr; }
3512
- .sidebar {
3513
- border-bottom: 1px solid var(--border);
3514
- border-right: 0;
3515
- max-width: none;
3516
- min-width: 0;
3517
- width: 100%;
3518
- }
3519
- .sidebar-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
3520
4057
  .board { grid-template-columns: minmax(260px, 1fr); }
3521
4058
  .detail-drawer { width: 100vw; }
3522
4059
  }
3523
- ${MISSION_CONTROL_CSS}
3524
- ${UI_BUTTON_CSS}
4060
+ ${MISSION_CONTROL_CSS}
4061
+ ${UI_BUTTON_CSS}
4062
+ body:not([data-theme="dark"]) .wg-btn--secondary {
4063
+ background: var(--panel-2);
4064
+ color: var(--text);
4065
+ border-color: var(--border);
4066
+ }
4067
+ body:not([data-theme="dark"]) .wg-btn--secondary:hover:not(:disabled) {
4068
+ background: #ebecf0;
4069
+ color: var(--text);
4070
+ border-color: #c1c7d0;
4071
+ }
4072
+ body:not([data-theme="dark"]) .wg-btn--inverse {
4073
+ background: var(--panel);
4074
+ color: var(--text);
4075
+ border-color: var(--border);
4076
+ }
3525
4077
  ${UI_BADGE_CSS}
3526
4078
  ${UI_SELECT_CSS}
3527
4079
  ${UI_TABS_CSS}
@@ -3669,32 +4221,46 @@ export function renderBacklogHtml() {
3669
4221
  data-testid="workgraph-logo"
3670
4222
  >
3671
4223
  </div>
3672
- <nav class="sidebar-nav" aria-label="Разделы">
3673
- ${shellNavHome}
3674
- ${shellNavBoard}
4224
+ <nav class="sidebar-nav" aria-label="Канон Work Graph">
4225
+ ${shellNavAnalytics}
3675
4226
  ${shellNavWorkflow}
4227
+ ${shellNavBoard}
3676
4228
  ${shellNavVerification}
4229
+ ${shellNavMemory}
4230
+ </nav>
4231
+ <nav class="sidebar-nav sidebar-nav-advanced" aria-label="Дополнительно">
3677
4232
  ${shellNavArchitecture}
3678
4233
  ${shellNavPrompts}
3679
- ${shellNavMemory}
3680
- ${shellNavAnalytics}
3681
4234
  </nav>
3682
4235
  <div class="sidebar-footer">
3683
- ${shellThemeToggle}
4236
+ ${shellSettingsNav}
3684
4237
  </div>
4238
+ <div
4239
+ id="sidebar-resize-handle"
4240
+ class="sidebar-resize-handle"
4241
+ role="separator"
4242
+ tabindex="0"
4243
+ aria-orientation="vertical"
4244
+ aria-label="Изменить ширину боковой панели"
4245
+ aria-valuemin="56"
4246
+ aria-valuemax="360"
4247
+ data-testid="sidebar-resize-handle"
4248
+ ></div>
3685
4249
  </aside>
3686
4250
  <main class="content">
3687
4251
  <header class="page-header">
3688
- <nav class="breadcrumbs" aria-label="Хлебные крошки">
3689
- <span class="breadcrumb-current" id="breadcrumb-project">Work Graph</span>
3690
- </nav>
3691
- <h1 id="view-title">Главная</h1>
4252
+ <div class="page-header-main">
4253
+ <nav class="breadcrumbs" aria-label="Хлебные крошки">
4254
+ <span class="breadcrumb-current" id="breadcrumb-project">Work Graph</span>
4255
+ </nav>
4256
+ <h1 id="view-title">${t('view.analytics')}</h1>
4257
+ </div>
4258
+ <div class="page-header-actions">
4259
+ ${shellHeaderThemeToggle}
4260
+ </div>
3692
4261
  </header>
3693
- <section id="home-view" class="view" data-testid="home-view" aria-live="polite">
3694
- <article id="home-mission-control-root" class="home-mission-control"></article>
3695
- </section>
3696
4262
  <section id="view-toolbar" class="toolbar" hidden>
3697
- <input id="search" class="search" type="search" placeholder="Поиск задач..." autocomplete="off">
4263
+ <input id="search" class="search" type="search" placeholder="${t('search.placeholder')}" autocomplete="off">
3698
4264
  ${shellSearchModeSelect}
3699
4265
  <div id="workflow-filters" class="workflow-filters" aria-label="Фильтры потока">
3700
4266
  ${shellCycleFilterSelect}
@@ -3707,12 +4273,18 @@ export function renderBacklogHtml() {
3707
4273
  <article id="verification-panel" class="verification-panel">
3708
4274
  <header class="verification-panel-header">
3709
4275
  <div>
3710
- <h2>Цикл проверки</h2>
3711
- <p>Детерминированные тесты уровня A отделены от опциональных гейтов OneBase и LLM. Только чтение — проекция из свидетельств Work Graph.</p>
4276
+ <h2>${t('verification.title')}</h2>
4277
+ <p>${t('verification.subtitle')}</p>
3712
4278
  </div>
3713
4279
  <div id="verification-tier-badges" class="verification-tier-badges"></div>
3714
4280
  </header>
3715
4281
  <div id="verification-matrix-wrap"></div>
4282
+ <div>
4283
+ <h3 style="font-size:14px;margin:0 0 6px">Контракт gate-задач <span id="verification-contract-count" class="badge">0</span></h3>
4284
+ <p class="empty" style="margin:0 0 8px">Projection work-item-contract.v1 и readiness (violations[]) для задач из VERIFICATION_MATRIX.</p>
4285
+ <div id="verification-contract-health" class="prompts-summary" data-testid="verification-contract-health"></div>
4286
+ <ul id="verification-contract-list" class="verification-evidence-list" data-testid="verification-contract-list"></ul>
4287
+ </div>
3716
4288
  <div>
3717
4289
  <h3 style="font-size:14px;margin:0 0 6px">Гейт codegen <span id="codegen-gate-count" class="badge">0</span></h3>
3718
4290
  <p class="empty" style="margin:0 0 8px">Успех или провал проверки codegen для WorkItems с меткой trace.codegen (целостность, roundtrip, bracket IR).</p>
@@ -3812,6 +4384,41 @@ export function renderBacklogHtml() {
3812
4384
  <div id="architecture-blocks-list" class="backlog-list list-rows" data-testid="architecture-blocks-list"></div>
3813
4385
  </article>
3814
4386
  </section>
4387
+ <section id="settings-view" class="view" aria-live="polite" hidden>
4388
+ <div class="settings-panel" data-testid="settings-panel">
4389
+ <article class="settings-section" aria-labelledby="settings-appearance-title">
4390
+ <h2 id="settings-appearance-title">${t('settings.appearance.title')}</h2>
4391
+ <div class="settings-row">
4392
+ <label for="settings-theme-light">${t('settings.appearance.theme')}</label>
4393
+ <div class="settings-theme-options" role="group" aria-label="${t('settings.appearance.theme')}">
4394
+ <button type="button" class="wg-btn wg-btn--secondary wg-btn--sm" id="settings-theme-light" data-settings-theme="light">${t('settings.appearance.themeLight')}</button>
4395
+ <button type="button" class="wg-btn wg-btn--secondary wg-btn--sm" id="settings-theme-dark" data-settings-theme="dark">${t('settings.appearance.themeDark')}</button>
4396
+ </div>
4397
+ </div>
4398
+ </article>
4399
+ <article class="settings-section" aria-labelledby="settings-language-title">
4400
+ <h2 id="settings-language-title">${t('settings.language.title')}</h2>
4401
+ <div class="settings-row">
4402
+ <span id="settings-language-label">${t('settings.language.label')}</span>
4403
+ <div class="settings-locale-options" role="group" aria-labelledby="settings-language-label" data-testid="settings-locale-options">
4404
+ ${shellSettingsLocaleOptions}
4405
+ </div>
4406
+ </div>
4407
+ </article>
4408
+ <article class="settings-section" aria-labelledby="settings-about-title">
4409
+ <h2 id="settings-about-title">${t('settings.about.title')}</h2>
4410
+ <div class="settings-row">
4411
+ <label>${t('settings.about.version')}</label>
4412
+ <span id="settings-version-value" class="settings-version-value" data-testid="settings-version-value">—</span>
4413
+ </div>
4414
+ <div class="settings-row">
4415
+ <button type="button" class="wg-btn wg-btn--secondary wg-btn--sm" id="settings-check-update" data-testid="settings-check-update">${t('settings.about.checkUpdate')}</button>
4416
+ </div>
4417
+ <p id="settings-update-status" class="settings-update-status" data-testid="settings-update-status" hidden></p>
4418
+ <code id="settings-install-command" class="settings-install-command" data-testid="settings-install-command" hidden></code>
4419
+ </article>
4420
+ </div>
4421
+ </section>
3815
4422
  <section id="board-view" class="view" aria-live="polite" hidden>
3816
4423
  <div id="kanban-board" class="board kanban-board" data-testid="kanban-board-panel" aria-label="Kanban planning columns"></div>
3817
4424
  <div id="board" class="board"></div>
@@ -3820,7 +4427,7 @@ export function renderBacklogHtml() {
3820
4427
  ${shellWorkflowSubtabs}
3821
4428
  <article id="workflow-backlog-panel" class="list-panel backlog-panel workflow-panel" role="tabpanel" aria-labelledby="workflow-tab-backlog">
3822
4429
  <header class="list-panel-header backlog-panel-header">
3823
- <h2>Бэклог</h2>
4430
+ <h2>${t('workflow.panel.backlog')}</h2>
3824
4431
  <span id="backlog-panel-count" class="count">0</span>
3825
4432
  </header>
3826
4433
  <div id="backlog-list" class="backlog-list list-rows"></div>
@@ -3828,7 +4435,7 @@ export function renderBacklogHtml() {
3828
4435
  </article>
3829
4436
  <article id="workflow-archive-panel" class="list-panel backlog-panel workflow-panel" role="tabpanel" aria-labelledby="workflow-tab-archive" hidden>
3830
4437
  <header class="list-panel-header backlog-panel-header">
3831
- <h2>Архив</h2>
4438
+ <h2>${t('workflow.panel.archive')}</h2>
3832
4439
  <span id="archive-panel-count" class="count">0</span>
3833
4440
  </header>
3834
4441
  <div id="archive-list" class="backlog-list list-rows"></div>
@@ -3885,10 +4492,31 @@ export function renderBacklogHtml() {
3885
4492
  </div>
3886
4493
  <script src="/vendor/mermaid.min.js"></script>
3887
4494
  <script src="/assets/graph-canvas-lit-flow.js" defer></script>
3888
- <script>
4495
+ <script id="workgraph-app">
3889
4496
  ${uiButtonClientSource}
3890
4497
  ${uiBadgeClientSource}
3891
4498
  ${workItemStatusToneSource}
4499
+ ${kanbanBoardDeltaSource}
4500
+ ${kanbanBoardPatcherSource}
4501
+ ${userAvatarsSource}
4502
+ ${workItemIssueTypeSource}
4503
+ ${workItemClassifierSource}
4504
+ ${detailDrawerStackSource}
4505
+ ${liveSyncCoordinatorSource}
4506
+ ${liveSyncSseAdapterSource}
4507
+ const detailStack = createDetailDrawerStack();
4508
+ const BVC_DIALECT_SECTION_TITLES = ${JSON.stringify(bvcDialectSectionTitles)};
4509
+ function resolveAtomInspectorLang(draft) {
4510
+ const fromDraft = String(draft?.lang ?? '').trim().toLowerCase();
4511
+ if (fromDraft === 'en' || fromDraft === 'ru') return fromDraft;
4512
+ const fromLabels = String(draft?.labels?.lang ?? '').trim().toLowerCase();
4513
+ if (fromLabels === 'en' || fromLabels === 'ru') return fromLabels;
4514
+ return 'ru';
4515
+ }
4516
+ function atomSectionTitle(lang, field) {
4517
+ const dialect = BVC_DIALECT_SECTION_TITLES[lang] || BVC_DIALECT_SECTION_TITLES.ru;
4518
+ return dialect[field] || field;
4519
+ }
3892
4520
  const statusGroups = ${JSON.stringify(STATUS_GROUPS)};
3893
4521
  const operationalBoardGroups = ${JSON.stringify(OPERATIONAL_BOARD_GROUPS)};
3894
4522
  const doneArchiveGroup = ${JSON.stringify(DONE_ARCHIVE_GROUP)};
@@ -3908,6 +4536,30 @@ export function renderBacklogHtml() {
3908
4536
  ${workflowTreeProjectionSource}
3909
4537
  ${missionControlClientSource}
3910
4538
  const themeStorageKey = 'workGraphBacklogTheme';
4539
+ const i18nBootstrap = ${i18nBootstrapScript};
4540
+ window.__WG_LOCALE__ = i18nBootstrap.locale;
4541
+ window.__WG_I18N__ = i18nBootstrap.messages;
4542
+ function t(key, params) {
4543
+ let text = (window.__WG_I18N__ && window.__WG_I18N__[key]) || key;
4544
+ if (params) {
4545
+ for (const [paramKey, paramValue] of Object.entries(params)) {
4546
+ text = text.split('{' + paramKey + '}').join(String(paramValue));
4547
+ }
4548
+ }
4549
+ return text;
4550
+ }
4551
+ function localizedKanbanColumnTitle(columnId, fallback) {
4552
+ const key = 'kanban.col.' + columnId;
4553
+ const value = t(key);
4554
+ return value === key ? (fallback || columnId) : value;
4555
+ }
4556
+ function localizedBoardGroupTitle(groupId, fallback) {
4557
+ const key = 'board.group.' + groupId;
4558
+ const value = t(key);
4559
+ return value === key ? (fallback || groupId) : value;
4560
+ }
4561
+ const THEME_ICON_MOON = ${JSON.stringify(themeIconMoonHtml)};
4562
+ const THEME_ICON_SUN = ${JSON.stringify(themeIconSunHtml)};
3911
4563
  const viewStorageKey = 'workGraphBacklogView';
3912
4564
  const workflowTabStorageKey = 'workGraphWorkflowTab';
3913
4565
  const analyticsTabStorageKey = 'workGraphAnalyticsTab';
@@ -3920,12 +4572,20 @@ export function renderBacklogHtml() {
3920
4572
  const intentDomainFilterStorageKey = 'workGraphIntentDomainFilter';
3921
4573
  const detailDrawerWidthStorageKey = 'workGraphDetailDrawerWidth';
3922
4574
  const detailSubDrawerWidthStorageKey = 'workGraphDetailSubDrawerWidth';
4575
+ const sidebarWidthStorageKey = 'workGraphSidebarWidth';
4576
+ const SIDEBAR_WIDTH_MIN = 56;
4577
+ const SIDEBAR_WIDTH_MAX = 360;
4578
+ const SIDEBAR_WIDTH_DEFAULT = 252;
4579
+ const SIDEBAR_COMPACT_UI_MAX = 80;
3923
4580
  const graphCanvasModeStorageKey = 'workGraphGraphCanvasMode';
3924
4581
  const workflowDisplayModeStorageKey = 'workGraphWorkflowDisplayMode';
3925
4582
  const collapsedWorkflowTreeIdsStorageKey = 'workGraphWorkflowTreeCollapsed.v1';
3926
4583
  localStorage.removeItem('workGraphArchitectureMatrixFilter');
3927
4584
 
3928
4585
  let graphCanvasViewMode = localStorage.getItem(graphCanvasModeStorageKey) === 'full' ? 'full' : 'pipeline';
4586
+ let backlogRevision = null;
4587
+ const liveSyncViews = new Set(['board', 'workflow']);
4588
+ const liveSyncIntervalMs = 3000;
3929
4589
  let snapshot = null;
3930
4590
  let architectureSnapshot = null;
3931
4591
  let architectureLoaded = false;
@@ -3963,13 +4623,9 @@ export function renderBacklogHtml() {
3963
4623
  let semanticSearchWorkIds = null;
3964
4624
  let semanticSearchTimer = null;
3965
4625
  let homeSnapshot = null;
3966
- let homePanelLoaded = false;
3967
4626
  let cmdKRows = [];
3968
4627
  let cmdKActiveIndex = 0;
3969
4628
  let lastAgentRunTaskId = null;
3970
- let homePollTimer = null;
3971
- let agentDockPollTimer = null;
3972
- let agentScopePollTimer = null;
3973
4629
  const agentScopePollMs = 20000;
3974
4630
  const ownerRoleStorageKey = 'workGraphOwnerRoleFilter';
3975
4631
  const agentDockOpenStorageKey = 'workGraphAgentDockOpen';
@@ -4007,8 +4663,6 @@ export function renderBacklogHtml() {
4007
4663
  const board = document.querySelector('#board');
4008
4664
  const kanbanBoard = document.querySelector('#kanban-board');
4009
4665
  const boardView = document.querySelector('#board-view');
4010
- const homeView = document.querySelector('#home-view');
4011
- const homeMissionControlRoot = document.querySelector('#home-mission-control-root');
4012
4666
  const layoutRoot = document.querySelector('#layout-root');
4013
4667
  const agentRunDock = document.querySelector('#agent-run-dock');
4014
4668
  const agentRunDockBody = document.querySelector('#agent-run-dock-body');
@@ -4040,6 +4694,7 @@ export function renderBacklogHtml() {
4040
4694
  const detailSubTitle = document.querySelector('#detail-sub-title');
4041
4695
  const detailResizeHandle = document.querySelector('#detail-resize-handle');
4042
4696
  const detailSubResizeHandle = document.querySelector('#detail-sub-resize-handle');
4697
+ const sidebarResizeHandle = document.querySelector('#sidebar-resize-handle');
4043
4698
  const detailTitle = document.querySelector('#detail-title');
4044
4699
  const navTabs = [...document.querySelectorAll('.nav-tab[data-view]')];
4045
4700
  const search = document.querySelector('#search');
@@ -4050,11 +4705,22 @@ export function renderBacklogHtml() {
4050
4705
  const daemonAuditList = document.querySelector('#daemon-audit-list');
4051
4706
  const daemonAuditCount = document.querySelector('#daemon-audit-count');
4052
4707
  const verificationMatrixWrap = document.querySelector('#verification-matrix-wrap');
4708
+ const verificationContractCount = document.querySelector('#verification-contract-count');
4709
+ const verificationContractHealth = document.querySelector('#verification-contract-health');
4710
+ const verificationContractList = document.querySelector('#verification-contract-list');
4053
4711
  const codegenGateList = document.querySelector('#codegen-gate-list');
4054
4712
  const codegenGateSummary = document.querySelector('#codegen-gate-summary');
4055
4713
  const codegenGateCount = document.querySelector('#codegen-gate-count');
4056
4714
  const verificationTierBadges = document.querySelector('#verification-tier-badges');
4057
4715
  const verificationView = document.querySelector('#verification-view');
4716
+ const settingsView = document.querySelector('#settings-view');
4717
+ const settingsThemeLight = document.querySelector('#settings-theme-light');
4718
+ const settingsThemeDark = document.querySelector('#settings-theme-dark');
4719
+ const settingsLocaleButtons = [...document.querySelectorAll('[data-settings-locale]')];
4720
+ const settingsVersionValue = document.querySelector('#settings-version-value');
4721
+ const settingsCheckUpdate = document.querySelector('#settings-check-update');
4722
+ const settingsUpdateStatus = document.querySelector('#settings-update-status');
4723
+ const settingsInstallCommand = document.querySelector('#settings-install-command');
4058
4724
  const codeGapSummary = document.querySelector('#code-gap-summary');
4059
4725
  const codeGapList = document.querySelector('#code-gap-list');
4060
4726
  const codeGapCount = document.querySelector('#code-gap-count');
@@ -4089,8 +4755,39 @@ export function renderBacklogHtml() {
4089
4755
  const intentDomainClear = document.querySelector('#intent-domain-clear');
4090
4756
 
4091
4757
  applyTheme(readStoredTheme());
4758
+ applyStoredSidebarWidth();
4092
4759
  applyStoredDetailDrawerWidth();
4093
4760
  applyStoredDetailSubDrawerWidth();
4761
+
4762
+ const liveSync = createLiveSyncCoordinator({
4763
+ tickMs: 1000,
4764
+ isDocumentHidden: () => document.hidden,
4765
+ setTimer: (fn, ms) => window.setTimeout(fn, ms),
4766
+ clearTimer: (id) => window.clearTimeout(id),
4767
+ });
4768
+ liveSync.registerScope('backlog-revision', {
4769
+ intervalMs: liveSyncIntervalMs,
4770
+ enabled: () => liveSyncViews.has(activeView),
4771
+ onTick: () => { pollBacklogRevision().catch(() => undefined); },
4772
+ });
4773
+ liveSync.registerScope('home', {
4774
+ intervalMs: 30000,
4775
+ enabled: () => true,
4776
+ onTick: () => { refreshHomeSnapshot().catch(() => undefined); },
4777
+ });
4778
+ liveSync.registerScope('agent-dock', {
4779
+ intervalMs: 5000,
4780
+ enabled: () => agentRunDock?.classList.contains('is-open'),
4781
+ onTick: () => { refreshAgentRunDock().catch(() => undefined); },
4782
+ });
4783
+ liveSync.registerScope('agent-scope', {
4784
+ intervalMs: agentScopePollMs,
4785
+ enabled: () => agentRunDock?.classList.contains('is-open'),
4786
+ onTick: () => { refreshAgentScopePanel().catch(() => undefined); },
4787
+ });
4788
+ document.addEventListener('visibilitychange', () => liveSync.sync());
4789
+ connectLiveSyncRevisionSse(liveSync);
4790
+
4094
4791
  applyView(activeView);
4095
4792
  applyWorkflowTab(activeWorkflowTab);
4096
4793
  applyAnalyticsTab(activeAnalyticsTab);
@@ -4098,6 +4795,7 @@ export function renderBacklogHtml() {
4098
4795
  workflowDisplayModeSelect.value = workflowDisplayMode;
4099
4796
  }
4100
4797
  initMissionControlUi();
4798
+ liveSync.forceTick('home');
4101
4799
 
4102
4800
  fetch('/api/snapshot')
4103
4801
  .then((response) => {
@@ -4121,7 +4819,16 @@ export function renderBacklogHtml() {
4121
4819
  .then((data) => {
4122
4820
  operatorShellSnapshot = data;
4123
4821
  populateCycleFilterOptions();
4124
- return ensureLazyViewData(activeView).then(() => {
4822
+ return fetch('/api/backlog-revision').then((response) => {
4823
+ if (!response.ok) return null;
4824
+ return response.json();
4825
+ }).catch(() => null);
4826
+ })
4827
+ .then((revisionPayload) => {
4828
+ if (revisionPayload?.revision) {
4829
+ backlogRevision = revisionPayload.revision;
4830
+ }
4831
+ return refreshHomeSnapshot().catch(() => undefined).then(() => ensureLazyViewData(activeView).then(() => {
4125
4832
  if (activeView === 'architecture') {
4126
4833
  renderArchitecturePanels();
4127
4834
  }
@@ -4131,7 +4838,7 @@ export function renderBacklogHtml() {
4131
4838
  renderArchitecturePanels();
4132
4839
  }
4133
4840
  render();
4134
- });
4841
+ }));
4135
4842
  })
4136
4843
  .catch((error) => {
4137
4844
  const message = '<div class="error">Не удалось загрузить срез backlog: ' + escapeHtml(error.message) + '</div>';
@@ -4192,11 +4899,16 @@ export function renderBacklogHtml() {
4192
4899
  syncGraphCanvasModeUi();
4193
4900
  detailClose.addEventListener('click', closeTaskDetails);
4194
4901
  detailOverlay.addEventListener('click', closeTaskDetails);
4195
- if (detailSubClose) detailSubClose.addEventListener('click', closeL2NodeDetails);
4196
- if (detailSubOverlay) detailSubOverlay.addEventListener('click', closeL2NodeDetails);
4902
+ if (detailSubClose) detailSubClose.addEventListener('click', () => popDetailStackNavigation());
4903
+ if (detailSubOverlay) detailSubOverlay.addEventListener('click', () => closeDetailStackFully());
4197
4904
  if (detailSubBody) detailSubBody.addEventListener('click', handleBoardClick);
4198
4905
  detailResizeHandle.addEventListener('pointerdown', startDetailDrawerResize);
4199
4906
  detailResizeHandle.addEventListener('keydown', handleDetailDrawerResizeKeydown);
4907
+ if (sidebarResizeHandle) {
4908
+ sidebarResizeHandle.addEventListener('pointerdown', startSidebarResize);
4909
+ sidebarResizeHandle.addEventListener('keydown', handleSidebarResizeKeydown);
4910
+ }
4911
+ window.addEventListener('resize', handleSidebarViewportResize);
4200
4912
  if (detailSubResizeHandle) {
4201
4913
  detailSubResizeHandle.addEventListener('pointerdown', startDetailSubDrawerResize);
4202
4914
  detailSubResizeHandle.addEventListener('keydown', handleDetailSubDrawerResizeKeydown);
@@ -4208,10 +4920,11 @@ export function renderBacklogHtml() {
4208
4920
  document.addEventListener('keydown', (event) => {
4209
4921
  if (event.key !== 'Escape') return;
4210
4922
  if (detailSubDrawer?.classList.contains('is-open')) {
4211
- closeL2NodeDetails();
4923
+ popDetailStackNavigation();
4212
4924
  return;
4213
4925
  }
4214
4926
  if (!detailDrawer.classList.contains('is-open')) return;
4927
+ closeDetailStackFully();
4215
4928
  const backButton = document.querySelector('#detail-nav-back');
4216
4929
  if (backButton) backButton.click();
4217
4930
  else closeTaskDetails();
@@ -4223,9 +4936,9 @@ export function renderBacklogHtml() {
4223
4936
  codeGapList.addEventListener('click', handleCodeGapIntakeClick);
4224
4937
  navTabs.forEach((tab) => {
4225
4938
  tab.addEventListener('click', () => {
4226
- activeView = ['home', 'workflow', 'verification', 'prompts', 'memory', 'analytics', 'board', 'architecture'].includes(tab.dataset.view)
4939
+ activeView = ['workflow', 'verification', 'prompts', 'memory', 'analytics', 'board', 'architecture', 'settings'].includes(tab.dataset.view)
4227
4940
  ? tab.dataset.view
4228
- : 'home';
4941
+ : 'analytics';
4229
4942
  localStorage.setItem(viewStorageKey, activeView);
4230
4943
  applyView(activeView);
4231
4944
  ensureLazyViewData(activeView).then(() => {
@@ -4275,11 +4988,68 @@ export function renderBacklogHtml() {
4275
4988
  renderAnalyticsPanel();
4276
4989
  });
4277
4990
  });
4278
- themeToggle.addEventListener('click', () => {
4279
- const nextTheme = document.body.dataset.theme === 'light' ? 'dark' : 'light';
4280
- applyTheme(nextTheme);
4281
- localStorage.setItem(themeStorageKey, nextTheme);
4282
- });
4991
+ if (themeToggle) {
4992
+ themeToggle.addEventListener('click', () => {
4993
+ const nextTheme = document.body.dataset.theme === 'light' ? 'dark' : 'light';
4994
+ applyTheme(nextTheme);
4995
+ localStorage.setItem(themeStorageKey, nextTheme);
4996
+ });
4997
+ }
4998
+
4999
+ if (settingsThemeLight) {
5000
+ settingsThemeLight.addEventListener('click', () => {
5001
+ applyTheme('light');
5002
+ localStorage.setItem(themeStorageKey, 'light');
5003
+ });
5004
+ }
5005
+ if (settingsThemeDark) {
5006
+ settingsThemeDark.addEventListener('click', () => {
5007
+ applyTheme('dark');
5008
+ localStorage.setItem(themeStorageKey, 'dark');
5009
+ });
5010
+ }
5011
+ if (settingsLocaleButtons.length) {
5012
+ function applySettingsLocaleUi(nextLocale) {
5013
+ settingsLocaleButtons.forEach((button) => {
5014
+ const isActive = button.dataset.settingsLocale === nextLocale;
5015
+ button.classList.toggle('is-active', isActive);
5016
+ button.setAttribute('aria-pressed', String(isActive));
5017
+ });
5018
+ }
5019
+
5020
+ function setUiLocale(nextLocale) {
5021
+ if (!nextLocale || nextLocale === window.__WG_LOCALE__) return;
5022
+ fetch('/api/ui-locale', {
5023
+ method: 'POST',
5024
+ headers: { 'content-type': 'application/json' },
5025
+ body: JSON.stringify({ locale: nextLocale }),
5026
+ }).then((response) => {
5027
+ if (!response.ok) throw new Error('locale ' + response.status);
5028
+ window.location.reload();
5029
+ }).catch(() => {
5030
+ window.alert(t('settings.language.changeFailed'));
5031
+ });
5032
+ }
5033
+
5034
+ settingsLocaleButtons.forEach((button) => {
5035
+ button.addEventListener('click', () => {
5036
+ setUiLocale(button.dataset.settingsLocale);
5037
+ });
5038
+ });
5039
+ applySettingsLocaleUi(window.__WG_LOCALE__);
5040
+ }
5041
+ if (settingsCheckUpdate) {
5042
+ settingsCheckUpdate.addEventListener('click', () => {
5043
+ settingsCheckUpdate.disabled = true;
5044
+ if (settingsUpdateStatus) {
5045
+ settingsUpdateStatus.hidden = false;
5046
+ settingsUpdateStatus.textContent = t('settings.about.checking');
5047
+ }
5048
+ renderSettingsPanel({ checkUpdate: true }).finally(() => {
5049
+ settingsCheckUpdate.disabled = false;
5050
+ });
5051
+ });
5052
+ }
4283
5053
 
4284
5054
  function readStoredTheme() {
4285
5055
  return localStorage.getItem(themeStorageKey) === 'dark' ? 'dark' : 'light';
@@ -4294,12 +5064,12 @@ export function renderBacklogHtml() {
4294
5064
  return storedView === 'architecture' ? 'architecture' : 'workflow';
4295
5065
  }
4296
5066
  if (storedView === 'home') {
4297
- return 'home';
5067
+ return 'analytics';
4298
5068
  }
4299
- if (['workflow', 'verification', 'prompts', 'memory', 'analytics', 'board', 'architecture'].includes(storedView)) {
5069
+ if (['workflow', 'verification', 'prompts', 'memory', 'analytics', 'board', 'architecture', 'settings'].includes(storedView)) {
4300
5070
  return storedView;
4301
5071
  }
4302
- return 'home';
5072
+ return 'analytics';
4303
5073
  }
4304
5074
 
4305
5075
  function readStoredWorkflowTab() {
@@ -4378,12 +5148,30 @@ export function renderBacklogHtml() {
4378
5148
  return 'intake';
4379
5149
  }
4380
5150
 
5151
+ function getPanelSearchQuery() {
5152
+ const raw = search.value.trim();
5153
+ if (!raw) {
5154
+ return '';
5155
+ }
5156
+
5157
+ const normalized = raw.toLowerCase();
5158
+ if (activeView === 'memory' && normalized.startsWith('work:')) {
5159
+ return normalized;
5160
+ }
5161
+
5162
+ if (activeView === 'board' || activeView === 'workflow') {
5163
+ return normalized;
5164
+ }
5165
+
5166
+ return '';
5167
+ }
5168
+
4381
5169
  function getFilteredItems() {
4382
5170
  if (!snapshot) {
4383
5171
  return [];
4384
5172
  }
4385
5173
 
4386
- const query = search.value.trim().toLowerCase();
5174
+ const query = getPanelSearchQuery();
4387
5175
  let items = snapshot.items.filter((item) => matchesQuery(item, query));
4388
5176
  if (semanticSearchWorkIds && semanticSearchWorkIds.size > 0) {
4389
5177
  items = items.filter((item) => semanticSearchWorkIds.has(item.id));
@@ -4426,6 +5214,77 @@ export function renderBacklogHtml() {
4426
5214
  }, 250);
4427
5215
  }
4428
5216
 
5217
+ function maxSidebarWidth() {
5218
+ return Math.max(SIDEBAR_WIDTH_MIN, Math.min(SIDEBAR_WIDTH_MAX, window.innerWidth - 160));
5219
+ }
5220
+
5221
+ function clampSidebarWidth(width) {
5222
+ return Math.max(SIDEBAR_WIDTH_MIN, Math.min(maxSidebarWidth(), Number(width) || SIDEBAR_WIDTH_DEFAULT));
5223
+ }
5224
+
5225
+ function readStoredSidebarWidth() {
5226
+ const raw = Number(localStorage.getItem(sidebarWidthStorageKey));
5227
+ return Number.isFinite(raw) ? raw : SIDEBAR_WIDTH_DEFAULT;
5228
+ }
5229
+
5230
+ function getSidebarWidth() {
5231
+ const raw = getComputedStyle(document.documentElement).getPropertyValue('--sidebar-width').trim();
5232
+ const parsed = Number.parseFloat(raw);
5233
+ return Number.isFinite(parsed) && parsed > 0 ? parsed : readStoredSidebarWidth();
5234
+ }
5235
+
5236
+ function applySidebarWidth(width, { persist = true } = {}) {
5237
+ const clamped = clampSidebarWidth(width);
5238
+ document.documentElement.style.setProperty('--sidebar-width', clamped + 'px');
5239
+ document.documentElement.classList.toggle('is-sidebar-compact', clamped <= SIDEBAR_COMPACT_UI_MAX);
5240
+ if (sidebarResizeHandle) {
5241
+ sidebarResizeHandle.setAttribute('aria-valuenow', String(Math.round(clamped)));
5242
+ }
5243
+ if (persist) {
5244
+ localStorage.setItem(sidebarWidthStorageKey, String(Math.round(clamped)));
5245
+ }
5246
+ }
5247
+
5248
+ function applyStoredSidebarWidth() {
5249
+ applySidebarWidth(readStoredSidebarWidth(), { persist: false });
5250
+ }
5251
+
5252
+ function handleSidebarViewportResize() {
5253
+ applySidebarWidth(getSidebarWidth(), { persist: true });
5254
+ }
5255
+
5256
+ function startSidebarResize(event) {
5257
+ if (!sidebarResizeHandle) return;
5258
+ event.preventDefault();
5259
+ sidebarResizeHandle.setPointerCapture?.(event.pointerId);
5260
+ document.body.classList.add('is-resizing-sidebar');
5261
+ const onPointerMove = (moveEvent) => {
5262
+ applySidebarWidth(moveEvent.clientX, { persist: false });
5263
+ };
5264
+ const onPointerUp = (upEvent) => {
5265
+ document.body.classList.remove('is-resizing-sidebar');
5266
+ applySidebarWidth(upEvent.clientX, { persist: true });
5267
+ sidebarResizeHandle.releasePointerCapture?.(event.pointerId);
5268
+ window.removeEventListener('pointermove', onPointerMove);
5269
+ window.removeEventListener('pointerup', onPointerUp);
5270
+ window.removeEventListener('pointercancel', onPointerUp);
5271
+ };
5272
+ window.addEventListener('pointermove', onPointerMove);
5273
+ window.addEventListener('pointerup', onPointerUp);
5274
+ window.addEventListener('pointercancel', onPointerUp);
5275
+ }
5276
+
5277
+ function handleSidebarResizeKeydown(event) {
5278
+ if (!sidebarResizeHandle || !['ArrowLeft', 'ArrowRight', 'Home', 'End'].includes(event.key)) return;
5279
+ event.preventDefault();
5280
+ const step = event.shiftKey ? 48 : 16;
5281
+ const current = getSidebarWidth();
5282
+ if (event.key === 'ArrowLeft') applySidebarWidth(current + step);
5283
+ if (event.key === 'ArrowRight') applySidebarWidth(current - step);
5284
+ if (event.key === 'Home') applySidebarWidth(SIDEBAR_WIDTH_MIN);
5285
+ if (event.key === 'End') applySidebarWidth(maxSidebarWidth());
5286
+ }
5287
+
4429
5288
  function readStoredDetailDrawerWidth() {
4430
5289
  const raw = Number(localStorage.getItem(detailDrawerWidthStorageKey));
4431
5290
  return Number.isFinite(raw) ? raw : 720;
@@ -4561,9 +5420,66 @@ export function renderBacklogHtml() {
4561
5420
  document.documentElement.dataset.iohascTheme = 'workgraph-dark';
4562
5421
  document.body.dataset.theme = theme;
4563
5422
  const isDark = theme === 'dark';
4564
- themeToggle.textContent = isDark ? 'Светлая тема' : 'Тёмная тема';
4565
- themeToggle.setAttribute('aria-pressed', String(isDark));
4566
- themeToggle.setAttribute('aria-label', 'Тема: ' + (isDark ? 'тёмная' : 'светлая'));
5423
+ if (themeToggle) {
5424
+ const inner = themeToggle.querySelector('.header-theme-toggle-inner');
5425
+ if (inner) {
5426
+ inner.innerHTML = isDark ? THEME_ICON_SUN : THEME_ICON_MOON;
5427
+ }
5428
+ themeToggle.setAttribute('aria-pressed', String(isDark));
5429
+ themeToggle.setAttribute('aria-label', t(isDark ? 'theme.light' : 'theme.dark'));
5430
+ }
5431
+ if (settingsThemeLight) {
5432
+ settingsThemeLight.classList.toggle('is-active', theme === 'light');
5433
+ }
5434
+ if (settingsThemeDark) {
5435
+ settingsThemeDark.classList.toggle('is-active', theme === 'dark');
5436
+ }
5437
+ }
5438
+
5439
+ async function loadSettingsVersionInfo(checkUpdate) {
5440
+ const query = checkUpdate ? '?checkUpdate=1' : '';
5441
+ const response = await fetch('/api/app-version' + query);
5442
+ if (!response.ok) {
5443
+ throw new Error('app-version ' + response.status);
5444
+ }
5445
+ return response.json();
5446
+ }
5447
+
5448
+ async function renderSettingsPanel(options = {}) {
5449
+ if (!settingsView) return;
5450
+ try {
5451
+ const info = await loadSettingsVersionInfo(options.checkUpdate === true);
5452
+ if (settingsVersionValue) {
5453
+ settingsVersionValue.textContent = info.version + ' · ' + info.npmPackage;
5454
+ }
5455
+ if (!settingsUpdateStatus) return;
5456
+ if (options.checkUpdate !== true) {
5457
+ settingsUpdateStatus.hidden = true;
5458
+ if (settingsInstallCommand) settingsInstallCommand.hidden = true;
5459
+ return;
5460
+ }
5461
+ settingsUpdateStatus.hidden = false;
5462
+ if (info.checkError) {
5463
+ settingsUpdateStatus.textContent = t('settings.about.checkFailed');
5464
+ if (settingsInstallCommand) settingsInstallCommand.hidden = true;
5465
+ return;
5466
+ }
5467
+ if (info.updateAvailable) {
5468
+ settingsUpdateStatus.textContent = t('settings.about.updateAvailable', { latest: info.latestVersion });
5469
+ if (settingsInstallCommand) {
5470
+ settingsInstallCommand.hidden = false;
5471
+ settingsInstallCommand.textContent = t('settings.about.installHint') + ' ' + info.installCommand;
5472
+ }
5473
+ return;
5474
+ }
5475
+ settingsUpdateStatus.textContent = t('settings.about.upToDate');
5476
+ if (settingsInstallCommand) settingsInstallCommand.hidden = true;
5477
+ } catch (error) {
5478
+ if (settingsUpdateStatus && options.checkUpdate === true) {
5479
+ settingsUpdateStatus.hidden = false;
5480
+ settingsUpdateStatus.textContent = t('settings.about.checkFailed');
5481
+ }
5482
+ }
4567
5483
  }
4568
5484
 
4569
5485
  function remountActiveGraphWorkspace() {
@@ -4581,9 +5497,6 @@ export function renderBacklogHtml() {
4581
5497
  const response = await fetch('/api/home-snapshot' + query);
4582
5498
  if (!response.ok) throw new Error('home snapshot ' + response.status);
4583
5499
  homeSnapshot = await response.json();
4584
- if (activeView === 'home' && homeMissionControlRoot) {
4585
- renderHomeMissionControl(homeMissionControlRoot, homeSnapshot);
4586
- }
4587
5500
  cmdKRows = buildCommandPaletteIndex(snapshot, analyticsProjection);
4588
5501
  return homeSnapshot;
4589
5502
  }
@@ -4629,18 +5542,14 @@ export function renderBacklogHtml() {
4629
5542
  }
4630
5543
 
4631
5544
  function stopAgentScopePoll() {
4632
- if (agentScopePollTimer) {
4633
- window.clearInterval(agentScopePollTimer);
4634
- agentScopePollTimer = null;
4635
- }
5545
+ liveSync.sync();
4636
5546
  }
4637
5547
 
4638
5548
  function startAgentScopePoll() {
4639
- if (agentScopePollTimer) return;
4640
- agentScopePollTimer = window.setInterval(
4641
- () => refreshAgentScopePanel().catch(() => undefined),
4642
- agentScopePollMs,
4643
- );
5549
+ liveSync.sync();
5550
+ if (agentRunDock?.classList.contains('is-open')) {
5551
+ liveSync.forceTick('agent-scope');
5552
+ }
4644
5553
  }
4645
5554
 
4646
5555
  function setAgentDockOpen(open) {
@@ -4650,16 +5559,11 @@ export function renderBacklogHtml() {
4650
5559
  localStorage.setItem(agentDockOpenStorageKey, open ? '1' : '0');
4651
5560
  if (open) {
4652
5561
  refreshAgentRunDock().catch(() => undefined);
4653
- if (!agentDockPollTimer) {
4654
- agentDockPollTimer = window.setInterval(() => refreshAgentRunDock().catch(() => undefined), 5000);
4655
- }
4656
- startAgentScopePoll();
5562
+ liveSync.sync();
5563
+ liveSync.forceTick('agent-dock');
5564
+ liveSync.forceTick('agent-scope');
4657
5565
  } else {
4658
- if (agentDockPollTimer) {
4659
- window.clearInterval(agentDockPollTimer);
4660
- agentDockPollTimer = null;
4661
- }
4662
- stopAgentScopePoll();
5566
+ liveSync.sync();
4663
5567
  }
4664
5568
  }
4665
5569
 
@@ -4777,19 +5681,6 @@ export function renderBacklogHtml() {
4777
5681
  if (localStorage.getItem(agentDockOpenStorageKey) === '1') {
4778
5682
  setAgentDockOpen(true);
4779
5683
  }
4780
- if (homeMissionControlRoot) {
4781
- homeMissionControlRoot.addEventListener('click', (event) => {
4782
- const row = event.target.closest('[data-work-id], [data-analytics-key]');
4783
- if (!row) return;
4784
- const analyticsKey = row.getAttribute('data-analytics-key');
4785
- if (analyticsKey) {
4786
- handleHomeAnalyticsClick(analyticsKey).catch(() => undefined);
4787
- return;
4788
- }
4789
- const workId = row.getAttribute('data-work-id');
4790
- if (workId) handleHomeWorkItemClick(workId).catch(() => undefined);
4791
- });
4792
- }
4793
5684
  if (agentRunDockClose) {
4794
5685
  agentRunDockClose.addEventListener('click', () => setAgentDockOpen(false));
4795
5686
  }
@@ -4862,15 +5753,9 @@ export function renderBacklogHtml() {
4862
5753
  openCommandPalette();
4863
5754
  }
4864
5755
  });
4865
- if (!homePollTimer) {
4866
- homePollTimer = window.setInterval(() => {
4867
- if (activeView === 'home') refreshHomeSnapshot().catch(() => undefined);
4868
- }, 30000);
4869
- }
4870
5756
  }
4871
5757
 
4872
5758
  function applyView(view) {
4873
- const isHome = view === 'home';
4874
5759
  const isWorkflow = view === 'workflow';
4875
5760
  const isVerification = view === 'verification';
4876
5761
  const isArchitecture = view === 'architecture';
@@ -4878,6 +5763,7 @@ export function renderBacklogHtml() {
4878
5763
  const isPrompts = view === 'prompts';
4879
5764
  const isMemory = view === 'memory';
4880
5765
  const isAnalytics = view === 'analytics';
5766
+ const isSettings = view === 'settings';
4881
5767
  if (contentRoot) {
4882
5768
  contentRoot.classList.remove('is-graph-workspace');
4883
5769
  }
@@ -4885,9 +5771,8 @@ export function renderBacklogHtml() {
4885
5771
  if (workflowDisplayModeSelect) {
4886
5772
  workflowDisplayModeSelect.hidden = !isWorkflow;
4887
5773
  }
4888
- if (viewToolbar) viewToolbar.hidden = isHome;
4889
- if (homeView) homeView.hidden = !isHome;
4890
- boardView.hidden = isHome || isWorkflow || isVerification || isIntent || isPrompts || isMemory || isAnalytics || isArchitecture;
5774
+ if (viewToolbar) viewToolbar.hidden = !(view === 'board' || isWorkflow);
5775
+ boardView.hidden = isWorkflow || isVerification || isIntent || isPrompts || isMemory || isAnalytics || isArchitecture || isSettings;
4891
5776
  workflowView.hidden = !isWorkflow;
4892
5777
  if (isWorkflow) {
4893
5778
  applyWorkflowTab(activeWorkflowTab);
@@ -4897,6 +5782,7 @@ export function renderBacklogHtml() {
4897
5782
  promptsView.hidden = !isPrompts;
4898
5783
  memoryView.hidden = !isMemory;
4899
5784
  analyticsView.hidden = !isAnalytics;
5785
+ if (settingsView) settingsView.hidden = !isSettings;
4900
5786
  if (architectureView) architectureView.hidden = !isArchitecture;
4901
5787
  if (isArchitecture) {
4902
5788
  renderArchitecturePanels();
@@ -4904,17 +5790,20 @@ export function renderBacklogHtml() {
4904
5790
  if (isAnalytics) {
4905
5791
  applyAnalyticsTab(activeAnalyticsTab);
4906
5792
  }
5793
+ if (isSettings) {
5794
+ renderSettingsPanel().catch(() => undefined);
5795
+ }
4907
5796
  const viewCopy = {
4908
- home: 'Главная',
4909
- board: 'Доска',
4910
- workflow: 'Задачи',
4911
- architecture: 'Архитектура',
4912
- verification: 'Проверки',
4913
- prompts: 'Промпты',
4914
- memory: 'Память',
4915
- analytics: 'Аналитика',
5797
+ board: t('view.board'),
5798
+ workflow: t('view.workflow'),
5799
+ architecture: t('view.architecture'),
5800
+ verification: t('view.verification'),
5801
+ prompts: t('view.prompts'),
5802
+ memory: t('view.memory'),
5803
+ analytics: t('view.analytics'),
5804
+ settings: t('view.settings'),
4916
5805
  };
4917
- const title = viewCopy[view] ?? viewCopy.home;
5806
+ const title = viewCopy[view] ?? viewCopy.analytics;
4918
5807
  viewTitle.textContent = title;
4919
5808
  if (breadcrumbProject) {
4920
5809
  breadcrumbProject.textContent = 'Work Graph';
@@ -4922,13 +5811,110 @@ export function renderBacklogHtml() {
4922
5811
  navTabs.forEach((tab) => {
4923
5812
  tab.setAttribute('aria-selected', String(tab.dataset.view === view));
4924
5813
  });
5814
+ syncLivePollInterval();
5815
+ }
5816
+
5817
+ async function pollBacklogRevision() {
5818
+ if (!liveSyncViews.has(activeView)) {
5819
+ return;
5820
+ }
5821
+ try {
5822
+ const response = await fetch('/api/backlog-revision');
5823
+ if (!response.ok) return;
5824
+ const payload = await response.json();
5825
+ if (backlogRevision && payload.revision !== backlogRevision) {
5826
+ const prevKanbanProjection = operatorShellSnapshot?.kanbanBoard ?? null;
5827
+ await reloadOperatorSnapshots();
5828
+ let patched = false;
5829
+ if (activeView === 'board' && prevKanbanProjection) {
5830
+ patched = patchKanbanBoardIncremental(prevKanbanProjection);
5831
+ }
5832
+ if (!patched) {
5833
+ render();
5834
+ } else {
5835
+ const items = getFilteredItems();
5836
+ renderIntentDomainFilter();
5837
+ renderNavigationCounts(items);
5838
+ renderBoard(items);
5839
+ }
5840
+ await reconcileDetailDrawerOnRemotePatch();
5841
+ }
5842
+ backlogRevision = payload.revision;
5843
+ } catch {
5844
+ // ignore transient poll errors
5845
+ }
5846
+ }
5847
+
5848
+ function patchKanbanBoardIncremental(prevProjection) {
5849
+ if (!kanbanBoard || !prevProjection) {
5850
+ return false;
5851
+ }
5852
+ const nextProjection = operatorShellSnapshot?.kanbanBoard ?? null;
5853
+ if (!nextProjection) {
5854
+ return false;
5855
+ }
5856
+ const delta = computeKanbanBoardDelta(prevProjection, nextProjection);
5857
+ if (delta.fullRender) {
5858
+ return false;
5859
+ }
5860
+ const itemsById = new Map((snapshot?.items ?? []).map((item) => [item.id, item]));
5861
+ const result = applyKanbanBoardPatch(kanbanBoard, delta, {
5862
+ renderCard: (item, options) => renderTaskAtomCard(item, 'kanban-card', options),
5863
+ emptyColumnHtml: '<div class="empty">' + escapeHtml(t('empty.noTasks')) + '</div>',
5864
+ itemsById,
5865
+ });
5866
+ return result.ok === true;
5867
+ }
5868
+
5869
+ async function reconcileDetailDrawerOnRemotePatch() {
5870
+ const l1Open = detailDrawer.classList.contains('is-open');
5871
+ const l2Open = detailSubDrawer?.classList.contains('is-open');
5872
+ if (!l1Open && !l2Open) {
5873
+ return;
5874
+ }
5875
+
5876
+ async function refreshTaskDrawerBody(body, workId, mode) {
5877
+ const item = snapshot?.items?.find((candidate) => candidate.id === workId);
5878
+ if (!item || mode === 'edit') {
5879
+ return;
5880
+ }
5881
+ const storedStatus = body.dataset.remoteStatus ?? '';
5882
+ if (storedStatus && storedStatus !== item.status) {
5883
+ await renderTaskDetailContent(item, {
5884
+ parentContext: detailContext?.parent ?? null,
5885
+ mode: 'view',
5886
+ targetBody: body,
5887
+ subDrawer: body !== detailBody,
5888
+ });
5889
+ const banner = '<div class="detail-remote-update-banner" data-testid="detail-remote-update-banner">' +
5890
+ escapeHtml(t('drawer.remoteUpdate')) + '</div>';
5891
+ if (!body.querySelector('[data-testid="detail-remote-update-banner"]')) {
5892
+ body.insertAdjacentHTML('afterbegin', banner);
5893
+ }
5894
+ }
5895
+ body.dataset.remoteStatus = item.status;
5896
+ }
5897
+
5898
+ if (l1Open && detailContext?.type === 'task' && detailContext.taskId) {
5899
+ await refreshTaskDrawerBody(detailBody, detailContext.taskId, detailInspectorState?.mode ?? 'view');
5900
+ }
5901
+ if (l2Open && detailStack.depth() > 0) {
5902
+ const top = detailStack.peek();
5903
+ if (top?.type === 'task' && top.payload?.workId && detailSubBody) {
5904
+ await refreshTaskDrawerBody(detailSubBody, top.payload.workId, 'view');
5905
+ }
5906
+ }
5907
+ }
5908
+
5909
+ function syncLivePollInterval() {
5910
+ liveSync.sync();
5911
+ if (liveSyncViews.has(activeView)) {
5912
+ liveSync.forceTick('backlog-revision');
5913
+ }
4925
5914
  }
4926
5915
 
4927
5916
  function render() {
4928
5917
  if (!snapshot) return;
4929
- if (activeView === 'home' && homeMissionControlRoot && homeSnapshot) {
4930
- renderHomeMissionControl(homeMissionControlRoot, homeSnapshot);
4931
- }
4932
5918
  const items = getFilteredItems();
4933
5919
  renderIntentDomainFilter();
4934
5920
  renderNavigationCounts(items);
@@ -4944,12 +5930,6 @@ export function renderBacklogHtml() {
4944
5930
  }
4945
5931
 
4946
5932
  function ensureLazyViewData(view) {
4947
- if (view === 'home' && !homePanelLoaded) {
4948
- return refreshHomeSnapshot().then(() => {
4949
- homePanelLoaded = true;
4950
- });
4951
- }
4952
-
4953
5933
  if (view === 'prompts' && !promptsPanelLoaded) {
4954
5934
  return fetch('/api/prompt-rules-projection').then((response) => {
4955
5935
  if (!response.ok) throw new Error('запрос prompt rules projection завершился с кодом ' + response.status);
@@ -5303,7 +6283,7 @@ export function renderBacklogHtml() {
5303
6283
  return;
5304
6284
  }
5305
6285
 
5306
- const query = search.value.trim().toLowerCase();
6286
+ const query = getPanelSearchQuery();
5307
6287
  const rules = (promptsProjection.rules ?? []).filter((rule) => matchesPromptRuleQuery(rule, query));
5308
6288
  const summary = promptsProjection.summary ?? { total: 0, valid: 0, invalid: 0 };
5309
6289
 
@@ -5370,7 +6350,7 @@ export function renderBacklogHtml() {
5370
6350
  return;
5371
6351
  }
5372
6352
 
5373
- const query = search.value.trim().toLowerCase();
6353
+ const query = getPanelSearchQuery();
5374
6354
  const records = (memoryProjection.records ?? []).filter((record) => matchesMemoryRecordQuery(record, query));
5375
6355
  const summary = memoryProjection.summary ?? { total: 0, reviewRequired: 0 };
5376
6356
 
@@ -5391,7 +6371,7 @@ export function renderBacklogHtml() {
5391
6371
  escapeHtml((record.relatedFiles ?? []).join(', ') || 'no related files'),
5392
6372
  ],
5393
6373
  footerLeft: '<span class="id">' + escapeHtml(record.id) + '</span>',
5394
- footerRight: '<span class="owner-avatar" title="' + escapeHtml(owner) + '">' + escapeHtml(ownerInitials(owner)) + '</span>',
6374
+ footerRight: renderOwnerAvatar(owner, { title: owner }),
5395
6375
  selected: selectedMemoryRecordId === record.id,
5396
6376
  attrs: { 'data-memory-record-id': record.id },
5397
6377
  });
@@ -5474,7 +6454,7 @@ export function renderBacklogHtml() {
5474
6454
  return;
5475
6455
  }
5476
6456
 
5477
- const query = search.value.trim().toLowerCase();
6457
+ const query = getPanelSearchQuery();
5478
6458
  const queryMatched = (analyticsProjection.records ?? []).filter((record) => matchesAnalyticsRecordQuery(record, query));
5479
6459
  const intakeRecords = queryMatched.filter((record) => readAnalyticsRecordKind(record) === 'intake');
5480
6460
  const closingRecords = queryMatched.filter((record) => readAnalyticsRecordKind(record) === 'closing');
@@ -5508,14 +6488,15 @@ export function renderBacklogHtml() {
5508
6488
  const kindLine = isClosing
5509
6489
  ? 'closing · post-mortem' + epicNote
5510
6490
  : escapeHtml(record.topic) + ' · ' + escapeHtml(record.status);
6491
+ const lineageBadge = buildAnalyticsLineageListBadge(record);
5511
6492
  return renderListRow({
5512
6493
  title: record.title,
5513
6494
  lines: [
5514
6495
  kindLine + ' · ' + escapeHtml((record.tags ?? []).filter((tag) => tag !== 'closing-analysis').join(', ') || 'no tags'),
5515
6496
  escapeHtml(queryPreview + (String(record.query ?? '').length > 120 ? '…' : '')),
5516
6497
  ],
5517
- footerLeft: '<span class="id">' + escapeHtml(record.key || record.id) + relatedNote + '</span>',
5518
- footerRight: '<span class="owner-avatar" title="' + escapeHtml(record.author || 'operator') + '">' + escapeHtml(ownerInitials(record.author || 'AG')) + '</span>',
6498
+ footerLeft: '<span class="id">' + escapeHtml(record.key || record.id) + relatedNote + lineageBadge + '</span>',
6499
+ footerRight: renderOwnerAvatar(record.author || 'operator', { title: record.author || 'operator' }),
5519
6500
  selected: selectedAnalyticsRecordId === record.id,
5520
6501
  attrs: { 'data-analytics-record-id': record.id },
5521
6502
  });
@@ -5540,6 +6521,84 @@ export function renderBacklogHtml() {
5540
6521
  openAnalyticsRecordDetails(record);
5541
6522
  }
5542
6523
 
6524
+ function buildAnalyticsLineageListBadge(record) {
6525
+ const lineage = record.analyticsLineage;
6526
+ if (!lineage) {
6527
+ return '';
6528
+ }
6529
+
6530
+ const parts = [];
6531
+ if (lineage.parent && lineage.parent.key) {
6532
+ parts.push('↳ ' + escapeHtml(lineage.parent.key));
6533
+ }
6534
+
6535
+ const continuationCount = Array.isArray(lineage.continuations) ? lineage.continuations.length : 0;
6536
+ if (continuationCount > 0) {
6537
+ const suffix = continuationCount === 1
6538
+ ? 'продолжение'
6539
+ : (continuationCount < 5 ? 'продолжения' : 'продолжений');
6540
+ parts.push(continuationCount + ' ' + suffix);
6541
+ }
6542
+
6543
+ if (parts.length === 0) {
6544
+ return '';
6545
+ }
6546
+
6547
+ return ' · <span class="analytics-lineage-badge" data-testid="analytics-lineage-badge">' + parts.join(' · ') + '</span>';
6548
+ }
6549
+
6550
+ function renderAnalyticsLineageSections(record) {
6551
+ const lineage = record.analyticsLineage;
6552
+ if (!lineage) {
6553
+ return '';
6554
+ }
6555
+
6556
+ const hasParent = Boolean(lineage.parent);
6557
+ const continuations = Array.isArray(lineage.continuations) ? lineage.continuations : [];
6558
+ const related = Array.isArray(lineage.related) ? lineage.related : [];
6559
+ if (!hasParent && continuations.length === 0 && related.length === 0) {
6560
+ return '';
6561
+ }
6562
+
6563
+ function renderLineageNavItem(entry) {
6564
+ const label = (entry.key ? entry.key + ': ' : '') + (entry.title || entry.id);
6565
+ return '<li><button type="button" class="analytics-lineage-nav-btn" data-analytics-record-id="' + escapeHtml(entry.id) + '" data-testid="analytics-lineage-nav">' +
6566
+ escapeHtml(label) +
6567
+ '</button></li>';
6568
+ }
6569
+
6570
+ let html = '<section class="detail-section analytics-lineage-section" data-testid="analytics-lineage-section">';
6571
+
6572
+ if (hasParent) {
6573
+ html += '<h3 class="analytics-section-title">Родительский разбор</h3>' +
6574
+ '<ul class="analytics-lineage-list">' + renderLineageNavItem(lineage.parent) + '</ul>';
6575
+ }
6576
+
6577
+ if (continuations.length > 0) {
6578
+ html += '<h3 class="analytics-section-title">Продолжения</h3>' +
6579
+ '<ul class="analytics-lineage-list">' + continuations.map(renderLineageNavItem).join('') + '</ul>';
6580
+ }
6581
+
6582
+ if (related.length > 0) {
6583
+ html += '<h3 class="analytics-section-title">Связанные разборы</h3>' +
6584
+ '<ul class="analytics-lineage-list">' + related.map(renderLineageNavItem).join('') + '</ul>';
6585
+ }
6586
+
6587
+ html += '</section>';
6588
+ return html;
6589
+ }
6590
+
6591
+ function openAnalyticsRecordById(recordId) {
6592
+ const record = (analyticsProjection?.records ?? []).find((entry) => entry.id === recordId);
6593
+ if (!record) {
6594
+ return;
6595
+ }
6596
+
6597
+ selectedAnalyticsRecordId = record.id;
6598
+ renderAnalyticsPanel();
6599
+ openAnalyticsRecordDetails(record);
6600
+ }
6601
+
5543
6602
  function renderAnalyticsIntentGraphSections(record) {
5544
6603
  const graph = record.intentGraph;
5545
6604
  if (!graph || !graph.question) {
@@ -5614,11 +6673,86 @@ export function renderBacklogHtml() {
5614
6673
  '</section>';
5615
6674
  }
5616
6675
 
6676
+ function buildAnalyticsMarkdownForLlm(record) {
6677
+ const rawBody = String(record?.body ?? '').trim();
6678
+ if (rawBody) {
6679
+ return rawBody;
6680
+ }
6681
+
6682
+ const lines = [];
6683
+ const title = String(record?.title ?? '').trim();
6684
+ const query = String(record?.query ?? '').trim();
6685
+ const topic = String(record?.topic ?? '').trim();
6686
+ const key = String(record?.key ?? record?.id ?? '').trim();
6687
+
6688
+ if (title) {
6689
+ lines.push('# ' + title, '');
6690
+ }
6691
+ if (key) {
6692
+ lines.push('**Ключ:** ' + key, '');
6693
+ }
6694
+ if (query) {
6695
+ lines.push('**Запрос:** ' + query, '');
6696
+ }
6697
+ if (topic) {
6698
+ lines.push('**Тема:** ' + topic, '');
6699
+ }
6700
+
6701
+ return lines.join('\\n').trim() || '—';
6702
+ }
6703
+
6704
+ async function copyTextToClipboard(text) {
6705
+ if (navigator.clipboard && typeof navigator.clipboard.writeText === 'function') {
6706
+ await navigator.clipboard.writeText(text);
6707
+ return;
6708
+ }
6709
+
6710
+ const textarea = document.createElement('textarea');
6711
+ textarea.value = text;
6712
+ textarea.setAttribute('readonly', 'readonly');
6713
+ textarea.style.position = 'fixed';
6714
+ textarea.style.left = '-9999px';
6715
+ document.body.appendChild(textarea);
6716
+ textarea.select();
6717
+ document.execCommand('copy');
6718
+ document.body.removeChild(textarea);
6719
+ }
6720
+
6721
+ let analyticsCopyMdFeedbackTimer = null;
6722
+
6723
+ async function copyAnalyticsMarkdownForLlm(record, button) {
6724
+ const markdown = buildAnalyticsMarkdownForLlm(record);
6725
+ await copyTextToClipboard(markdown);
6726
+
6727
+ if (!button) {
6728
+ return;
6729
+ }
6730
+
6731
+ const previousLabel = button.textContent;
6732
+ button.textContent = 'Скопировано';
6733
+ button.disabled = true;
6734
+ if (analyticsCopyMdFeedbackTimer) {
6735
+ clearTimeout(analyticsCopyMdFeedbackTimer);
6736
+ }
6737
+ analyticsCopyMdFeedbackTimer = setTimeout(function() {
6738
+ button.textContent = previousLabel;
6739
+ button.disabled = false;
6740
+ analyticsCopyMdFeedbackTimer = null;
6741
+ }, 1600);
6742
+ }
6743
+
5617
6744
  function openAnalyticsRecordDetails(record) {
5618
6745
  const isClosing = readAnalyticsRecordKind(record) === 'closing';
5619
6746
  detailContext = { type: 'analytics', recordId: record.id, recordKey: record.key || record.id, recordKind: isClosing ? 'closing' : 'intake' };
5620
6747
  detailTitle.textContent = record.title;
5621
6748
  detailId.textContent = record.key || record.id;
6749
+ detailStack.reset();
6750
+ detailStack.push({
6751
+ type: 'analytics',
6752
+ key: record.id,
6753
+ title: record.title || record.key || record.id,
6754
+ payload: { recordId: record.id, recordKey: record.key || record.id },
6755
+ });
5622
6756
  const answerBody = stripAnalyticsBodyPreamble(record.body || '');
5623
6757
  const feedsEpics = Array.isArray(record.feeds_epics) ? record.feeds_epics : [];
5624
6758
  const metadataHtml =
@@ -5646,17 +6780,31 @@ export function renderBacklogHtml() {
5646
6780
  '</section>';
5647
6781
 
5648
6782
  const bodySectionTitle = isClosing ? 'Итоги эпика' : 'Ответ';
6783
+ const copyMdButton = renderClientUiButton({
6784
+ label: 'Копировать MD',
6785
+ variant: 'secondary',
6786
+ size: 'xs',
6787
+ testId: 'analytics-copy-md',
6788
+ attrs: {
6789
+ 'data-action': 'copy-analytics-md',
6790
+ 'aria-label': 'Копировать markdown разбора для LLM',
6791
+ },
6792
+ });
5649
6793
 
5650
6794
  detailBody.innerHTML =
5651
6795
  renderDetailBackButton('← К аналитике') +
5652
6796
  '<div class="analytics-qna" data-testid="analytics-qna">' +
5653
6797
  querySection +
5654
6798
  '<section class="detail-section analytics-record-body" data-testid="analytics-record-body">' +
5655
- '<h3 class="analytics-section-title">' + bodySectionTitle + '</h3>' +
6799
+ '<div class="analytics-section-header">' +
6800
+ '<h3 class="analytics-section-title">' + bodySectionTitle + '</h3>' +
6801
+ copyMdButton +
6802
+ '</div>' +
5656
6803
  renderMarkdownDocument(answerBody || '—') +
5657
6804
  '</section>' +
5658
6805
  '</div>' +
5659
6806
  (isClosing ? '' : renderAnalyticsIntentGraphSections(record)) +
6807
+ renderAnalyticsLineageSections(record) +
5660
6808
  renderAnalyticsRelatedWorkItemsSection(record) +
5661
6809
  wrapDetailAccordion('Метаданные', metadataHtml, { testid: 'analytics-record-meta' });
5662
6810
  openDetailDrawer();
@@ -5947,24 +7095,22 @@ export function renderBacklogHtml() {
5947
7095
  }
5948
7096
  }
5949
7097
 
5950
- function formatVerificationStatusLabel(status) {
5951
- const labels = {
5952
- passed: 'пройдено',
5953
- pending: 'ожидает',
5954
- blocked: 'заблокировано',
5955
- not_run: 'не запускалось',
5956
- failed: 'провалено',
5957
- };
5958
- return labels[status] || status || 'ожидает';
7098
+ function formatVerificationStatusLabel(status) {
7099
+ const key = 'verification.status.' + String(status ?? 'pending');
7100
+ const localized = t(key);
7101
+ if (localized !== key) {
7102
+ return localized;
7103
+ }
7104
+ return status || t('verification.status.pending');
5959
7105
  }
5960
7106
 
5961
7107
  function formatVerificationTierLabel(tier) {
5962
- const labels = {
5963
- deterministic: 'детерминированный',
5964
- 'optional-env': 'опционально (окружение)',
5965
- 'optional-llm': 'опционально (LLM)',
5966
- };
5967
- return labels[tier] || tier;
7108
+ const key = 'verification.tierLabel.' + String(tier ?? '');
7109
+ const localized = t(key);
7110
+ if (localized !== key) {
7111
+ return localized;
7112
+ }
7113
+ return tier;
5968
7114
  }
5969
7115
 
5970
7116
  function renderVerificationPanel() {
@@ -5973,6 +7119,9 @@ export function renderBacklogHtml() {
5973
7119
  verificationMatrixWrap.innerHTML = '<div class="empty">Сводка проверок не загружена</div>';
5974
7120
  verificationEvidenceList.innerHTML = '';
5975
7121
  verificationWorkerRuns.innerHTML = '';
7122
+ if (verificationContractList) verificationContractList.innerHTML = '';
7123
+ if (verificationContractHealth) verificationContractHealth.innerHTML = '';
7124
+ if (verificationContractCount) verificationContractCount.textContent = '0';
5976
7125
  renderCodegenGatePanel();
5977
7126
  renderDaemonAuditPanel();
5978
7127
  renderCodeGapPanel();
@@ -5982,12 +7131,12 @@ export function renderBacklogHtml() {
5982
7131
  const verification = dashboardSnapshot.verification;
5983
7132
  const counts = verification.tierCounts;
5984
7133
  verificationTierBadges.innerHTML =
5985
- renderVerificationTierBadge('Уровень A', counts.deterministic) +
5986
- renderVerificationTierBadge('OneBase (окружение)', counts.optionalEnv) +
5987
- renderVerificationTierBadge('LLM (опционально)', counts.optionalLlm);
7134
+ renderVerificationTierBadge(t('verification.tier.a'), counts.deterministic) +
7135
+ renderVerificationTierBadge(t('verification.tier.onebase'), counts.optionalEnv) +
7136
+ renderVerificationTierBadge(t('verification.tier.llm'), counts.optionalLlm);
5988
7137
 
5989
7138
  verificationMatrixWrap.innerHTML =
5990
- '<table class="verification-matrix"><thead><tr><th>Проверка</th><th>Уровень</th><th>Команда</th><th>Статус</th></tr></thead><tbody>' +
7139
+ '<table class="verification-matrix"><thead><tr><th>' + escapeHtml(t('verification.matrix.check')) + '</th><th>' + escapeHtml(t('verification.matrix.tier')) + '</th><th>' + escapeHtml(t('verification.matrix.command')) + '</th><th>' + escapeHtml(t('verification.matrix.status')) + '</th></tr></thead><tbody>' +
5991
7140
  verification.matrix.map((row) =>
5992
7141
  '<tr><td>' + escapeHtml(row.title) + '</td><td>' + escapeHtml(formatVerificationTierLabel(row.tier)) + '</td><td><code>' + escapeHtml(row.command) + '</code></td><td>' +
5993
7142
  renderVerificationStatus(row.status) + '</td></tr>'
@@ -5997,6 +7146,8 @@ export function renderBacklogHtml() {
5997
7146
  ? '<p class="empty">Гейт OneBase заблокирован' + (verification.onebaseGate.blockedTaskId ? ': ' + escapeHtml(verification.onebaseGate.blockedTaskId) : '') + '. Установите Go и запустите npm run test:optional:onebase.</p>'
5998
7147
  : '');
5999
7148
 
7149
+ renderVerificationContractPanel();
7150
+
6000
7151
  const evidenceRows = dashboardSnapshot.recentEvidence || [];
6001
7152
  renderCodegenGatePanel();
6002
7153
  verificationEvidenceList.innerHTML = evidenceRows.length
@@ -6021,6 +7172,40 @@ export function renderBacklogHtml() {
6021
7172
  renderCodeGapPanel();
6022
7173
  }
6023
7174
 
7175
+ function renderVerificationContractPanel() {
7176
+ if (!verificationContractList || !verificationContractHealth || !verificationContractCount) {
7177
+ return;
7178
+ }
7179
+
7180
+ const summaries = dashboardSnapshot?.verification?.contractSummaries ?? [];
7181
+ const health = dashboardSnapshot?.verification?.contractHealth;
7182
+
7183
+ verificationContractCount.textContent = String(summaries.length);
7184
+ verificationContractHealth.innerHTML = health
7185
+ ? '<span class="pill">Structured evidence: <strong>' + escapeHtml(String(health.structuredEvidencePct ?? 0)) + '%</strong></span>' +
7186
+ '<span class="pill">Contract ready: <strong>' + escapeHtml(String(health.contractReadyPct ?? 0)) + '%</strong></span>' +
7187
+ '<span class="pill">Gate tasks: <strong>' + escapeHtml(String(health.gateTaskCount ?? 0)) + '</strong></span>'
7188
+ : '';
7189
+
7190
+ verificationContractList.innerHTML = summaries.length
7191
+ ? summaries.map((entry) => {
7192
+ const tier = entry.contract?.verification?.tier ?? '—';
7193
+ const matrixRowId = entry.contract?.verification?.matrixRowId ?? '—';
7194
+ const violationLines = (entry.readiness?.violations ?? []).map((violation) =>
7195
+ '<li><strong>' + escapeHtml(violation.code) + '</strong>: ' + escapeHtml(violation.message) +
7196
+ (violation.fix ? ' · ' + escapeHtml(violation.fix) : '') + '</li>',
7197
+ ).join('');
7198
+ return '<li data-work-id="' + escapeHtml(entry.workId) + '">' +
7199
+ '<h3>' + escapeHtml(entry.title || entry.workId) + '</h3>' +
7200
+ '<p class="list-row-line">Контракт · Tier ' + escapeHtml(String(tier)) + ' · ' + escapeHtml(String(matrixRowId)) +
7201
+ ' · ' + renderVerificationStatus(entry.readiness?.ok ? 'passed' : 'failed') +
7202
+ ' · нарушений: ' + escapeHtml(String(entry.readiness?.violationCount ?? 0)) + '</p>' +
7203
+ (violationLines ? '<ul>' + violationLines + '</ul>' : '') +
7204
+ '</li>';
7205
+ }).join('')
7206
+ : '<li class="empty">Нет gate-задач в текущем snapshot</li>';
7207
+ }
7208
+
6024
7209
  function renderCodegenGatePanel() {
6025
7210
  if (!codegenGateList || !codegenGateSummary || !codegenGateCount) {
6026
7211
  return;
@@ -6101,7 +7286,7 @@ export function renderBacklogHtml() {
6101
7286
  }
6102
7287
 
6103
7288
  const suggestions = codeGapProjection.suggestions ?? [];
6104
- const query = search.value.trim().toLowerCase();
7289
+ const query = getPanelSearchQuery();
6105
7290
  const filtered = suggestions.filter((entry) => {
6106
7291
  if (!query) {
6107
7292
  return true;
@@ -6355,9 +7540,15 @@ export function renderBacklogHtml() {
6355
7540
  const prevDisabled = pagination.page <= 1;
6356
7541
  const nextDisabled = pagination.page >= pagination.totalPages;
6357
7542
  container.innerHTML =
6358
- renderClientUiButton({ label: 'Назад', variant: 'secondary', className: 'workflow-page-btn', disabled: prevDisabled, attrs: { 'data-workflow-page': kind, 'data-page-action': 'prev' } }) +
6359
- '<span class="workflow-page-meta">Стр. ' + pagination.page + ' из ' + pagination.totalPages + ' · ' + pagination.from + '–' + pagination.to + ' из ' + pagination.total + '</span>' +
6360
- renderClientUiButton({ label: 'Вперёд', variant: 'secondary', className: 'workflow-page-btn', disabled: nextDisabled, attrs: { 'data-workflow-page': kind, 'data-page-action': 'next' } });
7543
+ renderClientUiButton({ label: t('pagination.prev'), variant: 'secondary', className: 'workflow-page-btn', disabled: prevDisabled, attrs: { 'data-workflow-page': kind, 'data-page-action': 'prev' } }) +
7544
+ '<span class="workflow-page-meta">' + escapeHtml(t('pagination.meta', {
7545
+ page: pagination.page,
7546
+ totalPages: pagination.totalPages,
7547
+ from: pagination.from,
7548
+ to: pagination.to,
7549
+ total: pagination.total,
7550
+ })) + '</span>' +
7551
+ renderClientUiButton({ label: t('pagination.next'), variant: 'secondary', className: 'workflow-page-btn', disabled: nextDisabled, attrs: { 'data-workflow-page': kind, 'data-page-action': 'next' } });
6361
7552
  }
6362
7553
 
6363
7554
  function handleWorkflowPaginationClick(event) {
@@ -6407,7 +7598,7 @@ export function renderBacklogHtml() {
6407
7598
  ?? null;
6408
7599
 
6409
7600
  if (!projection) {
6410
- kanbanBoard.innerHTML = '<div class="empty">Kanban projection не загружен</div>';
7601
+ kanbanBoard.innerHTML = '<div class="empty">' + escapeHtml(t('empty.kanbanNotLoaded')) + '</div>';
6411
7602
  return;
6412
7603
  }
6413
7604
 
@@ -6419,8 +7610,8 @@ export function renderBacklogHtml() {
6419
7610
  .join('');
6420
7611
 
6421
7612
  return '<article class="column" data-kanban-column="' + escapeHtml(column.id) + '">' +
6422
- '<h2>' + escapeHtml(column.title) + renderClientUiBadge({ label: String(column.count), tone: 'muted', testId: 'kanban-col-count-' + column.id }) + '</h2>' +
6423
- (cards || '<div class="empty">Нет задач</div>') +
7613
+ '<h2>' + escapeHtml(localizedKanbanColumnTitle(column.id, column.title)) + renderClientUiBadge({ label: String(column.count), tone: 'default', testId: 'kanban-col-count-' + column.id }) + '</h2>' +
7614
+ (cards || '<div class="empty">' + escapeHtml(t('empty.noTasks')) + '</div>') +
6424
7615
  '</article>';
6425
7616
  }).join('');
6426
7617
  }
@@ -6437,13 +7628,13 @@ export function renderBacklogHtml() {
6437
7628
  .map((item) => ({ item, queueKind: null }));
6438
7629
 
6439
7630
  return '<article class="column">' +
6440
- '<h2>' + escapeHtml(group.title) + renderClientUiBadge({ label: String(groupEntries.length), tone: 'muted', testId: 'board-col-count-' + group.id }) + '</h2>' +
7631
+ '<h2>' + escapeHtml(localizedBoardGroupTitle(group.id, group.title)) + renderClientUiBadge({ label: String(groupEntries.length), tone: 'default', testId: 'board-col-count-' + group.id }) + '</h2>' +
6441
7632
  (groupEntries.length
6442
7633
  ? groupEntries.map((entry) => renderTaskAtomCard(entry.item, '', {
6443
7634
  queueKind: entry.queueKind,
6444
7635
  promoteEligible: entry.queueKind === 'planned',
6445
7636
  })).join('')
6446
- : '<div class="empty">Нет атомов задач</div>') +
7637
+ : '<div class="empty">' + escapeHtml(t('empty.noTaskAtoms')) + '</div>') +
6447
7638
  '</article>';
6448
7639
  }).join('');
6449
7640
  }
@@ -6454,15 +7645,15 @@ export function renderBacklogHtml() {
6454
7645
  const progress = group.childCount > 0
6455
7646
  ? group.doneChildCount + '/' + group.childCount
6456
7647
  : '0';
6457
- const toggleLabel = collapsed ? 'Развернуть' : 'Свернуть';
7648
+ const toggleLabel = collapsed ? t('workflow.epic.expand') : t('workflow.epic.collapse');
6458
7649
  const childrenHtml = group.children.length
6459
7650
  ? group.children.map((child) => renderTaskAtom(child, 'list-row')).join('')
6460
- : '<div class="empty">Нет подзадач в этом списке</div>';
7651
+ : '<div class="empty">' + escapeHtml(t('empty.noSubtasks')) + '</div>';
6461
7652
 
6462
7653
  return '<article class="workflow-epic-group" data-testid="workflow-epic-' + escapeHtml(epic.id) + '">' +
6463
7654
  '<div class="workflow-epic-header">' +
6464
7655
  '<button class="task-atom list-row" type="button" data-task-id="' + escapeHtml(epic.id) + '">' +
6465
- '<h3><span class="workflow-epic-badge">Эпик</span>' + escapeHtml(epic.title || epic.id) +
7656
+ '<h3><span class="workflow-epic-badge">' + escapeHtml(t('workflow.epic.badge')) + '</span>' + escapeHtml(epic.title || epic.id) +
6466
7657
  '<span class="workflow-epic-meta">' + escapeHtml(progress) + '</span></h3>' +
6467
7658
  renderSemanticCore(epic) +
6468
7659
  renderIssueFooter(epic) +
@@ -7194,12 +8385,14 @@ export function renderBacklogHtml() {
7194
8385
 
7195
8386
  function renderTaskAtom(item, extraClass = '', options = {}) {
7196
8387
  const queueKind = options.queueKind ?? null;
8388
+ const surface = extraClass.includes('kanban-card') ? 'board' : 'default';
7197
8389
  const targets = highlightTaskId ? crossHighlightTargets(highlightTaskId) : { peerIds: [] };
7198
8390
  const highlightClass = item.id === highlightTaskId || targets.peerIds.includes(item.id) ? ' is-highlighted' : '';
7199
- return '<button class="task-atom' + highlightClass + (extraClass ? ' ' + extraClass : '') + '" type="button" data-task-id="' + escapeHtml(item.id) + '">' +
8391
+ const newClass = options.isNew ? ' is-new' : '';
8392
+ return '<button class="task-atom' + highlightClass + newClass + (extraClass ? ' ' + extraClass : '') + '" type="button" data-task-id="' + escapeHtml(item.id) + '" data-work-id="' + escapeHtml(item.id) + '">' +
7200
8393
  '<h3>' + escapeHtml(item.title || item.id) + '</h3>' +
7201
8394
  renderSemanticCore(item) +
7202
- renderIssueFooter(item, { queueKind }) +
8395
+ renderIssueFooter(item, { queueKind, surface }) +
7203
8396
  '</button>';
7204
8397
  }
7205
8398
 
@@ -7214,6 +8407,36 @@ export function renderBacklogHtml() {
7214
8407
  }
7215
8408
 
7216
8409
  function handleBoardClick(event) {
8410
+ const copyAnalyticsBtn = event.target.closest('[data-action="copy-analytics-md"]');
8411
+ if (copyAnalyticsBtn) {
8412
+ event.preventDefault();
8413
+ event.stopPropagation();
8414
+ const recordId = detailContext?.type === 'analytics'
8415
+ ? detailContext.recordId
8416
+ : selectedAnalyticsRecordId;
8417
+ const record = (analyticsProjection?.records ?? []).find((entry) => entry.id === recordId);
8418
+ if (record) {
8419
+ copyAnalyticsMarkdownForLlm(record, copyAnalyticsBtn).catch(() => undefined);
8420
+ }
8421
+ return;
8422
+ }
8423
+
8424
+ const lineageNavBtn = event.target.closest('.analytics-lineage-nav-btn[data-analytics-record-id]');
8425
+ if (lineageNavBtn) {
8426
+ event.preventDefault();
8427
+ event.stopPropagation();
8428
+ const fromDrawer = Boolean(lineageNavBtn.closest('#detail-body, #detail-sub-body'));
8429
+ if (fromDrawer && detailDrawer.classList.contains('is-open')) {
8430
+ const record = (analyticsProjection?.records ?? []).find((entry) => entry.id === lineageNavBtn.dataset.analyticsRecordId);
8431
+ if (record) {
8432
+ openAnalyticsLineageStackDrawer(record);
8433
+ return;
8434
+ }
8435
+ }
8436
+ openAnalyticsRecordById(lineageNavBtn.dataset.analyticsRecordId);
8437
+ return;
8438
+ }
8439
+
7217
8440
  const epicToggle = event.target.closest('[data-workflow-epic-toggle]');
7218
8441
  if (epicToggle) {
7219
8442
  event.preventDefault();
@@ -7318,7 +8541,38 @@ export function renderBacklogHtml() {
7318
8541
  const item = snapshot.items.find((candidate) => candidate.id === card.dataset.taskId);
7319
8542
  if (!item) return;
7320
8543
  applyCrossHighlight(item.id);
7321
- const fromDrawer = detailDrawer.classList.contains('is-open') && Boolean(card.closest('#detail-body'));
8544
+
8545
+ const fromAnalyticsRelated = card.classList.contains('analytics-related-task-btn')
8546
+ && detailDrawer.classList.contains('is-open')
8547
+ && Boolean(card.closest('#detail-body, #detail-sub-body'));
8548
+ if (fromAnalyticsRelated) {
8549
+ let recordId = selectedAnalyticsRecordId || detailContext?.recordId;
8550
+ if (card.closest('#detail-sub-body')) {
8551
+ const top = detailStack.peek();
8552
+ if (top?.type === 'analytics') {
8553
+ recordId = top.payload?.recordId ?? top.key ?? recordId;
8554
+ }
8555
+ }
8556
+ const record = (analyticsProjection?.records ?? []).find((entry) => entry.id === recordId);
8557
+ if (record) {
8558
+ openAnalyticsRelatedTaskSubDrawer(item, record);
8559
+ return;
8560
+ }
8561
+ }
8562
+
8563
+ const fromHierarchy = Boolean(card.closest('[data-testid="hierarchy-parent"], [data-testid="hierarchy-children"]'));
8564
+ const fromDrawerBody = Boolean(card.closest('#detail-body'));
8565
+ const fromSubDrawerBody = Boolean(card.closest('#detail-sub-body'));
8566
+ const fromDrawer = detailDrawer.classList.contains('is-open') && fromDrawerBody;
8567
+ const fromSubDrawer = detailSubDrawer?.classList.contains('is-open') && fromSubDrawerBody;
8568
+
8569
+ if (fromHierarchy && (fromDrawer || fromSubDrawer)) {
8570
+ event.preventDefault();
8571
+ event.stopPropagation();
8572
+ openTaskHierarchyStackDrawer(item);
8573
+ return;
8574
+ }
8575
+
7322
8576
  const analyticsParent = card.classList.contains('analytics-related-task-btn') && selectedAnalyticsRecordId
7323
8577
  ? { type: 'analytics', recordId: selectedAnalyticsRecordId }
7324
8578
  : detailContext;
@@ -7366,6 +8620,228 @@ export function renderBacklogHtml() {
7366
8620
  if (button && handler) button.addEventListener('click', handler, { once: true });
7367
8621
  }
7368
8622
 
8623
+ function renderDetailStackBreadcrumb() {
8624
+ const frames = detailStack.getFrames();
8625
+ if (frames.length <= 1) {
8626
+ return '';
8627
+ }
8628
+ const crumbs = frames.map((frame, index) => {
8629
+ const label = frame.title || frame.key || frame.type;
8630
+ const isCurrent = index === frames.length - 1;
8631
+ return '<span class="detail-stack-crumb' + (isCurrent ? ' is-current' : '') + '">' + escapeHtml(label) + '</span>';
8632
+ });
8633
+ return '<nav class="detail-stack-breadcrumb" data-testid="detail-stack-breadcrumb" aria-label="Navigation trail">' +
8634
+ crumbs.join('<span class="detail-stack-crumb-sep">›</span>') + '</nav>';
8635
+ }
8636
+
8637
+ function syncDetailSubHeaderFromStack() {
8638
+ const top = detailStack.peek();
8639
+ if (!top || !detailSubTitle || !detailSubId) {
8640
+ return;
8641
+ }
8642
+ detailSubTitle.textContent = top.title || top.key || top.type;
8643
+ if (top.type === 'task') {
8644
+ detailSubId.textContent = top.payload?.workId || top.key || '';
8645
+ } else if (top.type === 'analytics') {
8646
+ detailSubId.textContent = top.payload?.recordKey || top.payload?.recordId || top.key || '';
8647
+ } else if (top.type === 'architecture-l2') {
8648
+ detailSubId.textContent = top.payload?.nodePath || top.payload?.nodeId || top.key || '';
8649
+ } else {
8650
+ detailSubId.textContent = top.key || '';
8651
+ }
8652
+ const headerWrap = detailSubTitle.closest('.detail-header > div');
8653
+ if (!headerWrap) {
8654
+ return;
8655
+ }
8656
+ const existing = headerWrap.querySelector('[data-testid="detail-stack-breadcrumb"]');
8657
+ const breadcrumbHtml = renderDetailStackBreadcrumb();
8658
+ if (breadcrumbHtml) {
8659
+ if (existing) {
8660
+ existing.outerHTML = breadcrumbHtml;
8661
+ } else {
8662
+ detailSubId.insertAdjacentHTML('afterend', breadcrumbHtml);
8663
+ }
8664
+ } else if (existing) {
8665
+ existing.remove();
8666
+ }
8667
+ }
8668
+
8669
+ function closeDetailStackFully() {
8670
+ detailStack.reset();
8671
+ closeL2NodeDetails();
8672
+ }
8673
+
8674
+ function popDetailStackNavigation() {
8675
+ if (!detailSubDrawer?.classList.contains('is-open')) {
8676
+ return false;
8677
+ }
8678
+ if (detailStack.depth() > 1) {
8679
+ detailStack.pop();
8680
+ renderTopDetailStackFrame().catch(() => undefined);
8681
+ return true;
8682
+ }
8683
+ closeDetailStackFully();
8684
+ detailClose?.focus();
8685
+ return true;
8686
+ }
8687
+
8688
+ function resolveStackParentContext(parentFrame) {
8689
+ if (!parentFrame) {
8690
+ return null;
8691
+ }
8692
+ if (parentFrame.type === 'task') {
8693
+ return {
8694
+ type: 'task',
8695
+ taskId: parentFrame.payload?.workId ?? parentFrame.key,
8696
+ title: parentFrame.title || parentFrame.key,
8697
+ };
8698
+ }
8699
+ if (parentFrame.type === 'analytics') {
8700
+ return {
8701
+ type: 'analytics',
8702
+ recordId: parentFrame.payload?.recordId ?? parentFrame.key,
8703
+ };
8704
+ }
8705
+ if (parentFrame.type === 'architecture-block') {
8706
+ return {
8707
+ type: 'block',
8708
+ blockId: parentFrame.payload?.blockId ?? parentFrame.key,
8709
+ };
8710
+ }
8711
+ return null;
8712
+ }
8713
+
8714
+ async function renderDetailStackFrame(frame, parentFrame) {
8715
+ if (frame.type === 'task') {
8716
+ const item = snapshot?.items?.find((candidate) => candidate.id === (frame.payload?.workId || frame.key));
8717
+ if (!item || !detailSubBody) {
8718
+ return;
8719
+ }
8720
+ detailSubBody.setAttribute(
8721
+ 'data-testid',
8722
+ parentFrame?.type === 'analytics' ? 'analytics-related-task-sub-drawer' : 'task-hierarchy-sub-drawer',
8723
+ );
8724
+ detailSubBody.dataset.remoteStatus = item.status ?? '';
8725
+ await renderTaskDetailContent(item, {
8726
+ parentContext: resolveStackParentContext(parentFrame),
8727
+ mode: 'view',
8728
+ targetBody: detailSubBody,
8729
+ subDrawer: true,
8730
+ });
8731
+ bindDetailSubNavBack(() => popDetailStackNavigation());
8732
+ return;
8733
+ }
8734
+ if (frame.type === 'analytics') {
8735
+ const record = (analyticsProjection?.records ?? []).find((entry) => entry.id === (frame.payload?.recordId || frame.key));
8736
+ if (!record || !detailSubBody) {
8737
+ return;
8738
+ }
8739
+ detailSubBody.setAttribute('data-testid', 'analytics-lineage-sub-drawer');
8740
+ renderAnalyticsRecordStackBody(record, parentFrame);
8741
+ bindDetailSubNavBack(() => popDetailStackNavigation());
8742
+ return;
8743
+ }
8744
+ if (frame.type === 'architecture-l2') {
8745
+ const block = architectureSnapshot?.blocks?.find((candidate) => candidate.id === frame.payload?.blockId);
8746
+ if (!block || !detailSubBody) {
8747
+ return;
8748
+ }
8749
+ const l2Graph = block.l2Graph;
8750
+ const nodes = l2Graph?.layoutNodes || l2Graph?.nodes || [];
8751
+ const node = nodes.find((candidate) => candidate.id === frame.payload?.nodeId);
8752
+ if (!node) {
8753
+ return;
8754
+ }
8755
+ detailSubBody.setAttribute('data-testid', 'architecture-l2-sub-drawer');
8756
+ const backLabel = parentFrame?.type === 'architecture-block'
8757
+ ? '← ' + (parentFrame.title || parentFrame.key)
8758
+ : '← ' + (block.title || block.id);
8759
+ detailSubBody.innerHTML = renderDetailSubBackButton(backLabel) + buildL2NodeDetailSections(node, l2Graph, block);
8760
+ bindDetailSubNavBack(() => popDetailStackNavigation());
8761
+ }
8762
+ }
8763
+
8764
+ async function renderTopDetailStackFrame() {
8765
+ const top = detailStack.peek();
8766
+ const below = detailStack.peekBelow();
8767
+ if (!top || detailStack.depth() <= 1) {
8768
+ closeDetailStackFully();
8769
+ return;
8770
+ }
8771
+ await renderDetailStackFrame(top, below);
8772
+ syncDetailSubHeaderFromStack();
8773
+ openL2SubDrawer();
8774
+ }
8775
+
8776
+ function renderAnalyticsRecordStackBody(record, parentFrame) {
8777
+ const parentContext = resolveStackParentContext(parentFrame);
8778
+ const backLabel = parentContext?.type === 'analytics'
8779
+ ? '← ' + ((analyticsProjection?.records ?? []).find((entry) => entry.id === parentContext.recordId)?.key || 'Аналитика')
8780
+ : '← ' + (record.key || record.title || 'Аналитика');
8781
+ detailSubBody.innerHTML = renderDetailSubBackButton(backLabel) + buildAnalyticsRecordDetailInnerHtml(record);
8782
+ queueMicrotask(function() {
8783
+ mountMarkdownMermaidDiagrams(detailSubBody.querySelector('.analytics-record-body'));
8784
+ });
8785
+ }
8786
+
8787
+ function buildAnalyticsRecordDetailInnerHtml(record) {
8788
+ const isClosing = readAnalyticsRecordKind(record) === 'closing';
8789
+ const answerBody = stripAnalyticsBodyPreamble(record.body || '');
8790
+ const querySection = isClosing
8791
+ ? (String(record.query ?? '').trim() !== ''
8792
+ ? '<section class="detail-section analytics-query-section" data-testid="analytics-query-section">' +
8793
+ '<h3 class="analytics-section-title">Контекст</h3>' +
8794
+ '<p class="analytics-query-text">' + escapeHtml(record.query) + '</p>' +
8795
+ '</section>'
8796
+ : '')
8797
+ : '<section class="detail-section analytics-query-section" data-testid="analytics-query-section">' +
8798
+ '<h3 class="analytics-section-title">Запрос</h3>' +
8799
+ '<p class="analytics-query-text">' + escapeHtml(record.query || '—') + '</p>' +
8800
+ '</section>';
8801
+ const bodySectionTitle = isClosing ? 'Итоги эпика' : 'Ответ';
8802
+ return '<div class="analytics-qna" data-testid="analytics-qna">' +
8803
+ querySection +
8804
+ '<section class="detail-section analytics-record-body" data-testid="analytics-record-body">' +
8805
+ '<h3 class="analytics-section-title">' + bodySectionTitle + '</h3>' +
8806
+ renderMarkdownDocument(answerBody || '—') +
8807
+ '</section>' +
8808
+ '</div>' +
8809
+ (isClosing ? '' : renderAnalyticsIntentGraphSections(record)) +
8810
+ renderAnalyticsLineageSections(record) +
8811
+ renderAnalyticsRelatedWorkItemsSection(record);
8812
+ }
8813
+
8814
+ function openAnalyticsLineageStackDrawer(record) {
8815
+ if (!record?.id) {
8816
+ return;
8817
+ }
8818
+ const currentRecordId = detailContext?.recordId || selectedAnalyticsRecordId;
8819
+ const currentRecord = currentRecordId
8820
+ ? (analyticsProjection?.records ?? []).find((entry) => entry.id === currentRecordId)
8821
+ : null;
8822
+
8823
+ if (currentRecord && detailStack.depth() === 0) {
8824
+ detailStack.push({
8825
+ type: 'analytics',
8826
+ key: currentRecord.id,
8827
+ title: currentRecord.title || currentRecord.key || currentRecord.id,
8828
+ payload: { recordId: currentRecord.id, recordKey: currentRecord.key || currentRecord.id },
8829
+ });
8830
+ }
8831
+
8832
+ detailStack.push({
8833
+ type: 'analytics',
8834
+ key: record.id,
8835
+ title: record.title || record.key || record.id,
8836
+ payload: { recordId: record.id, recordKey: record.key || record.id },
8837
+ });
8838
+
8839
+ selectedAnalyticsRecordId = record.id;
8840
+ renderAnalyticsPanel();
8841
+ renderTopDetailStackFrame().catch(() => undefined);
8842
+ detailSubClose?.focus();
8843
+ }
8844
+
7369
8845
  function resolveL2NodeLabel(nodeRef, l2Graph) {
7370
8846
  const id = typeof nodeRef === 'string' ? nodeRef : nodeRef?.id;
7371
8847
  const nodes = l2Graph.layoutNodes || l2Graph.nodes || [];
@@ -7466,25 +8942,117 @@ export function renderBacklogHtml() {
7466
8942
  const node = nodes.find((candidate) => candidate.id === nodeId);
7467
8943
  if (!node || !detailSubBody || !detailSubTitle || !detailSubId) return;
7468
8944
 
7469
- const openedFromDrawer = fromBlockDrawer
7470
- || (detailDrawer.classList.contains('is-open')
7471
- && detailContext?.type === 'block'
7472
- && detailContext.blockId === block.id);
7473
-
7474
- detailSubTitle.textContent = node.kind === 'file' ? (node.title || node.path || node.id) : (node.title || node.id);
7475
- detailSubId.textContent = node.kind === 'container'
7476
- ? ('Контейнер · ' + formatArchitectureContainerKind(node.subtitle || ''))
7477
- : (node.path || node.id);
7478
- detailSubBody.innerHTML =
7479
- renderDetailSubBackButton('← ' + (block.title || block.id)) +
7480
- buildL2NodeDetailSections(node, l2Graph, block);
8945
+ if (fromBlockDrawer && detailContext?.type === 'block' && detailStack.depth() === 0) {
8946
+ detailStack.push({
8947
+ type: 'architecture-block',
8948
+ key: block.id,
8949
+ title: block.title || block.id,
8950
+ payload: { blockId: block.id },
8951
+ });
8952
+ }
8953
+
8954
+ detailStack.push({
8955
+ type: 'architecture-l2',
8956
+ key: block.id + ':' + nodeId,
8957
+ title: node.kind === 'file' ? (node.title || node.path || node.id) : (node.title || node.id),
8958
+ payload: {
8959
+ blockId: block.id,
8960
+ nodeId: node.id,
8961
+ nodePath: node.path || node.id,
8962
+ },
8963
+ });
8964
+
8965
+ renderTopDetailStackFrame().catch(() => undefined);
8966
+ detailSubClose?.focus();
8967
+ }
8968
+
8969
+ function openTaskHierarchyStackDrawer(item) {
8970
+ if (!item?.id) {
8971
+ return;
8972
+ }
8973
+
8974
+ const currentWorkId = detailContext?.taskId ?? detailInspectorState?.workId;
8975
+ const currentItem = currentWorkId
8976
+ ? snapshot?.items?.find((candidate) => candidate.id === currentWorkId)
8977
+ : null;
8978
+
8979
+ if (currentItem && detailStack.depth() === 0) {
8980
+ detailStack.push({
8981
+ type: 'task',
8982
+ key: currentItem.id,
8983
+ title: currentItem.title || currentItem.id,
8984
+ payload: { workId: currentItem.id },
8985
+ });
8986
+ }
8987
+
8988
+ detailStack.push({
8989
+ type: 'task',
8990
+ key: item.id,
8991
+ title: item.title || item.id,
8992
+ payload: { workId: item.id },
8993
+ });
8994
+
8995
+ renderTopDetailStackFrame().catch(() => undefined);
8996
+ detailSubClose?.focus();
8997
+ }
8998
+
8999
+ function openTaskStackSubDrawer(item, previousFrame) {
9000
+ if (!item || !detailSubBody || !detailSubTitle || !detailSubId) {
9001
+ return;
9002
+ }
9003
+
9004
+ detailSubTitle.textContent = item.title || item.id;
9005
+ detailSubId.textContent = item.id;
9006
+ detailSubBody.setAttribute('data-testid', 'task-hierarchy-sub-drawer');
9007
+ detailSubBody.dataset.remoteStatus = item.status ?? '';
9008
+
9009
+ const parentContext = previousFrame?.type === 'task'
9010
+ ? {
9011
+ type: 'task',
9012
+ taskId: previousFrame.payload?.workId ?? previousFrame.key,
9013
+ title: previousFrame.title || previousFrame.key,
9014
+ }
9015
+ : null;
9016
+
9017
+ renderTaskDetailContent(item, {
9018
+ parentContext,
9019
+ mode: 'view',
9020
+ targetBody: detailSubBody,
9021
+ subDrawer: true,
9022
+ }).catch((error) => {
9023
+ detailSubBody.innerHTML = '<div class="error">' + escapeHtml(error.message) + '</div>';
9024
+ });
9025
+
7481
9026
  openL2SubDrawer();
7482
- bindDetailSubNavBack(() => {
7483
- closeL2NodeDetails();
7484
- if (!openedFromDrawer && detailSubClose) {
7485
- detailSubClose.focus();
9027
+ detailSubClose?.focus();
9028
+ }
9029
+
9030
+ function openAnalyticsRelatedTaskSubDrawer(item, record) {
9031
+ if (!item || !record) {
9032
+ return;
9033
+ }
9034
+
9035
+ const top = detailStack.peek();
9036
+ if (!top || top.type !== 'analytics' || top.payload?.recordId !== record.id) {
9037
+ if (detailStack.depth() > 0) {
9038
+ detailStack.reset();
7486
9039
  }
9040
+ detailStack.push({
9041
+ type: 'analytics',
9042
+ key: record.id,
9043
+ title: record.title || record.key || record.id,
9044
+ payload: { recordId: record.id, recordKey: record.key || record.id },
9045
+ });
9046
+ }
9047
+
9048
+ detailStack.push({
9049
+ type: 'task',
9050
+ key: item.id,
9051
+ title: item.title || item.id,
9052
+ payload: { workId: item.id },
7487
9053
  });
9054
+
9055
+ renderTopDetailStackFrame().catch(() => undefined);
7488
9056
  detailSubClose?.focus();
7489
9057
  }
7490
9058
 
@@ -7521,7 +9089,7 @@ export function renderBacklogHtml() {
7521
9089
  if (parentId !== '') {
7522
9090
  const parent = snapshot?.items?.find((candidate) => candidate.id === parentId);
7523
9091
  parts.push('<div class="detail-section hierarchy-parent" data-testid="hierarchy-parent">' +
7524
- '<h3>Родитель</h3>' +
9092
+ '<h3>' + escapeHtml(t('drawer.section.parent')) + '</h3>' +
7525
9093
  '<div class="hierarchy-panel">' +
7526
9094
  '<button type="button" class="task-atom list-row" data-task-id="' + escapeHtml(parentId) + '">' +
7527
9095
  '<h3>' + escapeHtml(parent?.title ?? parentId) + '</h3>' +
@@ -7544,9 +9112,9 @@ export function renderBacklogHtml() {
7544
9112
  }).join('');
7545
9113
 
7546
9114
  parts.push('<div class="detail-section hierarchy-children" data-testid="hierarchy-children">' +
7547
- '<h3>Подзадачи <span class="count">' + doneCount + '/' + childIds.length + '</span></h3>' +
9115
+ '<h3>' + escapeHtml(t('drawer.section.children')) + ' <span class="count">' + doneCount + '/' + childIds.length + '</span></h3>' +
7548
9116
  (closeBlocked
7549
- ? '<p class="hierarchy-close-gate">Закрытие родителя заблокировано: не все подзадачи завершены.</p>'
9117
+ ? '<p class="hierarchy-close-gate">' + escapeHtml(t('drawer.section.closeBlocked')) + '</p>'
7550
9118
  : '') +
7551
9119
  '<div class="hierarchy-panel">' + childButtons + '</div></div>');
7552
9120
  }
@@ -7557,18 +9125,18 @@ export function renderBacklogHtml() {
7557
9125
  function buildTaskDetailSections(item) {
7558
9126
  return '<div class="meta">' + renderTags(item).join('') + '</div>' +
7559
9127
  renderParentChildHierarchy(item) +
7560
- renderDetailText('Базис', item.basis) +
7561
- renderDetailText('Вектор', item.vector) +
7562
- renderDetailText('Цель', item.goal) +
9128
+ renderDetailText(t('drawer.section.basis'), item.basis) +
9129
+ renderDetailText(t('drawer.section.vector'), item.vector) +
9130
+ renderDetailText(t('drawer.section.goal'), item.goal) +
7563
9131
  renderPipelineReadOnly(item) +
7564
- renderOptionalDetailAccordion('Зависимости', item.dependsOn, 'list') +
7565
- renderOptionalDetailAccordion('Проверки', item.checks, 'list') +
7566
- renderOptionalDetailAccordion('Свидетельства', item.evidence, 'list') +
7567
- renderOptionalDetailAccordion('Следующее действие', item.nextAction, 'text') +
7568
- renderOptionalDetailAccordion('Блокер', item.blocker, 'text') +
7569
- renderOptionalDetailAccordion('Трасса файлов', item.targetFiles, 'list') +
7570
- wrapDetailAccordion('Память',
7571
- '<button type="button" class="detail-link-btn" data-action="open-memory-for-task" data-work-id="' + escapeHtml(item.id) + '" data-testid="open-memory-for-task">Память по work.id</button>',
9132
+ renderOptionalDetailAccordion(t('drawer.section.dependencies'), item.dependsOn, 'list') +
9133
+ renderOptionalDetailAccordion(t('drawer.section.checks'), item.checks, 'list') +
9134
+ renderOptionalDetailAccordion(t('drawer.section.evidence'), item.evidence, 'list') +
9135
+ renderOptionalDetailAccordion(t('drawer.section.nextAction'), item.nextAction, 'text') +
9136
+ renderOptionalDetailAccordion(t('drawer.section.blocker'), item.blocker, 'text') +
9137
+ renderOptionalDetailAccordion(t('drawer.section.targetFiles'), item.targetFiles, 'list') +
9138
+ wrapDetailAccordion(t('drawer.section.memory'),
9139
+ '<button type="button" class="detail-link-btn" data-action="open-memory-for-task" data-work-id="' + escapeHtml(item.id) + '" data-testid="open-memory-for-task">' + escapeHtml(t('drawer.section.memoryLink')) + '</button>',
7572
9140
  { required: true });
7573
9141
  }
7574
9142
 
@@ -7596,7 +9164,7 @@ export function renderBacklogHtml() {
7596
9164
  parts.push(renderPipelineProse(decision));
7597
9165
  }
7598
9166
 
7599
- return wrapDetailAccordion('Анализ и решение', parts.join(''), {
9167
+ return wrapDetailAccordion(t('drawer.section.analysisDecision'), parts.join(''), {
7600
9168
  testid: options.testid ?? 'work-pipeline-panel',
7601
9169
  dataWorkId: options.dataWorkId ?? source.id,
7602
9170
  className: 'pipeline-readonly',
@@ -7639,8 +9207,9 @@ export function renderBacklogHtml() {
7639
9207
  return renderUiReferencesPanel(payload);
7640
9208
  }
7641
9209
 
7642
- function bindUiReferenceActions(item) {
7643
- const panel = detailBody.querySelector('[data-testid="ui-refs-panel"]');
9210
+ function bindUiReferenceActions(item, options = {}) {
9211
+ const root = options.root ?? detailBody;
9212
+ const panel = root.querySelector('[data-testid="ui-refs-panel"]');
7644
9213
  if (!panel) return;
7645
9214
 
7646
9215
  const fileInput = panel.querySelector('[data-testid="ui-ref-file-input"]');
@@ -7694,13 +9263,14 @@ export function renderBacklogHtml() {
7694
9263
  }
7695
9264
 
7696
9265
  activeView = 'memory';
7697
- localStorage.setItem('iohasc.workgraph.activeView', activeView);
9266
+ localStorage.setItem(viewStorageKey, activeView);
7698
9267
  search.value = 'work:' + normalizedWorkId;
7699
- setActiveView('memory');
7700
- ensureViewData('memory').then(() => {
7701
- renderMemoryPanel();
9268
+ applyView(activeView);
9269
+ ensureLazyViewData('memory').then(() => {
9270
+ render();
7702
9271
  }).catch((error) => {
7703
9272
  console.error(error);
9273
+ render();
7704
9274
  });
7705
9275
  }
7706
9276
 
@@ -7751,6 +9321,14 @@ export function renderBacklogHtml() {
7751
9321
  detailTitle.textContent = item.title || item.id;
7752
9322
  detailId.textContent = item.id;
7753
9323
  detailInspectorState = { workId: item.id, draft: null, mode };
9324
+ detailBody.dataset.remoteStatus = item.status ?? '';
9325
+ detailStack.reset();
9326
+ detailStack.push({
9327
+ type: 'task',
9328
+ key: item.id,
9329
+ title: item.title || item.id,
9330
+ payload: { workId: item.id },
9331
+ });
7754
9332
  renderTaskDetailContent(item, { parentContext, mode }).catch((error) => {
7755
9333
  detailBody.innerHTML = '<div class="error">' + escapeHtml(error.message) + '</div>';
7756
9334
  });
@@ -7758,31 +9336,54 @@ export function renderBacklogHtml() {
7758
9336
  detailClose.focus();
7759
9337
  }
7760
9338
 
7761
- async function renderTaskDetailContent(item, { parentContext = null, mode = 'view' } = {}) {
9339
+ async function renderTaskDetailContent(item, { parentContext = null, mode = 'view', targetBody = null, subDrawer = false } = {}) {
9340
+ const body = targetBody ?? detailBody;
9341
+ const renderBackButton = subDrawer ? renderDetailSubBackButton : renderDetailBackButton;
9342
+ const bindBack = subDrawer ? bindDetailSubNavBack : bindDetailNavBack;
9343
+ const effectiveMode = subDrawer ? 'view' : mode;
9344
+
7762
9345
  let backRow = '';
7763
9346
  let backHandler = null;
7764
9347
  if (parentContext?.type === 'block') {
7765
9348
  const block = architectureSnapshot?.blocks?.find((candidate) => candidate.id === parentContext.blockId);
7766
- backRow = renderDetailBackButton('← ' + (block?.title || block?.id || 'Блок'));
9349
+ backRow = renderBackButton('← ' + (block?.title || block?.id || 'Блок'));
7767
9350
  backHandler = () => {
9351
+ if (subDrawer) {
9352
+ popDetailStackNavigation();
9353
+ if (block) openBlockDetails(block, { resetNav: false });
9354
+ return;
9355
+ }
7768
9356
  if (block) openBlockDetails(block, { resetNav: false });
7769
9357
  };
7770
9358
  } else if (parentContext?.type === 'analytics') {
7771
9359
  const record = (analyticsProjection?.records ?? []).find((candidate) => candidate.id === parentContext.recordId);
7772
- backRow = renderDetailBackButton('← ' + (record?.key || record?.title || 'Аналитика'));
9360
+ backRow = renderBackButton('← ' + (record?.key || record?.title || 'Аналитика'));
7773
9361
  backHandler = () => {
9362
+ if (subDrawer) {
9363
+ popDetailStackNavigation();
9364
+ return;
9365
+ }
7774
9366
  if (record) openAnalyticsRecordDetails(record);
7775
9367
  };
9368
+ } else if (parentContext?.type === 'task') {
9369
+ backRow = renderBackButton('← ' + (parentContext.title || parentContext.taskId || t('drawer.back.task')));
9370
+ backHandler = () => {
9371
+ if (subDrawer) {
9372
+ popDetailStackNavigation();
9373
+ return;
9374
+ }
9375
+ detailClose?.focus();
9376
+ };
7776
9377
  }
7777
9378
 
7778
- if (mode === 'edit') {
9379
+ if (effectiveMode === 'edit') {
7779
9380
  const response = await fetch('/api/atom-inspector/draft?workId=' + encodeURIComponent(item.id));
7780
9381
  const payload = await response.json();
7781
9382
  if (!response.ok) {
7782
9383
  throw new Error(payload.message || payload.error || ('HTTP ' + response.status));
7783
9384
  }
7784
9385
  detailInspectorState.draft = payload.draft;
7785
- detailBody.innerHTML = backRow +
9386
+ body.innerHTML = backRow +
7786
9387
  renderDetailToolbar('edit') +
7787
9388
  renderAtomInspectorForm(payload) +
7788
9389
  '<pre id="atom-inspector-preview" class="atom-inspector-preview" data-testid="atom-inspector-preview"></pre>' +
@@ -7808,20 +9409,24 @@ export function renderBacklogHtml() {
7808
9409
  ),
7809
9410
  ]);
7810
9411
 
7811
- detailBody.innerHTML = backRow +
7812
- renderDetailToolbar('view') +
9412
+ body.innerHTML = backRow +
9413
+ (subDrawer ? '' : renderDetailToolbar('view')) +
7813
9414
  buildTaskDetailSections(item) +
7814
9415
  wrapDetailAccordion('UI-референсы', uiRefsSection, { testid: 'ui-refs-accordion' }) +
7815
9416
  wrapDetailAccordion('Evidence timeline', timelineSection, { testid: 'evidence-timeline-accordion' }) +
7816
9417
  wrapDetailAccordion('Trace связи', linkageSection, { testid: 'linkage-drilldown-accordion' }) +
7817
9418
  wrapDetailAccordion('PVRG область', pvrgSection, { testid: 'pvrg-task-scope-accordion' }) +
7818
- renderDetailPromoteRow(item);
9419
+ (subDrawer ? '' : renderDetailPromoteRow(item));
7819
9420
  }
7820
9421
 
7821
- if (backHandler) bindDetailNavBack(backHandler);
7822
- bindDetailToolbar(item);
7823
- bindUiReferenceActions(item);
7824
- detailBody.querySelectorAll('[data-action="open-memory-for-task"]').forEach((button) => {
9422
+ if (backHandler) bindBack(backHandler);
9423
+ if (!subDrawer) {
9424
+ bindDetailToolbar(item);
9425
+ bindUiReferenceActions(item);
9426
+ } else {
9427
+ bindUiReferenceActions(item, { root: body });
9428
+ }
9429
+ body.querySelectorAll('[data-action="open-memory-for-task"]').forEach((button) => {
7825
9430
  button.addEventListener('click', () => {
7826
9431
  openMemoryPanelForTask(button.dataset.workId);
7827
9432
  });
@@ -7871,15 +9476,23 @@ export function renderBacklogHtml() {
7871
9476
  function renderAtomInspectorForm(payload) {
7872
9477
  const draft = payload.draft ?? {};
7873
9478
  const labels = draft.labels ?? {};
9479
+ const lang = resolveAtomInspectorLang(draft);
9480
+ const warnings = Array.isArray(payload.warnings) ? payload.warnings : [];
9481
+ const warningHtml = warnings.length > 0
9482
+ ? '<div class="atom-inspector-warnings" data-testid="atom-inspector-warnings">' +
9483
+ warnings.map((entry) => '<div>' + escapeHtml(typeof entry === 'string' ? entry : (entry.message || String(entry))) + '</div>').join('') +
9484
+ '</div>'
9485
+ : '';
7874
9486
  const statusOptions = workItemStatusOptions.map((status) =>
7875
9487
  '<option value="' + escapeHtml(status) + '"' + (labels['work.status'] === status ? ' selected' : '') + '>' + escapeHtml(status) + '</option>'
7876
9488
  ).join('');
7877
9489
 
7878
9490
  return '<form id="atom-inspector-form" class="atom-inspector-form" data-testid="atom-inspector-form">' +
7879
- '<div class="atom-inspector-field"><label>Atom name</label><input name="name" value="' + escapeHtml(draft.name ?? '') + '" readonly></div>' +
7880
- '<div class="atom-inspector-field"><label>Базис</label><textarea name="basis">' + escapeHtml((draft.basis ?? []).join('\\n')) + '</textarea></div>' +
7881
- '<div class="atom-inspector-field"><label>Вектор</label><textarea name="vector">' + escapeHtml((draft.vector ?? []).join('\\n')) + '</textarea></div>' +
7882
- '<div class="atom-inspector-field"><label>Цель</label><textarea name="goal">' + escapeHtml((draft.goal ?? []).join('\\n')) + '</textarea></div>' +
9491
+ warningHtml +
9492
+ '<div class="atom-inspector-field"><label>Atom name<span class="atom-inspector-lang-badge" data-testid="atom-inspector-lang-badge">' + escapeHtml(lang) + '</span></label><input name="name" value="' + escapeHtml(draft.name ?? '') + '" readonly></div>' +
9493
+ '<div class="atom-inspector-field"><label>' + escapeHtml(atomSectionTitle(lang, 'basis')) + '</label><textarea name="basis">' + escapeHtml((draft.basis ?? []).join('\\n')) + '</textarea></div>' +
9494
+ '<div class="atom-inspector-field"><label>' + escapeHtml(atomSectionTitle(lang, 'vector')) + '</label><textarea name="vector">' + escapeHtml((draft.vector ?? []).join('\\n')) + '</textarea></div>' +
9495
+ '<div class="atom-inspector-field"><label>' + escapeHtml(atomSectionTitle(lang, 'goal')) + '</label><textarea name="goal">' + escapeHtml((draft.goal ?? []).join('\\n')) + '</textarea></div>' +
7883
9496
  '<div class="atom-inspector-field"><label>work.status</label><select name="work.status">' + statusOptions + '</select></div>' +
7884
9497
  '<div class="atom-inspector-field"><label>work.owner_role</label><input name="work.owner_role" value="' + escapeHtml(labels['work.owner_role'] ?? '') + '"></div>' +
7885
9498
  '<div class="atom-inspector-field"><label>work.department</label><input name="work.department" value="' + escapeHtml(labels['work.department'] ?? '') + '"></div>' +
@@ -7889,8 +9502,8 @@ export function renderBacklogHtml() {
7889
9502
  '<div class="atom-inspector-field"><label>work.blocker</label><input name="work.blocker" value="' + escapeHtml(labels['work.blocker'] ?? '') + '"></div>' +
7890
9503
  '<div class="atom-inspector-field"><label>work.depends_on</label><input name="work.depends_on" value="' + escapeHtml(labels['work.depends_on'] ?? '') + '"></div>' +
7891
9504
  '<div class="atom-inspector-field"><label>work.target_files</label><input name="work.target_files" value="' + escapeHtml(labels['work.target_files'] ?? '') + '"></div>' +
7892
- '<div class="atom-inspector-field"><label>Проверки</label><textarea name="checks">' + escapeHtml((draft.checks ?? []).join('\\n')) + '</textarea></div>' +
7893
- '<div class="atom-inspector-field"><label>Свидетельства</label><textarea name="evidence">' + escapeHtml((draft.evidence ?? []).join('\\n')) + '</textarea></div>' +
9505
+ '<div class="atom-inspector-field"><label>' + escapeHtml(atomSectionTitle(lang, 'checks')) + '</label><textarea name="checks">' + escapeHtml((draft.checks ?? []).join('\\n')) + '</textarea></div>' +
9506
+ '<div class="atom-inspector-field"><label>' + escapeHtml(atomSectionTitle(lang, 'evidence')) + '</label><textarea name="evidence">' + escapeHtml((draft.evidence ?? []).join('\\n')) + '</textarea></div>' +
7894
9507
  '<div class="atom-inspector-actions">' +
7895
9508
  '<button type="button" data-action="proposal" data-testid="atom-inspector-propose">Preview proposal</button>' +
7896
9509
  '<button type="button" data-action="apply" data-testid="atom-inspector-apply">Apply to backlog</button>' +
@@ -7997,7 +9610,7 @@ export function renderBacklogHtml() {
7997
9610
  }
7998
9611
 
7999
9612
  function closeTaskDetails() {
8000
- closeL2NodeDetails();
9613
+ closeDetailStackFully();
8001
9614
  detailDrawer.classList.remove('is-open');
8002
9615
  detailOverlay.classList.remove('is-open');
8003
9616
  detailDrawer.setAttribute('aria-hidden', 'true');
@@ -8109,10 +9722,10 @@ export function renderBacklogHtml() {
8109
9722
  }
8110
9723
 
8111
9724
  function renderSemanticCore(item) {
8112
- if (!item.vector) return '';
9725
+ if (!item.goal) return '';
8113
9726
 
8114
- return '<section class="semantic-core" aria-label="Семантическое ядро атома">' +
8115
- '<div class="semantic-line">' + escapeHtml(preview(item.vector)) + '</div>' +
9727
+ return '<section class="semantic-core" aria-label="Цель задачи">' +
9728
+ '<div class="semantic-line">' + escapeHtml(preview(item.goal)) + '</div>' +
8116
9729
  '</section>';
8117
9730
  }
8118
9731
 
@@ -8148,22 +9761,22 @@ export function renderBacklogHtml() {
8148
9761
  '</div>';
8149
9762
  }
8150
9763
 
8151
- function renderIssueFooter(item, { queueKind = null } = {}) {
8152
- const statusBadge = (item.status || queueKind)
8153
- ? renderStatusBadge(item.status, queueKind)
8154
- : '';
8155
- const leftTags = '<span class="id">' + escapeHtml(item.key || issueKey(item.id)) + '</span>' + statusBadge;
9764
+ function renderIssueFooter(item, { queueKind = null, surface = 'default' } = {}) {
9765
+ const secondaryBadge = surface === 'board'
9766
+ ? renderWorkItemClassifierBadge(item)
9767
+ : ((item.status || queueKind) ? renderStatusBadge(item.status, queueKind) : '');
9768
+ const leftTags = renderWorkItemIssueKeyChip(item) + secondaryBadge;
8156
9769
  const owner = item.ownerRole || item.department || 'WG';
8157
9770
  return '<div class="issue-footer">' +
8158
9771
  '<div class="issue-footer-left">' + leftTags + '</div>' +
8159
- '<div class="issue-footer-right"><span class="owner-avatar" title="' + escapeHtml(owner) + '">' + escapeHtml(ownerInitials(owner)) + '</span></div>' +
9772
+ '<div class="issue-footer-right">' + renderOwnerAvatar(owner, { title: owner }) + '</div>' +
8160
9773
  '</div>';
8161
9774
  }
8162
9775
 
8163
9776
  function renderStatusBadge(status, queueKind = null) {
8164
9777
  if (queueKind === 'planned') {
8165
9778
  return renderClientUiBadge({
8166
- label: 'в плане',
9779
+ label: t('status.planned'),
8167
9780
  tone: 'accent',
8168
9781
  title: 'backlog, зависимости выполнены',
8169
9782
  testId: 'status-planned',
@@ -8231,17 +9844,6 @@ export function renderBacklogHtml() {
8231
9844
  return normalized.length > 110 ? normalized.slice(0, 107) + '...' : normalized;
8232
9845
  }
8233
9846
 
8234
- function issueKey(id) {
8235
- const normalized = String(id || '').replace(/[^a-zA-Z0-9]+/g, '-').replace(/^-|-$/g, '').toUpperCase();
8236
- return normalized || 'WG';
8237
- }
8238
-
8239
- function ownerInitials(value) {
8240
- const words = String(value || 'WG').split(/[^a-zA-Zа-яА-Я0-9]+/).filter(Boolean);
8241
- const initials = words.slice(0, 2).map((word) => word[0]).join('').toUpperCase();
8242
- return initials || 'WG';
8243
- }
8244
-
8245
9847
  function countByStatus(items) {
8246
9848
  return items.reduce((counts, item) => {
8247
9849
  counts[item.status] = (counts[item.status] || 0) + 1;
@@ -8252,15 +9854,6 @@ export function renderBacklogHtml() {
8252
9854
  function countGroupItems(counts, group) {
8253
9855
  return group.statuses.reduce((sum, status) => sum + (counts[status] || 0), 0);
8254
9856
  }
8255
-
8256
- function escapeHtml(value) {
8257
- return String(value)
8258
- .replace(/&/g, '&amp;')
8259
- .replace(/</g, '&lt;')
8260
- .replace(/>/g, '&gt;')
8261
- .replace(/"/g, '&quot;')
8262
- .replace(/'/g, '&#39;');
8263
- }
8264
9857
  </script>
8265
9858
  </body>
8266
9859
  </html>`;
@@ -8272,6 +9865,7 @@ export function createBacklogUiServer(options = {}) {
8272
9865
  const journalPath = options.journalPath ?? 'work/worker-runs.jsonl';
8273
9866
  const auditPath = options.auditPath ?? 'work/daemon-audit.jsonl';
8274
9867
  const pathOptions = { backlogPath, journalPath, auditPath };
9868
+ const uiEventsHub = createBacklogUiEventsHub();
8275
9869
  let hostReady = ensureHostStateInitialized(hostState, {
8276
9870
  hostLabel: options.hostLabel ?? 'Work Graph',
8277
9871
  });
@@ -8284,6 +9878,10 @@ export function createBacklogUiServer(options = {}) {
8284
9878
  const cwd = requestCtx.repoRoot;
8285
9879
  const serverOptions = { cwd, backlogPath, journalPath, auditPath };
8286
9880
 
9881
+ if (handlePublicSiteRequest(request, response, url)) {
9882
+ return;
9883
+ }
9884
+
8287
9885
  if (url.pathname === '/api/prompt-rules-projection' && method === 'GET') {
8288
9886
  try {
8289
9887
  const ruleId = url.searchParams.get('ruleId') ?? url.searchParams.get('id') ?? undefined;
@@ -8815,6 +10413,23 @@ export function createBacklogUiServer(options = {}) {
8815
10413
  return;
8816
10414
  }
8817
10415
 
10416
+ if (url.pathname === '/api/ui-locale' && method === 'POST') {
10417
+ try {
10418
+ const rawBody = await readRequestBody(request);
10419
+ const body = rawBody ? JSON.parse(rawBody) : {};
10420
+ const locale = resolveUiLocale({ queryLocale: body.locale });
10421
+ sendJson(response, 200, { ok: true, locale }, {
10422
+ 'Set-Cookie': `${UI_LOCALE_COOKIE}=${encodeURIComponent(locale)}; Path=/; Max-Age=31536000; SameSite=Lax`,
10423
+ });
10424
+ } catch (error) {
10425
+ sendJson(response, 422, {
10426
+ error: 'failed_to_set_ui_locale',
10427
+ message: error instanceof Error ? error.message : String(error),
10428
+ });
10429
+ }
10430
+ return;
10431
+ }
10432
+
8818
10433
  if (method !== 'GET') {
8819
10434
  sendText(response, 405, 'Method Not Allowed');
8820
10435
  return;
@@ -8850,6 +10465,50 @@ export function createBacklogUiServer(options = {}) {
8850
10465
  return;
8851
10466
  }
8852
10467
 
10468
+ if (url.pathname === '/api/backlog-revision' && method === 'GET') {
10469
+ try {
10470
+ const items = await readWorkItemsFromRepo({ cwd, backlogPath });
10471
+ sendJson(response, 200, computeBacklogRevision(items));
10472
+ } catch (error) {
10473
+ sendJson(response, 500, {
10474
+ error: 'failed_to_compute_backlog_revision',
10475
+ message: error instanceof Error ? error.message : String(error),
10476
+ });
10477
+ }
10478
+ return;
10479
+ }
10480
+
10481
+ if (url.pathname === '/api/ui-events/stream' && method === 'GET') {
10482
+ try {
10483
+ await uiEventsHub.ensureStarted({ cwd, backlogPath });
10484
+ uiEventsHub.handleSse(request, response);
10485
+ } catch (error) {
10486
+ sendJson(response, 500, {
10487
+ error: 'failed_to_open_ui_events_stream',
10488
+ message: error instanceof Error ? error.message : String(error),
10489
+ });
10490
+ }
10491
+ return;
10492
+ }
10493
+
10494
+ if (url.pathname === '/api/app-version' && method === 'GET') {
10495
+ try {
10496
+ const checkUpdate = url.searchParams.get('checkUpdate') === '1'
10497
+ || url.searchParams.get('checkUpdate') === 'true';
10498
+ const payload = await buildAppVersionResponse({
10499
+ cwd,
10500
+ checkUpdate,
10501
+ });
10502
+ sendJson(response, 200, payload);
10503
+ } catch (error) {
10504
+ sendJson(response, 500, {
10505
+ error: 'failed_to_read_app_version',
10506
+ message: error instanceof Error ? error.message : String(error),
10507
+ });
10508
+ }
10509
+ return;
10510
+ }
10511
+
8853
10512
  if (url.pathname === '/api/snapshot') {
8854
10513
  try {
8855
10514
  const snapshot = await readBacklogSnapshot({ cwd, backlogPath });
@@ -9025,6 +10684,13 @@ export function createBacklogUiServer(options = {}) {
9025
10684
  return;
9026
10685
  }
9027
10686
 
10687
+ if (tryServePublicIconsAsset(url, response)) {
10688
+ return;
10689
+ }
10690
+ if (tryServePublicAvatarsAsset(url, response)) {
10691
+ return;
10692
+ }
10693
+
9028
10694
  if (url.pathname === '/favicon.ico' && method === 'GET') {
9029
10695
  response.writeHead(204);
9030
10696
  response.end();
@@ -9106,8 +10772,13 @@ export function createBacklogUiServer(options = {}) {
9106
10772
  return;
9107
10773
  }
9108
10774
 
9109
- if (url.pathname === '/' || url.pathname === '/index.html') {
9110
- sendHtml(response, 200, renderBacklogHtml());
10775
+ if (url.pathname === '/app' || url.pathname === '/app/' || url.pathname === '/app/index.html') {
10776
+ const locale = resolveUiLocale({
10777
+ cookieHeader: request.headers.cookie,
10778
+ acceptLanguage: request.headers['accept-language'],
10779
+ queryLocale: url.searchParams.get('locale'),
10780
+ });
10781
+ sendHtml(response, 200, renderBacklogHtml({ locale }));
9111
10782
  return;
9112
10783
  }
9113
10784
 
@@ -9131,10 +10802,11 @@ export async function startBacklogUiServer(options = {}) {
9131
10802
  return { server, host, port };
9132
10803
  }
9133
10804
 
9134
- function sendJson(response, statusCode, payload) {
10805
+ function sendJson(response, statusCode, payload, extraHeaders = {}) {
9135
10806
  response.writeHead(statusCode, {
9136
10807
  'content-type': 'application/json; charset=utf-8',
9137
10808
  'cache-control': 'no-store',
10809
+ ...extraHeaders,
9138
10810
  });
9139
10811
  response.end(`${JSON.stringify(payload, null, 2)}\n`);
9140
10812
  }