@atproto/api 0.14.0-next.3 → 0.14.0-next.5

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 (502) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/README.md +1 -1
  3. package/dist/agent.d.ts +4 -0
  4. package/dist/agent.d.ts.map +1 -1
  5. package/dist/agent.js +10 -9
  6. package/dist/agent.js.map +1 -1
  7. package/dist/atp-agent.d.ts.map +1 -1
  8. package/dist/atp-agent.js +1 -0
  9. package/dist/atp-agent.js.map +1 -1
  10. package/dist/client/index.d.ts +457 -426
  11. package/dist/client/index.d.ts.map +1 -1
  12. package/dist/client/index.js +344 -281
  13. package/dist/client/index.js.map +1 -1
  14. package/dist/client/lexicons.d.ts +310 -10
  15. package/dist/client/lexicons.d.ts.map +1 -1
  16. package/dist/client/lexicons.js +167 -6
  17. package/dist/client/lexicons.js.map +1 -1
  18. package/dist/client/types/app/bsky/actor/defs.d.ts +3 -3
  19. package/dist/client/types/app/bsky/actor/defs.d.ts.map +1 -1
  20. package/dist/client/types/app/bsky/actor/getPreferences.d.ts +1 -1
  21. package/dist/client/types/app/bsky/actor/getPreferences.d.ts.map +1 -1
  22. package/dist/client/types/app/bsky/actor/getProfile.d.ts +1 -1
  23. package/dist/client/types/app/bsky/actor/getProfile.d.ts.map +1 -1
  24. package/dist/client/types/app/bsky/actor/getProfiles.d.ts +1 -1
  25. package/dist/client/types/app/bsky/actor/getProfiles.d.ts.map +1 -1
  26. package/dist/client/types/app/bsky/actor/getSuggestions.d.ts +3 -1
  27. package/dist/client/types/app/bsky/actor/getSuggestions.d.ts.map +1 -1
  28. package/dist/client/types/app/bsky/actor/getSuggestions.js.map +1 -1
  29. package/dist/client/types/app/bsky/actor/profile.d.ts +2 -2
  30. package/dist/client/types/app/bsky/actor/profile.d.ts.map +1 -1
  31. package/dist/client/types/app/bsky/actor/putPreferences.d.ts +1 -1
  32. package/dist/client/types/app/bsky/actor/putPreferences.d.ts.map +1 -1
  33. package/dist/client/types/app/bsky/actor/searchActors.d.ts +1 -1
  34. package/dist/client/types/app/bsky/actor/searchActors.d.ts.map +1 -1
  35. package/dist/client/types/app/bsky/actor/searchActorsTypeahead.d.ts +1 -1
  36. package/dist/client/types/app/bsky/actor/searchActorsTypeahead.d.ts.map +1 -1
  37. package/dist/client/types/app/bsky/embed/images.d.ts +1 -1
  38. package/dist/client/types/app/bsky/embed/images.d.ts.map +1 -1
  39. package/dist/client/types/app/bsky/embed/record.d.ts +10 -10
  40. package/dist/client/types/app/bsky/embed/record.d.ts.map +1 -1
  41. package/dist/client/types/app/bsky/embed/recordWithMedia.d.ts +4 -4
  42. package/dist/client/types/app/bsky/embed/recordWithMedia.d.ts.map +1 -1
  43. package/dist/client/types/app/bsky/embed/video.d.ts +1 -1
  44. package/dist/client/types/app/bsky/embed/video.d.ts.map +1 -1
  45. package/dist/client/types/app/bsky/feed/defs.d.ts +22 -9
  46. package/dist/client/types/app/bsky/feed/defs.d.ts.map +1 -1
  47. package/dist/client/types/app/bsky/feed/defs.js +14 -1
  48. package/dist/client/types/app/bsky/feed/defs.js.map +1 -1
  49. package/dist/client/types/app/bsky/feed/detach.d.ts +15 -0
  50. package/dist/client/types/app/bsky/feed/detach.d.ts.map +1 -0
  51. package/dist/client/types/app/bsky/feed/detach.js +17 -0
  52. package/dist/client/types/app/bsky/feed/detach.js.map +1 -0
  53. package/dist/client/types/app/bsky/feed/generator.d.ts +3 -2
  54. package/dist/client/types/app/bsky/feed/generator.d.ts.map +1 -1
  55. package/dist/client/types/app/bsky/feed/generator.js.map +1 -1
  56. package/dist/client/types/app/bsky/feed/getActorFeeds.d.ts +1 -1
  57. package/dist/client/types/app/bsky/feed/getActorFeeds.d.ts.map +1 -1
  58. package/dist/client/types/app/bsky/feed/getActorLikes.d.ts +1 -1
  59. package/dist/client/types/app/bsky/feed/getActorLikes.d.ts.map +1 -1
  60. package/dist/client/types/app/bsky/feed/getAuthorFeed.d.ts +2 -2
  61. package/dist/client/types/app/bsky/feed/getAuthorFeed.d.ts.map +1 -1
  62. package/dist/client/types/app/bsky/feed/getAuthorFeed.js.map +1 -1
  63. package/dist/client/types/app/bsky/feed/getFeed.d.ts +1 -1
  64. package/dist/client/types/app/bsky/feed/getFeed.d.ts.map +1 -1
  65. package/dist/client/types/app/bsky/feed/getFeedGenerator.d.ts +1 -1
  66. package/dist/client/types/app/bsky/feed/getFeedGenerator.d.ts.map +1 -1
  67. package/dist/client/types/app/bsky/feed/getFeedGenerators.d.ts +1 -1
  68. package/dist/client/types/app/bsky/feed/getFeedGenerators.d.ts.map +1 -1
  69. package/dist/client/types/app/bsky/feed/getFeedSkeleton.d.ts +1 -1
  70. package/dist/client/types/app/bsky/feed/getFeedSkeleton.d.ts.map +1 -1
  71. package/dist/client/types/app/bsky/feed/getLikes.d.ts +1 -1
  72. package/dist/client/types/app/bsky/feed/getLikes.d.ts.map +1 -1
  73. package/dist/client/types/app/bsky/feed/getListFeed.d.ts +1 -1
  74. package/dist/client/types/app/bsky/feed/getListFeed.d.ts.map +1 -1
  75. package/dist/client/types/app/bsky/feed/getPostThread.d.ts +1 -1
  76. package/dist/client/types/app/bsky/feed/getPostThread.d.ts.map +1 -1
  77. package/dist/client/types/app/bsky/feed/getPosts.d.ts +1 -1
  78. package/dist/client/types/app/bsky/feed/getPosts.d.ts.map +1 -1
  79. package/dist/client/types/app/bsky/feed/getQuotes.d.ts +1 -1
  80. package/dist/client/types/app/bsky/feed/getQuotes.d.ts.map +1 -1
  81. package/dist/client/types/app/bsky/feed/getRepostedBy.d.ts +1 -1
  82. package/dist/client/types/app/bsky/feed/getRepostedBy.d.ts.map +1 -1
  83. package/dist/client/types/app/bsky/feed/getSuggestedFeeds.d.ts +1 -1
  84. package/dist/client/types/app/bsky/feed/getSuggestedFeeds.d.ts.map +1 -1
  85. package/dist/client/types/app/bsky/feed/getTimeline.d.ts +1 -1
  86. package/dist/client/types/app/bsky/feed/getTimeline.d.ts.map +1 -1
  87. package/dist/client/types/app/bsky/feed/like.d.ts +1 -1
  88. package/dist/client/types/app/bsky/feed/like.d.ts.map +1 -1
  89. package/dist/client/types/app/bsky/feed/post.d.ts +8 -8
  90. package/dist/client/types/app/bsky/feed/post.d.ts.map +1 -1
  91. package/dist/client/types/app/bsky/feed/repost.d.ts +1 -1
  92. package/dist/client/types/app/bsky/feed/repost.d.ts.map +1 -1
  93. package/dist/client/types/app/bsky/feed/searchPosts.d.ts +1 -1
  94. package/dist/client/types/app/bsky/feed/searchPosts.d.ts.map +1 -1
  95. package/dist/client/types/app/bsky/feed/sendInteractions.d.ts +1 -1
  96. package/dist/client/types/app/bsky/feed/sendInteractions.d.ts.map +1 -1
  97. package/dist/client/types/app/bsky/graph/defs.d.ts +4 -4
  98. package/dist/client/types/app/bsky/graph/defs.d.ts.map +1 -1
  99. package/dist/client/types/app/bsky/graph/getActorStarterPacks.d.ts +1 -1
  100. package/dist/client/types/app/bsky/graph/getActorStarterPacks.d.ts.map +1 -1
  101. package/dist/client/types/app/bsky/graph/getBlocks.d.ts +1 -1
  102. package/dist/client/types/app/bsky/graph/getBlocks.d.ts.map +1 -1
  103. package/dist/client/types/app/bsky/graph/getFollowers.d.ts +1 -1
  104. package/dist/client/types/app/bsky/graph/getFollowers.d.ts.map +1 -1
  105. package/dist/client/types/app/bsky/graph/getFollows.d.ts +1 -1
  106. package/dist/client/types/app/bsky/graph/getFollows.d.ts.map +1 -1
  107. package/dist/client/types/app/bsky/graph/getKnownFollowers.d.ts +1 -1
  108. package/dist/client/types/app/bsky/graph/getKnownFollowers.d.ts.map +1 -1
  109. package/dist/client/types/app/bsky/graph/getList.d.ts +1 -1
  110. package/dist/client/types/app/bsky/graph/getList.d.ts.map +1 -1
  111. package/dist/client/types/app/bsky/graph/getListBlocks.d.ts +1 -1
  112. package/dist/client/types/app/bsky/graph/getListBlocks.d.ts.map +1 -1
  113. package/dist/client/types/app/bsky/graph/getListMutes.d.ts +1 -1
  114. package/dist/client/types/app/bsky/graph/getListMutes.d.ts.map +1 -1
  115. package/dist/client/types/app/bsky/graph/getLists.d.ts +1 -1
  116. package/dist/client/types/app/bsky/graph/getLists.d.ts.map +1 -1
  117. package/dist/client/types/app/bsky/graph/getMutes.d.ts +1 -1
  118. package/dist/client/types/app/bsky/graph/getMutes.d.ts.map +1 -1
  119. package/dist/client/types/app/bsky/graph/getRelationships.d.ts +1 -1
  120. package/dist/client/types/app/bsky/graph/getRelationships.d.ts.map +1 -1
  121. package/dist/client/types/app/bsky/graph/getStarterPack.d.ts +1 -1
  122. package/dist/client/types/app/bsky/graph/getStarterPack.d.ts.map +1 -1
  123. package/dist/client/types/app/bsky/graph/getStarterPacks.d.ts +1 -1
  124. package/dist/client/types/app/bsky/graph/getStarterPacks.d.ts.map +1 -1
  125. package/dist/client/types/app/bsky/graph/getSuggestedFollowsByActor.d.ts +3 -1
  126. package/dist/client/types/app/bsky/graph/getSuggestedFollowsByActor.d.ts.map +1 -1
  127. package/dist/client/types/app/bsky/graph/getSuggestedFollowsByActor.js.map +1 -1
  128. package/dist/client/types/app/bsky/graph/getVouchesAccepted.d.ts +28 -0
  129. package/dist/client/types/app/bsky/graph/getVouchesAccepted.d.ts.map +1 -0
  130. package/dist/client/types/app/bsky/graph/getVouchesAccepted.js +7 -0
  131. package/dist/client/types/app/bsky/graph/getVouchesAccepted.js.map +1 -0
  132. package/dist/client/types/app/bsky/graph/getVouchesGiven.d.ts +37 -0
  133. package/dist/client/types/app/bsky/graph/getVouchesGiven.d.ts.map +1 -0
  134. package/dist/client/types/app/bsky/graph/getVouchesGiven.js +19 -0
  135. package/dist/client/types/app/bsky/graph/getVouchesGiven.js.map +1 -0
  136. package/dist/client/types/app/bsky/graph/getVouchesOffered.d.ts +26 -0
  137. package/dist/client/types/app/bsky/graph/getVouchesOffered.d.ts.map +1 -0
  138. package/dist/client/types/app/bsky/graph/getVouchesOffered.js +7 -0
  139. package/dist/client/types/app/bsky/graph/getVouchesOffered.js.map +1 -0
  140. package/dist/client/types/app/bsky/graph/getVouchesPending.d.ts +26 -0
  141. package/dist/client/types/app/bsky/graph/getVouchesPending.d.ts.map +1 -0
  142. package/dist/client/types/app/bsky/graph/getVouchesPending.js +7 -0
  143. package/dist/client/types/app/bsky/graph/getVouchesPending.js.map +1 -0
  144. package/dist/client/types/app/bsky/graph/getVouchesReceived.d.ts +27 -0
  145. package/dist/client/types/app/bsky/graph/getVouchesReceived.d.ts.map +1 -0
  146. package/dist/client/types/app/bsky/graph/getVouchesReceived.js +7 -0
  147. package/dist/client/types/app/bsky/graph/getVouchesReceived.js.map +1 -0
  148. package/dist/client/types/app/bsky/graph/list.d.ts +3 -3
  149. package/dist/client/types/app/bsky/graph/list.d.ts.map +1 -1
  150. package/dist/client/types/app/bsky/graph/searchStarterPacks.d.ts +1 -1
  151. package/dist/client/types/app/bsky/graph/searchStarterPacks.d.ts.map +1 -1
  152. package/dist/client/types/app/bsky/graph/starterpack.d.ts +1 -1
  153. package/dist/client/types/app/bsky/graph/starterpack.d.ts.map +1 -1
  154. package/dist/client/types/app/bsky/graph/vouch.d.ts +13 -0
  155. package/dist/client/types/app/bsky/graph/vouch.d.ts.map +1 -0
  156. package/dist/client/types/app/bsky/graph/vouch.js +16 -0
  157. package/dist/client/types/app/bsky/graph/vouch.js.map +1 -0
  158. package/dist/client/types/app/bsky/graph/vouchaccept.d.ts +13 -0
  159. package/dist/client/types/app/bsky/graph/vouchaccept.d.ts.map +1 -0
  160. package/dist/client/types/app/bsky/graph/vouchaccept.js +16 -0
  161. package/dist/client/types/app/bsky/graph/vouchaccept.js.map +1 -0
  162. package/dist/client/types/app/bsky/labeler/defs.d.ts +2 -2
  163. package/dist/client/types/app/bsky/labeler/defs.d.ts.map +1 -1
  164. package/dist/client/types/app/bsky/labeler/getServices.d.ts +1 -1
  165. package/dist/client/types/app/bsky/labeler/getServices.d.ts.map +1 -1
  166. package/dist/client/types/app/bsky/labeler/service.d.ts +2 -2
  167. package/dist/client/types/app/bsky/labeler/service.d.ts.map +1 -1
  168. package/dist/client/types/app/bsky/notification/listNotifications.d.ts +2 -2
  169. package/dist/client/types/app/bsky/notification/listNotifications.d.ts.map +1 -1
  170. package/dist/client/types/app/bsky/unspecced/getPopularFeedGenerators.d.ts +1 -1
  171. package/dist/client/types/app/bsky/unspecced/getPopularFeedGenerators.d.ts.map +1 -1
  172. package/dist/client/types/app/bsky/unspecced/getSuggestionsSkeleton.d.ts +3 -1
  173. package/dist/client/types/app/bsky/unspecced/getSuggestionsSkeleton.d.ts.map +1 -1
  174. package/dist/client/types/app/bsky/unspecced/getSuggestionsSkeleton.js.map +1 -1
  175. package/dist/client/types/app/bsky/unspecced/getTrendingTopics.d.ts +1 -1
  176. package/dist/client/types/app/bsky/unspecced/getTrendingTopics.d.ts.map +1 -1
  177. package/dist/client/types/app/bsky/unspecced/searchActorsSkeleton.d.ts +1 -1
  178. package/dist/client/types/app/bsky/unspecced/searchActorsSkeleton.d.ts.map +1 -1
  179. package/dist/client/types/app/bsky/unspecced/searchPostsSkeleton.d.ts +1 -1
  180. package/dist/client/types/app/bsky/unspecced/searchPostsSkeleton.d.ts.map +1 -1
  181. package/dist/client/types/app/bsky/unspecced/searchStarterPacksSkeleton.d.ts +1 -1
  182. package/dist/client/types/app/bsky/unspecced/searchStarterPacksSkeleton.d.ts.map +1 -1
  183. package/dist/client/types/app/bsky/video/getJobStatus.d.ts +1 -1
  184. package/dist/client/types/app/bsky/video/getJobStatus.d.ts.map +1 -1
  185. package/dist/client/types/app/bsky/video/uploadVideo.d.ts +1 -1
  186. package/dist/client/types/app/bsky/video/uploadVideo.d.ts.map +1 -1
  187. package/dist/client/types/chat/bsky/actor/defs.d.ts +2 -2
  188. package/dist/client/types/chat/bsky/actor/defs.d.ts.map +1 -1
  189. package/dist/client/types/chat/bsky/convo/defs.d.ts +3 -3
  190. package/dist/client/types/chat/bsky/convo/defs.d.ts.map +1 -1
  191. package/dist/client/types/chat/bsky/convo/deleteMessageForSelf.d.ts +1 -1
  192. package/dist/client/types/chat/bsky/convo/deleteMessageForSelf.d.ts.map +1 -1
  193. package/dist/client/types/chat/bsky/convo/getConvo.d.ts +1 -1
  194. package/dist/client/types/chat/bsky/convo/getConvo.d.ts.map +1 -1
  195. package/dist/client/types/chat/bsky/convo/getConvoForMembers.d.ts +1 -1
  196. package/dist/client/types/chat/bsky/convo/getConvoForMembers.d.ts.map +1 -1
  197. package/dist/client/types/chat/bsky/convo/getLog.d.ts +1 -1
  198. package/dist/client/types/chat/bsky/convo/getLog.d.ts.map +1 -1
  199. package/dist/client/types/chat/bsky/convo/getMessages.d.ts +1 -1
  200. package/dist/client/types/chat/bsky/convo/getMessages.d.ts.map +1 -1
  201. package/dist/client/types/chat/bsky/convo/listConvos.d.ts +1 -1
  202. package/dist/client/types/chat/bsky/convo/listConvos.d.ts.map +1 -1
  203. package/dist/client/types/chat/bsky/convo/muteConvo.d.ts +1 -1
  204. package/dist/client/types/chat/bsky/convo/muteConvo.d.ts.map +1 -1
  205. package/dist/client/types/chat/bsky/convo/sendMessage.d.ts +1 -1
  206. package/dist/client/types/chat/bsky/convo/sendMessage.d.ts.map +1 -1
  207. package/dist/client/types/chat/bsky/convo/sendMessageBatch.d.ts +1 -1
  208. package/dist/client/types/chat/bsky/convo/sendMessageBatch.d.ts.map +1 -1
  209. package/dist/client/types/chat/bsky/convo/unmuteConvo.d.ts +1 -1
  210. package/dist/client/types/chat/bsky/convo/unmuteConvo.d.ts.map +1 -1
  211. package/dist/client/types/chat/bsky/convo/updateRead.d.ts +1 -1
  212. package/dist/client/types/chat/bsky/convo/updateRead.d.ts.map +1 -1
  213. package/dist/client/types/chat/bsky/moderation/getMessageContext.d.ts +1 -1
  214. package/dist/client/types/chat/bsky/moderation/getMessageContext.d.ts.map +1 -1
  215. package/dist/client/types/com/atproto/admin/defs.d.ts +1 -1
  216. package/dist/client/types/com/atproto/admin/defs.d.ts.map +1 -1
  217. package/dist/client/types/com/atproto/admin/getAccountInfo.d.ts +1 -1
  218. package/dist/client/types/com/atproto/admin/getAccountInfo.d.ts.map +1 -1
  219. package/dist/client/types/com/atproto/admin/getAccountInfos.d.ts +1 -1
  220. package/dist/client/types/com/atproto/admin/getAccountInfos.d.ts.map +1 -1
  221. package/dist/client/types/com/atproto/admin/getInviteCodes.d.ts +1 -1
  222. package/dist/client/types/com/atproto/admin/getInviteCodes.d.ts.map +1 -1
  223. package/dist/client/types/com/atproto/admin/getSubjectStatus.d.ts +2 -2
  224. package/dist/client/types/com/atproto/admin/getSubjectStatus.d.ts.map +1 -1
  225. package/dist/client/types/com/atproto/admin/searchAccounts.d.ts +1 -1
  226. package/dist/client/types/com/atproto/admin/searchAccounts.d.ts.map +1 -1
  227. package/dist/client/types/com/atproto/admin/updateSubjectStatus.d.ts +2 -2
  228. package/dist/client/types/com/atproto/admin/updateSubjectStatus.d.ts.map +1 -1
  229. package/dist/client/types/com/atproto/label/queryLabels.d.ts +1 -1
  230. package/dist/client/types/com/atproto/label/queryLabels.d.ts.map +1 -1
  231. package/dist/client/types/com/atproto/label/subscribeLabels.d.ts +1 -1
  232. package/dist/client/types/com/atproto/label/subscribeLabels.d.ts.map +1 -1
  233. package/dist/client/types/com/atproto/lexicon/schema.d.ts +14 -0
  234. package/dist/client/types/com/atproto/lexicon/schema.d.ts.map +1 -0
  235. package/dist/client/types/com/atproto/lexicon/schema.js +16 -0
  236. package/dist/client/types/com/atproto/lexicon/schema.js.map +1 -0
  237. package/dist/client/types/com/atproto/moderation/createReport.d.ts +3 -3
  238. package/dist/client/types/com/atproto/moderation/createReport.d.ts.map +1 -1
  239. package/dist/client/types/com/atproto/repo/applyWrites.d.ts +1 -1
  240. package/dist/client/types/com/atproto/repo/applyWrites.d.ts.map +1 -1
  241. package/dist/client/types/com/atproto/repo/createRecord.d.ts +1 -1
  242. package/dist/client/types/com/atproto/repo/createRecord.d.ts.map +1 -1
  243. package/dist/client/types/com/atproto/repo/deleteRecord.d.ts +1 -1
  244. package/dist/client/types/com/atproto/repo/deleteRecord.d.ts.map +1 -1
  245. package/dist/client/types/com/atproto/repo/putRecord.d.ts +1 -1
  246. package/dist/client/types/com/atproto/repo/putRecord.d.ts.map +1 -1
  247. package/dist/client/types/com/atproto/server/getAccountInviteCodes.d.ts +1 -1
  248. package/dist/client/types/com/atproto/server/getAccountInviteCodes.d.ts.map +1 -1
  249. package/dist/client/types/com/atproto/temp/fetchLabels.d.ts +1 -1
  250. package/dist/client/types/com/atproto/temp/fetchLabels.d.ts.map +1 -1
  251. package/dist/client/types/tools/ozone/communication/createTemplate.d.ts +1 -1
  252. package/dist/client/types/tools/ozone/communication/createTemplate.d.ts.map +1 -1
  253. package/dist/client/types/tools/ozone/communication/listTemplates.d.ts +1 -1
  254. package/dist/client/types/tools/ozone/communication/listTemplates.d.ts.map +1 -1
  255. package/dist/client/types/tools/ozone/communication/updateTemplate.d.ts +1 -1
  256. package/dist/client/types/tools/ozone/communication/updateTemplate.d.ts.map +1 -1
  257. package/dist/client/types/tools/ozone/moderation/defs.d.ts +48 -6
  258. package/dist/client/types/tools/ozone/moderation/defs.d.ts.map +1 -1
  259. package/dist/client/types/tools/ozone/moderation/defs.js +18 -0
  260. package/dist/client/types/tools/ozone/moderation/defs.js.map +1 -1
  261. package/dist/client/types/tools/ozone/moderation/emitEvent.d.ts +3 -3
  262. package/dist/client/types/tools/ozone/moderation/emitEvent.d.ts.map +1 -1
  263. package/dist/client/types/tools/ozone/moderation/getEvent.d.ts +1 -1
  264. package/dist/client/types/tools/ozone/moderation/getEvent.d.ts.map +1 -1
  265. package/dist/client/types/tools/ozone/moderation/getRecord.d.ts +1 -1
  266. package/dist/client/types/tools/ozone/moderation/getRecord.d.ts.map +1 -1
  267. package/dist/client/types/tools/ozone/moderation/getRecords.d.ts +1 -1
  268. package/dist/client/types/tools/ozone/moderation/getRecords.d.ts.map +1 -1
  269. package/dist/client/types/tools/ozone/moderation/getRepo.d.ts +1 -1
  270. package/dist/client/types/tools/ozone/moderation/getRepo.d.ts.map +1 -1
  271. package/dist/client/types/tools/ozone/moderation/getRepos.d.ts +1 -1
  272. package/dist/client/types/tools/ozone/moderation/getRepos.d.ts.map +1 -1
  273. package/dist/client/types/tools/ozone/moderation/queryEvents.d.ts +1 -1
  274. package/dist/client/types/tools/ozone/moderation/queryEvents.d.ts.map +1 -1
  275. package/dist/client/types/tools/ozone/moderation/queryStatuses.d.ts +8 -2
  276. package/dist/client/types/tools/ozone/moderation/queryStatuses.d.ts.map +1 -1
  277. package/dist/client/types/tools/ozone/moderation/queryStatuses.js.map +1 -1
  278. package/dist/client/types/tools/ozone/moderation/searchRepos.d.ts +1 -1
  279. package/dist/client/types/tools/ozone/moderation/searchRepos.d.ts.map +1 -1
  280. package/dist/client/types/tools/ozone/set/getValues.d.ts +1 -1
  281. package/dist/client/types/tools/ozone/set/getValues.d.ts.map +1 -1
  282. package/dist/client/types/tools/ozone/set/querySets.d.ts +1 -1
  283. package/dist/client/types/tools/ozone/set/querySets.d.ts.map +1 -1
  284. package/dist/client/types/tools/ozone/set/upsertSet.d.ts +1 -1
  285. package/dist/client/types/tools/ozone/set/upsertSet.d.ts.map +1 -1
  286. package/dist/client/types/tools/ozone/setting/listOptions.d.ts +1 -1
  287. package/dist/client/types/tools/ozone/setting/listOptions.d.ts.map +1 -1
  288. package/dist/client/types/tools/ozone/setting/upsertOption.d.ts +1 -1
  289. package/dist/client/types/tools/ozone/setting/upsertOption.d.ts.map +1 -1
  290. package/dist/client/types/tools/ozone/signature/findCorrelation.d.ts +1 -1
  291. package/dist/client/types/tools/ozone/signature/findCorrelation.d.ts.map +1 -1
  292. package/dist/client/types/tools/ozone/signature/findRelatedAccounts.d.ts +2 -2
  293. package/dist/client/types/tools/ozone/signature/findRelatedAccounts.d.ts.map +1 -1
  294. package/dist/client/types/tools/ozone/signature/searchAccounts.d.ts +1 -1
  295. package/dist/client/types/tools/ozone/signature/searchAccounts.d.ts.map +1 -1
  296. package/dist/client/types/tools/ozone/team/addMember.d.ts +1 -1
  297. package/dist/client/types/tools/ozone/team/addMember.d.ts.map +1 -1
  298. package/dist/client/types/tools/ozone/team/defs.d.ts +1 -1
  299. package/dist/client/types/tools/ozone/team/defs.d.ts.map +1 -1
  300. package/dist/client/types/tools/ozone/team/listMembers.d.ts +1 -1
  301. package/dist/client/types/tools/ozone/team/listMembers.d.ts.map +1 -1
  302. package/dist/client/types/tools/ozone/team/updateMember.d.ts +1 -1
  303. package/dist/client/types/tools/ozone/team/updateMember.d.ts.map +1 -1
  304. package/dist/client/util.d.ts.map +1 -1
  305. package/dist/client/util.js +6 -1
  306. package/dist/client/util.js.map +1 -1
  307. package/dist/index.d.ts +2 -2
  308. package/dist/index.d.ts.map +1 -1
  309. package/dist/index.js +4 -4
  310. package/dist/index.js.map +1 -1
  311. package/dist/mocker.d.ts +1 -1
  312. package/dist/mocker.d.ts.map +1 -1
  313. package/dist/moderation/decision.d.ts +1 -1
  314. package/dist/moderation/decision.d.ts.map +1 -1
  315. package/dist/moderation/decision.js +1 -1
  316. package/dist/moderation/decision.js.map +1 -1
  317. package/dist/moderation/index.d.ts +1 -1
  318. package/dist/moderation/index.d.ts.map +1 -1
  319. package/dist/moderation/index.js +3 -3
  320. package/dist/moderation/index.js.map +1 -1
  321. package/dist/moderation/subjects/account.d.ts +1 -1
  322. package/dist/moderation/subjects/account.d.ts.map +1 -1
  323. package/dist/moderation/subjects/feed-generator.d.ts +1 -1
  324. package/dist/moderation/subjects/feed-generator.d.ts.map +1 -1
  325. package/dist/moderation/subjects/notification.d.ts +1 -1
  326. package/dist/moderation/subjects/notification.d.ts.map +1 -1
  327. package/dist/moderation/subjects/post.d.ts +1 -1
  328. package/dist/moderation/subjects/post.d.ts.map +1 -1
  329. package/dist/moderation/subjects/post.js +1 -1
  330. package/dist/moderation/subjects/post.js.map +1 -1
  331. package/dist/moderation/subjects/profile.d.ts +1 -1
  332. package/dist/moderation/subjects/profile.d.ts.map +1 -1
  333. package/dist/moderation/subjects/user-list.d.ts +1 -1
  334. package/dist/moderation/subjects/user-list.d.ts.map +1 -1
  335. package/dist/moderation/types.d.ts +1 -1
  336. package/dist/moderation/types.d.ts.map +1 -1
  337. package/dist/rich-text/rich-text.d.ts.map +1 -1
  338. package/dist/rich-text/rich-text.js +2 -2
  339. package/dist/rich-text/rich-text.js.map +1 -1
  340. package/dist/types.d.ts +1 -0
  341. package/dist/types.d.ts.map +1 -1
  342. package/dist/util.d.ts +8 -8
  343. package/dist/util.d.ts.map +1 -1
  344. package/dist/util.js +7 -10
  345. package/dist/util.js.map +1 -1
  346. package/jest.config.js +1 -0
  347. package/package.json +4 -4
  348. package/src/agent.ts +17 -16
  349. package/src/atp-agent.ts +1 -0
  350. package/src/client/index.ts +538 -457
  351. package/src/client/lexicons.ts +183 -25
  352. package/src/client/types/app/bsky/actor/defs.ts +3 -3
  353. package/src/client/types/app/bsky/actor/getPreferences.ts +1 -1
  354. package/src/client/types/app/bsky/actor/getProfile.ts +1 -1
  355. package/src/client/types/app/bsky/actor/getProfiles.ts +1 -1
  356. package/src/client/types/app/bsky/actor/getSuggestions.ts +3 -1
  357. package/src/client/types/app/bsky/actor/profile.ts +2 -2
  358. package/src/client/types/app/bsky/actor/putPreferences.ts +1 -1
  359. package/src/client/types/app/bsky/actor/searchActors.ts +1 -1
  360. package/src/client/types/app/bsky/actor/searchActorsTypeahead.ts +1 -1
  361. package/src/client/types/app/bsky/embed/images.ts +1 -1
  362. package/src/client/types/app/bsky/embed/record.ts +10 -10
  363. package/src/client/types/app/bsky/embed/recordWithMedia.ts +4 -4
  364. package/src/client/types/app/bsky/embed/video.ts +1 -1
  365. package/src/client/types/app/bsky/feed/defs.ts +34 -9
  366. package/src/client/types/app/bsky/feed/generator.ts +6 -2
  367. package/src/client/types/app/bsky/feed/getActorFeeds.ts +1 -1
  368. package/src/client/types/app/bsky/feed/getActorLikes.ts +1 -1
  369. package/src/client/types/app/bsky/feed/getAuthorFeed.ts +2 -1
  370. package/src/client/types/app/bsky/feed/getFeed.ts +1 -1
  371. package/src/client/types/app/bsky/feed/getFeedGenerator.ts +1 -1
  372. package/src/client/types/app/bsky/feed/getFeedGenerators.ts +1 -1
  373. package/src/client/types/app/bsky/feed/getFeedSkeleton.ts +1 -1
  374. package/src/client/types/app/bsky/feed/getLikes.ts +1 -1
  375. package/src/client/types/app/bsky/feed/getListFeed.ts +1 -1
  376. package/src/client/types/app/bsky/feed/getPostThread.ts +1 -1
  377. package/src/client/types/app/bsky/feed/getPosts.ts +1 -1
  378. package/src/client/types/app/bsky/feed/getQuotes.ts +1 -1
  379. package/src/client/types/app/bsky/feed/getRepostedBy.ts +1 -1
  380. package/src/client/types/app/bsky/feed/getSuggestedFeeds.ts +1 -1
  381. package/src/client/types/app/bsky/feed/getTimeline.ts +1 -1
  382. package/src/client/types/app/bsky/feed/like.ts +1 -1
  383. package/src/client/types/app/bsky/feed/post.ts +8 -8
  384. package/src/client/types/app/bsky/feed/repost.ts +1 -1
  385. package/src/client/types/app/bsky/feed/searchPosts.ts +1 -1
  386. package/src/client/types/app/bsky/feed/sendInteractions.ts +1 -1
  387. package/src/client/types/app/bsky/graph/defs.ts +4 -4
  388. package/src/client/types/app/bsky/graph/getActorStarterPacks.ts +1 -1
  389. package/src/client/types/app/bsky/graph/getBlocks.ts +1 -1
  390. package/src/client/types/app/bsky/graph/getFollowers.ts +1 -1
  391. package/src/client/types/app/bsky/graph/getFollows.ts +1 -1
  392. package/src/client/types/app/bsky/graph/getKnownFollowers.ts +1 -1
  393. package/src/client/types/app/bsky/graph/getList.ts +1 -1
  394. package/src/client/types/app/bsky/graph/getListBlocks.ts +1 -1
  395. package/src/client/types/app/bsky/graph/getListMutes.ts +1 -1
  396. package/src/client/types/app/bsky/graph/getLists.ts +1 -1
  397. package/src/client/types/app/bsky/graph/getMutes.ts +1 -1
  398. package/src/client/types/app/bsky/graph/getRelationships.ts +1 -1
  399. package/src/client/types/app/bsky/graph/getStarterPack.ts +1 -1
  400. package/src/client/types/app/bsky/graph/getStarterPacks.ts +1 -1
  401. package/src/client/types/app/bsky/graph/getSuggestedFollowsByActor.ts +3 -1
  402. package/src/client/types/app/bsky/graph/list.ts +3 -3
  403. package/src/client/types/app/bsky/graph/searchStarterPacks.ts +1 -1
  404. package/src/client/types/app/bsky/graph/starterpack.ts +1 -1
  405. package/src/client/types/app/bsky/labeler/defs.ts +2 -2
  406. package/src/client/types/app/bsky/labeler/getServices.ts +1 -1
  407. package/src/client/types/app/bsky/labeler/service.ts +2 -2
  408. package/src/client/types/app/bsky/notification/listNotifications.ts +2 -2
  409. package/src/client/types/app/bsky/unspecced/getPopularFeedGenerators.ts +1 -1
  410. package/src/client/types/app/bsky/unspecced/getSuggestionsSkeleton.ts +3 -1
  411. package/src/client/types/app/bsky/unspecced/getTrendingTopics.ts +1 -1
  412. package/src/client/types/app/bsky/unspecced/searchActorsSkeleton.ts +1 -1
  413. package/src/client/types/app/bsky/unspecced/searchPostsSkeleton.ts +1 -1
  414. package/src/client/types/app/bsky/unspecced/searchStarterPacksSkeleton.ts +1 -1
  415. package/src/client/types/app/bsky/video/getJobStatus.ts +1 -1
  416. package/src/client/types/app/bsky/video/uploadVideo.ts +1 -1
  417. package/src/client/types/chat/bsky/actor/defs.ts +2 -2
  418. package/src/client/types/chat/bsky/convo/defs.ts +3 -3
  419. package/src/client/types/chat/bsky/convo/deleteMessageForSelf.ts +1 -1
  420. package/src/client/types/chat/bsky/convo/getConvo.ts +1 -1
  421. package/src/client/types/chat/bsky/convo/getConvoForMembers.ts +1 -1
  422. package/src/client/types/chat/bsky/convo/getLog.ts +1 -1
  423. package/src/client/types/chat/bsky/convo/getMessages.ts +1 -1
  424. package/src/client/types/chat/bsky/convo/listConvos.ts +1 -1
  425. package/src/client/types/chat/bsky/convo/muteConvo.ts +1 -1
  426. package/src/client/types/chat/bsky/convo/sendMessage.ts +1 -1
  427. package/src/client/types/chat/bsky/convo/sendMessageBatch.ts +1 -1
  428. package/src/client/types/chat/bsky/convo/unmuteConvo.ts +1 -1
  429. package/src/client/types/chat/bsky/convo/updateRead.ts +1 -1
  430. package/src/client/types/chat/bsky/moderation/getMessageContext.ts +1 -1
  431. package/src/client/types/com/atproto/admin/defs.ts +1 -1
  432. package/src/client/types/com/atproto/admin/getAccountInfo.ts +1 -1
  433. package/src/client/types/com/atproto/admin/getAccountInfos.ts +1 -1
  434. package/src/client/types/com/atproto/admin/getInviteCodes.ts +1 -1
  435. package/src/client/types/com/atproto/admin/getSubjectStatus.ts +2 -2
  436. package/src/client/types/com/atproto/admin/searchAccounts.ts +1 -1
  437. package/src/client/types/com/atproto/admin/updateSubjectStatus.ts +2 -2
  438. package/src/client/types/com/atproto/label/queryLabels.ts +1 -1
  439. package/src/client/types/com/atproto/label/subscribeLabels.ts +1 -1
  440. package/src/client/types/com/atproto/lexicon/schema.ts +28 -0
  441. package/src/client/types/com/atproto/moderation/createReport.ts +3 -3
  442. package/src/client/types/com/atproto/repo/applyWrites.ts +1 -1
  443. package/src/client/types/com/atproto/repo/createRecord.ts +1 -1
  444. package/src/client/types/com/atproto/repo/deleteRecord.ts +1 -1
  445. package/src/client/types/com/atproto/repo/putRecord.ts +1 -1
  446. package/src/client/types/com/atproto/server/getAccountInviteCodes.ts +1 -1
  447. package/src/client/types/com/atproto/temp/fetchLabels.ts +1 -1
  448. package/src/client/types/tools/ozone/communication/createTemplate.ts +1 -1
  449. package/src/client/types/tools/ozone/communication/listTemplates.ts +1 -1
  450. package/src/client/types/tools/ozone/communication/updateTemplate.ts +1 -1
  451. package/src/client/types/tools/ozone/moderation/defs.ts +66 -6
  452. package/src/client/types/tools/ozone/moderation/emitEvent.ts +3 -3
  453. package/src/client/types/tools/ozone/moderation/getEvent.ts +1 -1
  454. package/src/client/types/tools/ozone/moderation/getRecord.ts +1 -1
  455. package/src/client/types/tools/ozone/moderation/getRecords.ts +1 -1
  456. package/src/client/types/tools/ozone/moderation/getRepo.ts +1 -1
  457. package/src/client/types/tools/ozone/moderation/getRepos.ts +1 -1
  458. package/src/client/types/tools/ozone/moderation/queryEvents.ts +1 -1
  459. package/src/client/types/tools/ozone/moderation/queryStatuses.ts +12 -2
  460. package/src/client/types/tools/ozone/moderation/searchRepos.ts +1 -1
  461. package/src/client/types/tools/ozone/set/getValues.ts +1 -1
  462. package/src/client/types/tools/ozone/set/querySets.ts +1 -1
  463. package/src/client/types/tools/ozone/set/upsertSet.ts +1 -1
  464. package/src/client/types/tools/ozone/setting/listOptions.ts +1 -1
  465. package/src/client/types/tools/ozone/setting/upsertOption.ts +1 -1
  466. package/src/client/types/tools/ozone/signature/findCorrelation.ts +1 -1
  467. package/src/client/types/tools/ozone/signature/findRelatedAccounts.ts +2 -2
  468. package/src/client/types/tools/ozone/signature/searchAccounts.ts +1 -1
  469. package/src/client/types/tools/ozone/team/addMember.ts +1 -1
  470. package/src/client/types/tools/ozone/team/defs.ts +1 -1
  471. package/src/client/types/tools/ozone/team/listMembers.ts +1 -1
  472. package/src/client/types/tools/ozone/team/updateMember.ts +1 -1
  473. package/src/client/util.ts +4 -1
  474. package/src/index.ts +3 -3
  475. package/src/mocker.ts +3 -3
  476. package/src/moderation/decision.ts +7 -7
  477. package/src/moderation/index.ts +11 -11
  478. package/src/moderation/subjects/account.ts +1 -1
  479. package/src/moderation/subjects/feed-generator.ts +1 -1
  480. package/src/moderation/subjects/notification.ts +1 -1
  481. package/src/moderation/subjects/post.ts +6 -6
  482. package/src/moderation/subjects/profile.ts +1 -1
  483. package/src/moderation/subjects/user-list.ts +1 -1
  484. package/src/moderation/types.ts +2 -2
  485. package/src/moderation/util.ts +1 -1
  486. package/src/rich-text/detection.ts +1 -1
  487. package/src/rich-text/rich-text.ts +2 -2
  488. package/src/types.ts +1 -0
  489. package/src/util.ts +8 -9
  490. package/tests/atp-agent.test.ts +2 -2
  491. package/tests/dispatcher.test.ts +4 -4
  492. package/tests/errors.test.ts +1 -1
  493. package/tests/moderation-behaviors.test.ts +3 -3
  494. package/tests/moderation-custom-labels.test.ts +4 -4
  495. package/tests/moderation-mutewords.test.ts +0 -1
  496. package/tests/moderation-quoteposts.test.ts +3 -3
  497. package/tests/moderation.test.ts +4 -4
  498. package/tests/rich-text-sanitization.test.ts +1 -1
  499. package/tests/util/moderation-behavior.ts +2 -2
  500. package/tsconfig.build.tsbuildinfo +1 -1
  501. package/tsconfig.tests.tsbuildinfo +1 -0
  502. package/bench/agent.bench.ts +0 -9
@@ -1058,6 +1058,27 @@ export declare const schemaDict: {
1058
1058
  };
1059
1059
  };
1060
1060
  };
1061
+ readonly ComAtprotoLexiconSchema: {
1062
+ readonly lexicon: 1;
1063
+ readonly id: "com.atproto.lexicon.schema";
1064
+ readonly defs: {
1065
+ readonly main: {
1066
+ readonly type: "record";
1067
+ readonly description: "Representation of Lexicon schemas themselves, when published as atproto records. Note that the schema language is not defined in Lexicon; this meta schema currently only includes a single version field ('lexicon'). See the atproto specifications for description of the other expected top-level fields ('id', 'defs', etc).";
1068
+ readonly key: "nsid";
1069
+ readonly record: {
1070
+ readonly type: "object";
1071
+ readonly required: ["lexicon"];
1072
+ readonly properties: {
1073
+ readonly lexicon: {
1074
+ readonly type: "integer";
1075
+ readonly description: "Indicates the 'version' of the Lexicon language. Must be '1' for the current atproto/Lexicon schema system.";
1076
+ };
1077
+ };
1078
+ };
1079
+ };
1080
+ };
1081
+ };
1061
1082
  readonly ComAtprotoModerationCreateReport: {
1062
1083
  readonly lexicon: 1;
1063
1084
  readonly id: "com.atproto.moderation.createReport";
@@ -4464,6 +4485,10 @@ export declare const schemaDict: {
4464
4485
  readonly ref: "lex:app.bsky.actor.defs#profileView";
4465
4486
  };
4466
4487
  };
4488
+ readonly recId: {
4489
+ readonly type: "integer";
4490
+ readonly description: "Snowflake for this recommendation, use when submitting recommendation events.";
4491
+ };
4467
4492
  };
4468
4493
  };
4469
4494
  };
@@ -5136,6 +5161,16 @@ export declare const schemaDict: {
5136
5161
  };
5137
5162
  };
5138
5163
  };
5164
+ readonly threadContext: {
5165
+ readonly type: "object";
5166
+ readonly description: "Metadata about this post within the context of the thread it is in.";
5167
+ readonly properties: {
5168
+ readonly rootAuthorLike: {
5169
+ readonly type: "string";
5170
+ readonly format: "at-uri";
5171
+ };
5172
+ };
5173
+ };
5139
5174
  readonly feedViewPost: {
5140
5175
  readonly type: "object";
5141
5176
  readonly required: ["post"];
@@ -5215,6 +5250,10 @@ export declare const schemaDict: {
5215
5250
  readonly refs: ["lex:app.bsky.feed.defs#threadViewPost", "lex:app.bsky.feed.defs#notFoundPost", "lex:app.bsky.feed.defs#blockedPost"];
5216
5251
  };
5217
5252
  };
5253
+ readonly threadContext: {
5254
+ readonly type: "ref";
5255
+ readonly ref: "lex:app.bsky.feed.defs#threadContext";
5256
+ };
5218
5257
  };
5219
5258
  };
5220
5259
  readonly notFoundPost: {
@@ -5320,6 +5359,10 @@ export declare const schemaDict: {
5320
5359
  readonly type: "ref";
5321
5360
  readonly ref: "lex:app.bsky.feed.defs#generatorViewerState";
5322
5361
  };
5362
+ readonly contentMode: {
5363
+ readonly type: "string";
5364
+ readonly knownValues: ["app.bsky.feed.defs#contentModeUnspecified", "app.bsky.feed.defs#contentModeVideo"];
5365
+ };
5323
5366
  readonly indexedAt: {
5324
5367
  readonly type: "string";
5325
5368
  readonly format: "datetime";
@@ -5433,6 +5476,14 @@ export declare const schemaDict: {
5433
5476
  readonly type: "token";
5434
5477
  readonly description: "User clicked through to the embedded content of the feed item";
5435
5478
  };
5479
+ readonly contentModeUnspecified: {
5480
+ readonly type: "token";
5481
+ readonly description: "Declares the feed generator returns any types of posts.";
5482
+ };
5483
+ readonly contentModeVideo: {
5484
+ readonly type: "token";
5485
+ readonly description: "Declares the feed generator returns posts containing app.bsky.embed.video embeds.";
5486
+ };
5436
5487
  readonly interactionSeen: {
5437
5488
  readonly type: "token";
5438
5489
  readonly description: "Feed item was seen by user";
@@ -5561,6 +5612,10 @@ export declare const schemaDict: {
5561
5612
  readonly description: "Self-label values";
5562
5613
  readonly refs: ["lex:com.atproto.label.defs#selfLabels"];
5563
5614
  };
5615
+ readonly contentMode: {
5616
+ readonly type: "string";
5617
+ readonly knownValues: ["app.bsky.feed.defs#contentModeUnspecified", "app.bsky.feed.defs#contentModeVideo"];
5618
+ };
5564
5619
  readonly createdAt: {
5565
5620
  readonly type: "string";
5566
5621
  readonly format: "datetime";
@@ -5698,7 +5753,7 @@ export declare const schemaDict: {
5698
5753
  readonly filter: {
5699
5754
  readonly type: "string";
5700
5755
  readonly description: "Combinations of post/repost types to include in response.";
5701
- readonly knownValues: ["posts_with_replies", "posts_no_replies", "posts_with_media", "posts_and_author_threads"];
5756
+ readonly knownValues: ["posts_with_replies", "posts_no_replies", "posts_with_media", "posts_and_author_threads", "posts_with_video"];
5702
5757
  readonly default: "posts_with_replies";
5703
5758
  };
5704
5759
  readonly includePins: {
@@ -7769,6 +7824,10 @@ export declare const schemaDict: {
7769
7824
  readonly description: "If true, response has fallen-back to generic results, and is not scoped using relativeToDid";
7770
7825
  readonly default: false;
7771
7826
  };
7827
+ readonly recId: {
7828
+ readonly type: "integer";
7829
+ readonly description: "Snowflake for this recommendation, use when submitting recommendation events.";
7830
+ };
7772
7831
  };
7773
7832
  };
7774
7833
  };
@@ -8789,6 +8848,10 @@ export declare const schemaDict: {
8789
8848
  readonly format: "did";
8790
8849
  readonly description: "DID of the account these suggestions are relative to. If this is returned undefined, suggestions are based on the viewer.";
8791
8850
  };
8851
+ readonly recId: {
8852
+ readonly type: "integer";
8853
+ readonly description: "Snowflake for this recommendation, use when submitting recommendation events.";
8854
+ };
8792
8855
  };
8793
8856
  };
8794
8857
  };
@@ -10500,6 +10563,80 @@ export declare const schemaDict: {
10500
10563
  readonly type: "string";
10501
10564
  };
10502
10565
  };
10566
+ readonly accountStats: {
10567
+ readonly description: "Statistics related to the account subject";
10568
+ readonly type: "ref";
10569
+ readonly ref: "lex:tools.ozone.moderation.defs#accountStats";
10570
+ };
10571
+ readonly recordsStats: {
10572
+ readonly description: "Statistics related to the record subjects authored by the subject's account";
10573
+ readonly type: "ref";
10574
+ readonly ref: "lex:tools.ozone.moderation.defs#recordsStats";
10575
+ };
10576
+ };
10577
+ };
10578
+ readonly accountStats: {
10579
+ readonly description: "Statistics about a particular account subject";
10580
+ readonly type: "object";
10581
+ readonly properties: {
10582
+ readonly reportCount: {
10583
+ readonly description: "Total number of reports on the account";
10584
+ readonly type: "integer";
10585
+ };
10586
+ readonly appealCount: {
10587
+ readonly description: "Total number of appeals against a moderation action on the account";
10588
+ readonly type: "integer";
10589
+ };
10590
+ readonly suspendCount: {
10591
+ readonly description: "Number of times the account was suspended";
10592
+ readonly type: "integer";
10593
+ };
10594
+ readonly escalateCount: {
10595
+ readonly description: "Number of times the account was escalated";
10596
+ readonly type: "integer";
10597
+ };
10598
+ readonly takedownCount: {
10599
+ readonly description: "Number of times the account was taken down";
10600
+ readonly type: "integer";
10601
+ };
10602
+ };
10603
+ };
10604
+ readonly recordsStats: {
10605
+ readonly description: "Statistics about a set of record subject items";
10606
+ readonly type: "object";
10607
+ readonly properties: {
10608
+ readonly totalReports: {
10609
+ readonly description: "Cumulative sum of the number of reports on the items in the set";
10610
+ readonly type: "integer";
10611
+ };
10612
+ readonly reportedCount: {
10613
+ readonly description: "Number of items that were reported at least once";
10614
+ readonly type: "integer";
10615
+ };
10616
+ readonly escalatedCount: {
10617
+ readonly description: "Number of items that were escalated at least once";
10618
+ readonly type: "integer";
10619
+ };
10620
+ readonly appealedCount: {
10621
+ readonly description: "Number of items that were appealed at least once";
10622
+ readonly type: "integer";
10623
+ };
10624
+ readonly subjectCount: {
10625
+ readonly description: "Total number of item in the set";
10626
+ readonly type: "integer";
10627
+ };
10628
+ readonly pendingCount: {
10629
+ readonly description: "Number of item currently in \"reviewOpen\" or \"reviewEscalated\" state";
10630
+ readonly type: "integer";
10631
+ };
10632
+ readonly processedCount: {
10633
+ readonly description: "Number of item currently in \"reviewNone\" or \"reviewClosed\" state";
10634
+ readonly type: "integer";
10635
+ };
10636
+ readonly takendownCount: {
10637
+ readonly description: "Number of item currently taken down";
10638
+ readonly type: "integer";
10639
+ };
10503
10640
  };
10504
10641
  };
10505
10642
  readonly subjectReviewState: {
@@ -10619,6 +10756,10 @@ export declare const schemaDict: {
10619
10756
  readonly type: "string";
10620
10757
  };
10621
10758
  };
10759
+ readonly durationInHours: {
10760
+ readonly type: "integer";
10761
+ readonly description: "Indicates how long the label will remain on the subject. Only applies on labels that are being added.";
10762
+ };
10622
10763
  };
10623
10764
  };
10624
10765
  readonly modEventAcknowledge: {
@@ -11627,7 +11768,7 @@ export declare const schemaDict: {
11627
11768
  readonly sortField: {
11628
11769
  readonly type: "string";
11629
11770
  readonly default: "lastReportedAt";
11630
- readonly enum: ["lastReviewedAt", "lastReportedAt"];
11771
+ readonly enum: ["lastReviewedAt", "lastReportedAt", "reportedRecordsCount", "takendownRecordsCount"];
11631
11772
  };
11632
11773
  readonly sortDirection: {
11633
11774
  readonly type: "string";
@@ -11679,6 +11820,18 @@ export declare const schemaDict: {
11679
11820
  readonly description: "If specified, subjects of the given type (account or record) will be returned. When this is set to 'account' the 'collections' parameter will be ignored. When includeAllUserRecords or subject is set, this will be ignored.";
11680
11821
  readonly knownValues: ["account", "record"];
11681
11822
  };
11823
+ readonly minAccountSuspendCount: {
11824
+ readonly type: "integer";
11825
+ readonly description: "If specified, only subjects that belong to an account that has at least this many suspensions will be returned.";
11826
+ };
11827
+ readonly minReportedRecordsCount: {
11828
+ readonly type: "integer";
11829
+ readonly description: "If specified, only subjects that belong to an account that has at least this many reported records will be returned.";
11830
+ };
11831
+ readonly minTakendownRecordsCount: {
11832
+ readonly type: "integer";
11833
+ readonly description: "If specified, only subjects that belong to an account that has at least this many taken down records will be returned.";
11834
+ };
11682
11835
  };
11683
11836
  };
11684
11837
  readonly output: {
@@ -13703,6 +13856,26 @@ export declare const schemas: ({
13703
13856
  };
13704
13857
  };
13705
13858
  };
13859
+ } | {
13860
+ readonly lexicon: 1;
13861
+ readonly id: "com.atproto.lexicon.schema";
13862
+ readonly defs: {
13863
+ readonly main: {
13864
+ readonly type: "record";
13865
+ readonly description: "Representation of Lexicon schemas themselves, when published as atproto records. Note that the schema language is not defined in Lexicon; this meta schema currently only includes a single version field ('lexicon'). See the atproto specifications for description of the other expected top-level fields ('id', 'defs', etc).";
13866
+ readonly key: "nsid";
13867
+ readonly record: {
13868
+ readonly type: "object";
13869
+ readonly required: ["lexicon"];
13870
+ readonly properties: {
13871
+ readonly lexicon: {
13872
+ readonly type: "integer";
13873
+ readonly description: "Indicates the 'version' of the Lexicon language. Must be '1' for the current atproto/Lexicon schema system.";
13874
+ };
13875
+ };
13876
+ };
13877
+ };
13878
+ };
13706
13879
  } | {
13707
13880
  readonly lexicon: 1;
13708
13881
  readonly id: "com.atproto.moderation.createReport";
@@ -17048,6 +17221,10 @@ export declare const schemas: ({
17048
17221
  readonly ref: "lex:app.bsky.actor.defs#profileView";
17049
17222
  };
17050
17223
  };
17224
+ readonly recId: {
17225
+ readonly type: "integer";
17226
+ readonly description: "Snowflake for this recommendation, use when submitting recommendation events.";
17227
+ };
17051
17228
  };
17052
17229
  };
17053
17230
  };
@@ -17709,6 +17886,16 @@ export declare const schemas: ({
17709
17886
  };
17710
17887
  };
17711
17888
  };
17889
+ readonly threadContext: {
17890
+ readonly type: "object";
17891
+ readonly description: "Metadata about this post within the context of the thread it is in.";
17892
+ readonly properties: {
17893
+ readonly rootAuthorLike: {
17894
+ readonly type: "string";
17895
+ readonly format: "at-uri";
17896
+ };
17897
+ };
17898
+ };
17712
17899
  readonly feedViewPost: {
17713
17900
  readonly type: "object";
17714
17901
  readonly required: ["post"];
@@ -17788,6 +17975,10 @@ export declare const schemas: ({
17788
17975
  readonly refs: ["lex:app.bsky.feed.defs#threadViewPost", "lex:app.bsky.feed.defs#notFoundPost", "lex:app.bsky.feed.defs#blockedPost"];
17789
17976
  };
17790
17977
  };
17978
+ readonly threadContext: {
17979
+ readonly type: "ref";
17980
+ readonly ref: "lex:app.bsky.feed.defs#threadContext";
17981
+ };
17791
17982
  };
17792
17983
  };
17793
17984
  readonly notFoundPost: {
@@ -17893,6 +18084,10 @@ export declare const schemas: ({
17893
18084
  readonly type: "ref";
17894
18085
  readonly ref: "lex:app.bsky.feed.defs#generatorViewerState";
17895
18086
  };
18087
+ readonly contentMode: {
18088
+ readonly type: "string";
18089
+ readonly knownValues: ["app.bsky.feed.defs#contentModeUnspecified", "app.bsky.feed.defs#contentModeVideo"];
18090
+ };
17896
18091
  readonly indexedAt: {
17897
18092
  readonly type: "string";
17898
18093
  readonly format: "datetime";
@@ -18006,6 +18201,14 @@ export declare const schemas: ({
18006
18201
  readonly type: "token";
18007
18202
  readonly description: "User clicked through to the embedded content of the feed item";
18008
18203
  };
18204
+ readonly contentModeUnspecified: {
18205
+ readonly type: "token";
18206
+ readonly description: "Declares the feed generator returns any types of posts.";
18207
+ };
18208
+ readonly contentModeVideo: {
18209
+ readonly type: "token";
18210
+ readonly description: "Declares the feed generator returns posts containing app.bsky.embed.video embeds.";
18211
+ };
18009
18212
  readonly interactionSeen: {
18010
18213
  readonly type: "token";
18011
18214
  readonly description: "Feed item was seen by user";
@@ -18132,6 +18335,10 @@ export declare const schemas: ({
18132
18335
  readonly description: "Self-label values";
18133
18336
  readonly refs: ["lex:com.atproto.label.defs#selfLabels"];
18134
18337
  };
18338
+ readonly contentMode: {
18339
+ readonly type: "string";
18340
+ readonly knownValues: ["app.bsky.feed.defs#contentModeUnspecified", "app.bsky.feed.defs#contentModeVideo"];
18341
+ };
18135
18342
  readonly createdAt: {
18136
18343
  readonly type: "string";
18137
18344
  readonly format: "datetime";
@@ -18266,7 +18473,7 @@ export declare const schemas: ({
18266
18473
  readonly filter: {
18267
18474
  readonly type: "string";
18268
18475
  readonly description: "Combinations of post/repost types to include in response.";
18269
- readonly knownValues: ["posts_with_replies", "posts_no_replies", "posts_with_media", "posts_and_author_threads"];
18476
+ readonly knownValues: ["posts_with_replies", "posts_no_replies", "posts_with_media", "posts_and_author_threads", "posts_with_video"];
18270
18477
  readonly default: "posts_with_replies";
18271
18478
  };
18272
18479
  readonly includePins: {
@@ -20301,6 +20508,10 @@ export declare const schemas: ({
20301
20508
  readonly description: "If true, response has fallen-back to generic results, and is not scoped using relativeToDid";
20302
20509
  readonly default: false;
20303
20510
  };
20511
+ readonly recId: {
20512
+ readonly type: "integer";
20513
+ readonly description: "Snowflake for this recommendation, use when submitting recommendation events.";
20514
+ };
20304
20515
  };
20305
20516
  };
20306
20517
  };
@@ -21297,6 +21508,10 @@ export declare const schemas: ({
21297
21508
  readonly format: "did";
21298
21509
  readonly description: "DID of the account these suggestions are relative to. If this is returned undefined, suggestions are based on the viewer.";
21299
21510
  };
21511
+ readonly recId: {
21512
+ readonly type: "integer";
21513
+ readonly description: "Snowflake for this recommendation, use when submitting recommendation events.";
21514
+ };
21300
21515
  };
21301
21516
  };
21302
21517
  };
@@ -22973,6 +23188,80 @@ export declare const schemas: ({
22973
23188
  readonly type: "string";
22974
23189
  };
22975
23190
  };
23191
+ readonly accountStats: {
23192
+ readonly description: "Statistics related to the account subject";
23193
+ readonly type: "ref";
23194
+ readonly ref: "lex:tools.ozone.moderation.defs#accountStats";
23195
+ };
23196
+ readonly recordsStats: {
23197
+ readonly description: "Statistics related to the record subjects authored by the subject's account";
23198
+ readonly type: "ref";
23199
+ readonly ref: "lex:tools.ozone.moderation.defs#recordsStats";
23200
+ };
23201
+ };
23202
+ };
23203
+ readonly accountStats: {
23204
+ readonly description: "Statistics about a particular account subject";
23205
+ readonly type: "object";
23206
+ readonly properties: {
23207
+ readonly reportCount: {
23208
+ readonly description: "Total number of reports on the account";
23209
+ readonly type: "integer";
23210
+ };
23211
+ readonly appealCount: {
23212
+ readonly description: "Total number of appeals against a moderation action on the account";
23213
+ readonly type: "integer";
23214
+ };
23215
+ readonly suspendCount: {
23216
+ readonly description: "Number of times the account was suspended";
23217
+ readonly type: "integer";
23218
+ };
23219
+ readonly escalateCount: {
23220
+ readonly description: "Number of times the account was escalated";
23221
+ readonly type: "integer";
23222
+ };
23223
+ readonly takedownCount: {
23224
+ readonly description: "Number of times the account was taken down";
23225
+ readonly type: "integer";
23226
+ };
23227
+ };
23228
+ };
23229
+ readonly recordsStats: {
23230
+ readonly description: "Statistics about a set of record subject items";
23231
+ readonly type: "object";
23232
+ readonly properties: {
23233
+ readonly totalReports: {
23234
+ readonly description: "Cumulative sum of the number of reports on the items in the set";
23235
+ readonly type: "integer";
23236
+ };
23237
+ readonly reportedCount: {
23238
+ readonly description: "Number of items that were reported at least once";
23239
+ readonly type: "integer";
23240
+ };
23241
+ readonly escalatedCount: {
23242
+ readonly description: "Number of items that were escalated at least once";
23243
+ readonly type: "integer";
23244
+ };
23245
+ readonly appealedCount: {
23246
+ readonly description: "Number of items that were appealed at least once";
23247
+ readonly type: "integer";
23248
+ };
23249
+ readonly subjectCount: {
23250
+ readonly description: "Total number of item in the set";
23251
+ readonly type: "integer";
23252
+ };
23253
+ readonly pendingCount: {
23254
+ readonly description: "Number of item currently in \"reviewOpen\" or \"reviewEscalated\" state";
23255
+ readonly type: "integer";
23256
+ };
23257
+ readonly processedCount: {
23258
+ readonly description: "Number of item currently in \"reviewNone\" or \"reviewClosed\" state";
23259
+ readonly type: "integer";
23260
+ };
23261
+ readonly takendownCount: {
23262
+ readonly description: "Number of item currently taken down";
23263
+ readonly type: "integer";
23264
+ };
22976
23265
  };
22977
23266
  };
22978
23267
  readonly subjectReviewState: {
@@ -23092,6 +23381,10 @@ export declare const schemas: ({
23092
23381
  readonly type: "string";
23093
23382
  };
23094
23383
  };
23384
+ readonly durationInHours: {
23385
+ readonly type: "integer";
23386
+ readonly description: "Indicates how long the label will remain on the subject. Only applies on labels that are being added.";
23387
+ };
23095
23388
  };
23096
23389
  };
23097
23390
  readonly modEventAcknowledge: {
@@ -24092,7 +24385,7 @@ export declare const schemas: ({
24092
24385
  readonly sortField: {
24093
24386
  readonly type: "string";
24094
24387
  readonly default: "lastReportedAt";
24095
- readonly enum: ["lastReviewedAt", "lastReportedAt"];
24388
+ readonly enum: ["lastReviewedAt", "lastReportedAt", "reportedRecordsCount", "takendownRecordsCount"];
24096
24389
  };
24097
24390
  readonly sortDirection: {
24098
24391
  readonly type: "string";
@@ -24144,6 +24437,18 @@ export declare const schemas: ({
24144
24437
  readonly description: "If specified, subjects of the given type (account or record) will be returned. When this is set to 'account' the 'collections' parameter will be ignored. When includeAllUserRecords or subject is set, this will be ignored.";
24145
24438
  readonly knownValues: ["account", "record"];
24146
24439
  };
24440
+ readonly minAccountSuspendCount: {
24441
+ readonly type: "integer";
24442
+ readonly description: "If specified, only subjects that belong to an account that has at least this many suspensions will be returned.";
24443
+ };
24444
+ readonly minReportedRecordsCount: {
24445
+ readonly type: "integer";
24446
+ readonly description: "If specified, only subjects that belong to an account that has at least this many reported records will be returned.";
24447
+ };
24448
+ readonly minTakendownRecordsCount: {
24449
+ readonly type: "integer";
24450
+ readonly description: "If specified, only subjects that belong to an account that has at least this many taken down records will be returned.";
24451
+ };
24147
24452
  };
24148
24453
  };
24149
24454
  readonly output: {
@@ -25121,12 +25426,6 @@ export declare function validate<T extends {
25121
25426
  export declare function validate<T extends {
25122
25427
  $type?: string;
25123
25428
  }>(v: unknown, id: string, hash: string, requiredType?: false): ValidationResult<T>;
25124
- export declare function isValid<T extends {
25125
- $type: string;
25126
- }>(v: unknown, id: string, hash: string, requiredType: true): v is T;
25127
- export declare function isValid<T extends {
25128
- $type?: string;
25129
- }>(v: unknown, id: string, hash: string, requiredType?: false): v is T;
25130
25429
  export declare const ids: {
25131
25430
  readonly ComAtprotoAdminDefs: "com.atproto.admin.defs";
25132
25431
  readonly ComAtprotoAdminDeleteAccount: "com.atproto.admin.deleteAccount";
@@ -25152,6 +25451,7 @@ export declare const ids: {
25152
25451
  readonly ComAtprotoLabelDefs: "com.atproto.label.defs";
25153
25452
  readonly ComAtprotoLabelQueryLabels: "com.atproto.label.queryLabels";
25154
25453
  readonly ComAtprotoLabelSubscribeLabels: "com.atproto.label.subscribeLabels";
25454
+ readonly ComAtprotoLexiconSchema: "com.atproto.lexicon.schema";
25155
25455
  readonly ComAtprotoModerationCreateReport: "com.atproto.moderation.createReport";
25156
25456
  readonly ComAtprotoModerationDefs: "com.atproto.moderation.defs";
25157
25457
  readonly ComAtprotoRepoApplyWrites: "com.atproto.repo.applyWrites";
@@ -1 +1 @@
1
- {"version":3,"file":"lexicons.d.ts","sourceRoot":"","sources":["../../src/client/lexicons.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAEL,QAAQ,EAER,gBAAgB,EACjB,MAAM,kBAAkB,CAAA;AAGzB,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuyawB,CAAA;AAE/C,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAAmD,CAAA;AACvE,eAAO,MAAM,QAAQ,EAAE,QAAgC,CAAA;AAEvD,wBAAgB,QAAQ,CAAC,CAAC,SAAS;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,EAClD,CAAC,EAAE,OAAO,EACV,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,IAAI,GACjB,gBAAgB,CAAC,CAAC,CAAC,CAAA;AACtB,wBAAgB,QAAQ,CAAC,CAAC,SAAS;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EACnD,CAAC,EAAE,OAAO,EACV,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,YAAY,CAAC,EAAE,KAAK,GACnB,gBAAgB,CAAC,CAAC,CAAC,CAAA;AAiBtB,wBAAgB,OAAO,CAAC,CAAC,SAAS;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,EACjD,CAAC,EAAE,OAAO,EACV,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,IAAI,GACjB,CAAC,IAAI,CAAC,CAAA;AACT,wBAAgB,OAAO,CAAC,CAAC,SAAS;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EAClD,CAAC,EAAE,OAAO,EACV,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,YAAY,CAAC,EAAE,KAAK,GACnB,CAAC,IAAI,CAAC,CAAA;AAaT,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0PN,CAAA"}
1
+ {"version":3,"file":"lexicons.d.ts","sourceRoot":"","sources":["../../src/client/lexicons.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAEL,QAAQ,EAER,gBAAgB,EACjB,MAAM,kBAAkB,CAAA;AAGzB,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA49awB,CAAA;AAE/C,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAAmD,CAAA;AACvE,eAAO,MAAM,QAAQ,EAAE,QAAgC,CAAA;AAEvD,wBAAgB,QAAQ,CAAC,CAAC,SAAS;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,EAClD,CAAC,EAAE,OAAO,EACV,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,IAAI,GACjB,gBAAgB,CAAC,CAAC,CAAC,CAAA;AACtB,wBAAgB,QAAQ,CAAC,CAAC,SAAS;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EACnD,CAAC,EAAE,OAAO,EACV,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,YAAY,CAAC,EAAE,KAAK,GACnB,gBAAgB,CAAC,CAAC,CAAC,CAAA;AAiBtB,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2PN,CAAA"}