solid-ui 2.4.32 → 2.4.33-alpha

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 (267) hide show
  1. package/LICENSE.md +0 -0
  2. package/README.md +0 -0
  3. package/dist/{670.solid-ui.min.js → 320.solid-ui.min.js} +1 -1
  4. package/dist/376.solid-ui.min.js +3 -0
  5. package/dist/{805.solid-ui.min.js.LICENSE.txt → 376.solid-ui.min.js.LICENSE.txt} +0 -0
  6. package/dist/376.solid-ui.min.js.map +1 -0
  7. package/dist/_2b19.solid-ui.js +0 -0
  8. package/dist/_2b19.solid-ui.js.map +1 -1
  9. package/dist/index.html +0 -0
  10. package/dist/solid-ui.js +2300 -1562
  11. package/dist/solid-ui.js.map +1 -1
  12. package/dist/solid-ui.min.js +1 -1
  13. package/dist/solid-ui.min.js.LICENSE.txt +0 -0
  14. package/dist/solid-ui.min.js.map +1 -1
  15. package/dist/vendors-node_modules_jsonld_lib_jsonld_js.solid-ui.js +1 -1
  16. package/dist/vendors-node_modules_jsonld_lib_jsonld_js.solid-ui.js.map +1 -1
  17. package/lib/acl/access-controller.d.ts +0 -0
  18. package/lib/acl/access-controller.d.ts.map +0 -0
  19. package/lib/acl/access-controller.js +0 -0
  20. package/lib/acl/access-controller.js.map +0 -0
  21. package/lib/acl/access-groups.d.ts +0 -0
  22. package/lib/acl/access-groups.d.ts.map +0 -0
  23. package/lib/acl/access-groups.js +0 -0
  24. package/lib/acl/access-groups.js.map +0 -0
  25. package/lib/acl/acl-control.d.ts +0 -0
  26. package/lib/acl/acl-control.d.ts.map +0 -0
  27. package/lib/acl/acl-control.js +0 -0
  28. package/lib/acl/acl-control.js.map +0 -0
  29. package/lib/acl/acl.d.ts +0 -0
  30. package/lib/acl/acl.d.ts.map +0 -0
  31. package/lib/acl/acl.js +0 -0
  32. package/lib/acl/acl.js.map +0 -0
  33. package/lib/acl/add-agent-buttons.d.ts +0 -0
  34. package/lib/acl/add-agent-buttons.d.ts.map +0 -0
  35. package/lib/acl/add-agent-buttons.js +0 -0
  36. package/lib/acl/add-agent-buttons.js.map +0 -0
  37. package/lib/acl/index.d.ts +0 -0
  38. package/lib/acl/index.d.ts.map +0 -0
  39. package/lib/acl/index.js +0 -0
  40. package/lib/acl/index.js.map +0 -0
  41. package/lib/acl/types.d.ts +0 -0
  42. package/lib/acl/types.d.ts.map +0 -0
  43. package/lib/acl/types.js +0 -0
  44. package/lib/acl/types.js.map +0 -0
  45. package/lib/chat/bookmarks.js +7 -42
  46. package/lib/chat/bookmarks.js.map +1 -1
  47. package/lib/chat/chatLogic.js +226 -101
  48. package/lib/chat/chatLogic.js.map +1 -1
  49. package/lib/chat/dateFolder.js +139 -136
  50. package/lib/chat/dateFolder.js.map +1 -1
  51. package/lib/chat/infinite.js +618 -432
  52. package/lib/chat/infinite.js.map +1 -1
  53. package/lib/chat/keys.d.ts +0 -0
  54. package/lib/chat/keys.d.ts.map +0 -0
  55. package/lib/chat/keys.js +3 -3
  56. package/lib/chat/keys.js.map +1 -1
  57. package/lib/chat/message.js +323 -191
  58. package/lib/chat/message.js.map +1 -1
  59. package/lib/chat/messageTools.js +459 -276
  60. package/lib/chat/messageTools.js.map +1 -1
  61. package/lib/chat/signature.d.ts +0 -0
  62. package/lib/chat/signature.d.ts.map +0 -0
  63. package/lib/chat/signature.js +0 -0
  64. package/lib/chat/signature.js.map +0 -0
  65. package/lib/chat/thread.js +299 -208
  66. package/lib/chat/thread.js.map +1 -1
  67. package/lib/create/create.d.ts +0 -0
  68. package/lib/create/create.d.ts.map +0 -0
  69. package/lib/create/create.js +0 -0
  70. package/lib/create/create.js.map +0 -0
  71. package/lib/create/index.d.ts +0 -0
  72. package/lib/create/index.d.ts.map +0 -0
  73. package/lib/create/index.js +0 -0
  74. package/lib/create/index.js.map +0 -0
  75. package/lib/create/types.d.ts +0 -0
  76. package/lib/create/types.d.ts.map +0 -0
  77. package/lib/create/types.js +0 -0
  78. package/lib/create/types.js.map +0 -0
  79. package/lib/debug.d.ts +0 -0
  80. package/lib/debug.d.ts.map +0 -0
  81. package/lib/debug.js +0 -0
  82. package/lib/debug.js.map +0 -0
  83. package/lib/folders.js +0 -0
  84. package/lib/folders.js.map +0 -0
  85. package/lib/footer/index.d.ts +0 -0
  86. package/lib/footer/index.d.ts.map +0 -0
  87. package/lib/footer/index.js +0 -0
  88. package/lib/footer/index.js.map +0 -0
  89. package/lib/header/empty-profile.d.ts +0 -0
  90. package/lib/header/empty-profile.d.ts.map +0 -0
  91. package/lib/header/empty-profile.js +0 -0
  92. package/lib/header/empty-profile.js.map +0 -0
  93. package/lib/header/index.d.ts +0 -0
  94. package/lib/header/index.d.ts.map +0 -0
  95. package/lib/header/index.js +0 -0
  96. package/lib/header/index.js.map +0 -0
  97. package/lib/iconBase.d.ts +0 -0
  98. package/lib/iconBase.d.ts.map +0 -0
  99. package/lib/iconBase.js +0 -0
  100. package/lib/iconBase.js.map +0 -0
  101. package/lib/icons/solid_logo.d.ts +0 -0
  102. package/lib/icons/solid_logo.d.ts.map +0 -0
  103. package/lib/icons/solid_logo.js +0 -0
  104. package/lib/icons/solid_logo.js.map +0 -0
  105. package/lib/index.d.ts +0 -0
  106. package/lib/index.d.ts.map +0 -0
  107. package/lib/index.js +0 -0
  108. package/lib/index.js.map +0 -0
  109. package/lib/log.d.ts +0 -0
  110. package/lib/log.d.ts.map +0 -0
  111. package/lib/log.js +0 -0
  112. package/lib/log.js.map +0 -0
  113. package/lib/login/login.d.ts +0 -0
  114. package/lib/login/login.d.ts.map +0 -0
  115. package/lib/login/login.js +0 -0
  116. package/lib/login/login.js.map +0 -0
  117. package/lib/matrix/index.d.ts +0 -0
  118. package/lib/matrix/index.d.ts.map +0 -0
  119. package/lib/matrix/index.js +0 -0
  120. package/lib/matrix/index.js.map +0 -0
  121. package/lib/matrix/matrix.d.ts +0 -0
  122. package/lib/matrix/matrix.d.ts.map +0 -0
  123. package/lib/matrix/matrix.js +0 -0
  124. package/lib/matrix/matrix.js.map +0 -0
  125. package/lib/matrix/types.d.ts +0 -0
  126. package/lib/matrix/types.d.ts.map +0 -0
  127. package/lib/matrix/types.js +0 -0
  128. package/lib/matrix/types.js.map +0 -0
  129. package/lib/media/index.d.ts +0 -0
  130. package/lib/media/index.d.ts.map +0 -0
  131. package/lib/media/index.js +0 -0
  132. package/lib/media/index.js.map +0 -0
  133. package/lib/media/media-capture.d.ts +0 -0
  134. package/lib/media/media-capture.d.ts.map +0 -0
  135. package/lib/media/media-capture.js +0 -0
  136. package/lib/media/media-capture.js.map +0 -0
  137. package/lib/messageArea.js +0 -0
  138. package/lib/messageArea.js.map +0 -0
  139. package/lib/noun_Camera_1618446_000000.js +0 -0
  140. package/lib/noun_Camera_1618446_000000.js.map +0 -0
  141. package/lib/ns.js +0 -0
  142. package/lib/ns.js.map +0 -0
  143. package/lib/pad.d.ts +0 -0
  144. package/lib/pad.d.ts.map +0 -0
  145. package/lib/pad.js +6 -8
  146. package/lib/pad.js.map +1 -1
  147. package/lib/participation.d.ts +0 -0
  148. package/lib/participation.d.ts.map +0 -0
  149. package/lib/participation.js +5 -6
  150. package/lib/participation.js.map +1 -1
  151. package/lib/preferences.js +4 -0
  152. package/lib/preferences.js.map +1 -1
  153. package/lib/signup/config-default.js +0 -0
  154. package/lib/signup/config-default.js.map +0 -0
  155. package/lib/signup/signup.js +0 -0
  156. package/lib/signup/signup.js.map +0 -0
  157. package/lib/stories/decorators.js +0 -0
  158. package/lib/stories/decorators.js.map +0 -0
  159. package/lib/style.js +0 -0
  160. package/lib/style.js.map +0 -0
  161. package/lib/styleConstants.js +0 -0
  162. package/lib/styleConstants.js.map +0 -0
  163. package/lib/style_multiSelect.js +0 -0
  164. package/lib/style_multiSelect.js.map +0 -0
  165. package/lib/table.js +0 -0
  166. package/lib/table.js.map +0 -0
  167. package/lib/tabs.d.ts +0 -0
  168. package/lib/tabs.d.ts.map +0 -0
  169. package/lib/tabs.js +7 -10
  170. package/lib/tabs.js.map +1 -1
  171. package/lib/typings.d.js +0 -0
  172. package/lib/typings.d.js.map +0 -0
  173. package/lib/utils/headerFooterHelpers.d.ts +0 -0
  174. package/lib/utils/headerFooterHelpers.d.ts.map +0 -0
  175. package/lib/utils/headerFooterHelpers.js +0 -0
  176. package/lib/utils/headerFooterHelpers.js.map +0 -0
  177. package/lib/utils/index.js +0 -0
  178. package/lib/utils/index.js.map +0 -0
  179. package/lib/utils/keyHelpers/accessData.d.ts +2 -2
  180. package/lib/utils/keyHelpers/accessData.d.ts.map +1 -1
  181. package/lib/utils/keyHelpers/accessData.js +59 -115
  182. package/lib/utils/keyHelpers/accessData.js.map +1 -1
  183. package/lib/utils/keyHelpers/acl.d.ts +0 -0
  184. package/lib/utils/keyHelpers/acl.d.ts.map +0 -0
  185. package/lib/utils/keyHelpers/acl.js +14 -14
  186. package/lib/utils/keyHelpers/acl.js.map +1 -1
  187. package/lib/utils/keyHelpers/otherHelpers.d.ts +3 -0
  188. package/lib/utils/keyHelpers/otherHelpers.d.ts.map +1 -0
  189. package/lib/utils/keyHelpers/otherHelpers.js +22 -0
  190. package/lib/utils/keyHelpers/otherHelpers.js.map +1 -0
  191. package/lib/utils/label.d.ts +0 -0
  192. package/lib/utils/label.d.ts.map +0 -0
  193. package/lib/utils/label.js +0 -0
  194. package/lib/utils/label.js.map +0 -0
  195. package/lib/versionInfo.d.ts +17 -10
  196. package/lib/versionInfo.d.ts.map +1 -1
  197. package/lib/versionInfo.js +24 -17
  198. package/lib/versionInfo.js.map +1 -1
  199. package/lib/widgets/buttons/iconLinks.d.ts +0 -0
  200. package/lib/widgets/buttons/iconLinks.d.ts.map +0 -0
  201. package/lib/widgets/buttons/iconLinks.js +0 -0
  202. package/lib/widgets/buttons/iconLinks.js.map +0 -0
  203. package/lib/widgets/buttons.d.ts +0 -0
  204. package/lib/widgets/buttons.d.ts.map +0 -0
  205. package/lib/widgets/buttons.js +0 -0
  206. package/lib/widgets/buttons.js.map +0 -0
  207. package/lib/widgets/dragAndDrop.js +0 -0
  208. package/lib/widgets/dragAndDrop.js.map +0 -0
  209. package/lib/widgets/error.d.ts +0 -0
  210. package/lib/widgets/error.d.ts.map +0 -0
  211. package/lib/widgets/error.js +0 -0
  212. package/lib/widgets/error.js.map +0 -0
  213. package/lib/widgets/forms/autocomplete/autocompleteBar.d.ts +0 -0
  214. package/lib/widgets/forms/autocomplete/autocompleteBar.d.ts.map +0 -0
  215. package/lib/widgets/forms/autocomplete/autocompleteBar.js +0 -0
  216. package/lib/widgets/forms/autocomplete/autocompleteBar.js.map +0 -0
  217. package/lib/widgets/forms/autocomplete/autocompleteField.d.ts +0 -0
  218. package/lib/widgets/forms/autocomplete/autocompleteField.d.ts.map +0 -0
  219. package/lib/widgets/forms/autocomplete/autocompleteField.js +0 -0
  220. package/lib/widgets/forms/autocomplete/autocompleteField.js.map +0 -0
  221. package/lib/widgets/forms/autocomplete/autocompletePicker.d.ts +0 -0
  222. package/lib/widgets/forms/autocomplete/autocompletePicker.d.ts.map +0 -0
  223. package/lib/widgets/forms/autocomplete/autocompletePicker.js +0 -0
  224. package/lib/widgets/forms/autocomplete/autocompletePicker.js.map +0 -0
  225. package/lib/widgets/forms/autocomplete/language.d.ts +0 -0
  226. package/lib/widgets/forms/autocomplete/language.d.ts.map +0 -0
  227. package/lib/widgets/forms/autocomplete/language.js +0 -0
  228. package/lib/widgets/forms/autocomplete/language.js.map +0 -0
  229. package/lib/widgets/forms/autocomplete/publicData.d.ts +0 -0
  230. package/lib/widgets/forms/autocomplete/publicData.d.ts.map +0 -0
  231. package/lib/widgets/forms/autocomplete/publicData.js +0 -0
  232. package/lib/widgets/forms/autocomplete/publicData.js.map +0 -0
  233. package/lib/widgets/forms/basic.d.ts +0 -0
  234. package/lib/widgets/forms/basic.d.ts.map +0 -0
  235. package/lib/widgets/forms/basic.js +0 -0
  236. package/lib/widgets/forms/basic.js.map +0 -0
  237. package/lib/widgets/forms/comment.d.ts +0 -0
  238. package/lib/widgets/forms/comment.d.ts.map +0 -0
  239. package/lib/widgets/forms/comment.js +0 -0
  240. package/lib/widgets/forms/comment.js.map +0 -0
  241. package/lib/widgets/forms/fieldFunction.d.ts +0 -0
  242. package/lib/widgets/forms/fieldFunction.d.ts.map +0 -0
  243. package/lib/widgets/forms/fieldFunction.js +0 -0
  244. package/lib/widgets/forms/fieldFunction.js.map +0 -0
  245. package/lib/widgets/forms/fieldParams.d.ts +0 -0
  246. package/lib/widgets/forms/fieldParams.d.ts.map +0 -0
  247. package/lib/widgets/forms/fieldParams.js +0 -0
  248. package/lib/widgets/forms/fieldParams.js.map +0 -0
  249. package/lib/widgets/forms/formStyle.d.ts +0 -0
  250. package/lib/widgets/forms/formStyle.d.ts.map +0 -0
  251. package/lib/widgets/forms/formStyle.js +0 -0
  252. package/lib/widgets/forms/formStyle.js.map +0 -0
  253. package/lib/widgets/forms.js +0 -0
  254. package/lib/widgets/forms.js.map +0 -0
  255. package/lib/widgets/index.js +0 -0
  256. package/lib/widgets/index.js.map +0 -0
  257. package/lib/widgets/multiSelect.js +0 -0
  258. package/lib/widgets/multiSelect.js.map +0 -0
  259. package/lib/widgets/peoplePicker.js +0 -0
  260. package/lib/widgets/peoplePicker.js.map +0 -0
  261. package/lib/widgets/widgetHelpers.d.ts +0 -0
  262. package/lib/widgets/widgetHelpers.d.ts.map +0 -0
  263. package/lib/widgets/widgetHelpers.js +0 -0
  264. package/lib/widgets/widgetHelpers.js.map +0 -0
  265. package/package.json +7 -7
  266. package/dist/805.solid-ui.min.js +0 -3
  267. package/dist/805.solid-ui.min.js.map +0 -1
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
package/lib/acl/acl.d.ts CHANGED
File without changes
File without changes
package/lib/acl/acl.js CHANGED
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
package/lib/acl/index.js CHANGED
File without changes
File without changes
File without changes
File without changes
package/lib/acl/types.js CHANGED
File without changes
File without changes
@@ -28,8 +28,6 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
28
28
  * @packageDocumentation
29
29
  */
30
30
 
31
- /* global alert confirm */
32
-
33
31
  // pull in first avoid cross-refs
34
32
 
35
33
  var UI = {
@@ -48,40 +46,6 @@ var BOOKMARK_ICON = 'noun_45961.svg';
48
46
  var label = utils.label;
49
47
  var dom = window.document || null;
50
48
 
51
- /** Create a resource if it really does not exist
52
- * Be absolutely sure something does not exist before creating a new empty file
53
- * as otherwise existing could be deleted.
54
- * @param doc {NamedNode} - The resource
55
- */
56
- function createIfNotExists(doc) {
57
- return new Promise(function (resolve, reject) {
58
- _solidLogic.store.fetcher.load(doc).then(function (response) {
59
- debug.log('createIfNotExists doc exists, all good ' + doc);
60
- // store.fetcher.webOperation('HEAD', doc.uri).then(response => {
61
- resolve(response);
62
- }, function (err) {
63
- if (err.response.status === 404) {
64
- debug.log('createIfNotExists doc does NOT exist, will create... ' + doc);
65
- _solidLogic.store.fetcher.webOperation('PUT', doc.uri, {
66
- data: '',
67
- contentType: 'text/turtle'
68
- }).then(function (response) {
69
- // fetcher.requested[doc.uri] = 'done' // do not need to read ?? but no headers
70
- delete _solidLogic.store.fetcher.requested[doc.uri]; // delete cached 404 error
71
- debug.log('createIfNotExists doc created ok ' + doc);
72
- resolve(response);
73
- }, function (err) {
74
- debug.log('createIfNotExists doc FAILED: ' + doc + ': ' + err);
75
- reject(err);
76
- });
77
- } else {
78
- debug.log('createIfNotExists doc load error NOT 404: ' + doc + ': ' + err);
79
- reject(err);
80
- }
81
- });
82
- });
83
- }
84
-
85
49
  // @@@@ use the one in rdflib.js when it is avaiable and delete this
86
50
  function updatePromise(del, ins) {
87
51
  return new Promise(function (resolve, reject) {
@@ -122,7 +86,8 @@ function _findBookmarkDocument() {
122
86
  }
123
87
  userContext.bookmarkDocument = userContext.instances[0];
124
88
  if (userContext.instances.length > 1) {
125
- alert('More than one bookmark file! ' + userContext.instances);
89
+ debug.warn('More than one bookmark file! ' + userContext.instances); // @@ todo - deal with > 1
90
+ // Note: should pick up community bookmarks as well
126
91
  }
127
92
  _context.next = 28;
128
93
  break;
@@ -136,14 +101,14 @@ function _findBookmarkDocument() {
136
101
  _context.prev = 12;
137
102
  debug.log('Creating new bookmark file ' + newBookmarkFile);
138
103
  _context.next = 16;
139
- return createIfNotExists(newBookmarkFile);
104
+ return _solidLogic.store.fetcher.createIfNotExists(newBookmarkFile);
140
105
  case 16:
141
106
  _context.next = 22;
142
107
  break;
143
108
  case 18:
144
109
  _context.prev = 18;
145
110
  _context.t0 = _context["catch"](12);
146
- alert.error("Can't make fresh bookmark file:" + _context.t0);
111
+ debug.warn("Can't make fresh bookmark file:" + _context.t0);
147
112
  return _context.abrupt("return", userContext);
148
113
  case 22:
149
114
  _context.next = 24;
@@ -153,7 +118,7 @@ function _findBookmarkDocument() {
153
118
  _context.next = 28;
154
119
  break;
155
120
  case 27:
156
- alert('You seem to have no bookmark file and not even a profile file.');
121
+ debug.warn('You seem to have no bookmark file, nor even a profile file!');
157
122
  case 28:
158
123
  return _context.abrupt("return", userContext);
159
124
  case 29:
@@ -208,7 +173,7 @@ function _addBookmark() {
208
173
  _context2.prev = 14;
209
174
  _context2.t0 = _context2["catch"](9);
210
175
  msg = 'Making bookmark: ' + _context2.t0;
211
- alert.error(msg);
176
+ debug.warn(msg);
212
177
  return _context2.abrupt("return", null);
213
178
  case 19:
214
179
  return _context2.abrupt("return", bookmark);
@@ -261,7 +226,7 @@ function _toggleBookmark() {
261
226
  _context3.prev = 15;
262
227
  _context3.t0 = _context3["catch"](8);
263
228
  debug.error('Cant delete bookmark:' + _context3.t0);
264
- alert('Cant delete bookmark:' + _context3.t0);
229
+ debug.warn('Cannot delete bookmark:' + _context3.t0);
265
230
  case 19:
266
231
  i++;
267
232
  _context3.next = 7;
@@ -1 +1 @@
1
- {"version":3,"file":"bookmarks.js","names":["debug","_interopRequireWildcard","require","_iconBase","_index","ns","pad","rdf","style","utils","widgets","_solidLogic","_login","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","UI","icons","media","$rdf","BOOK","Namespace","BOOKMARK_ICON","label","dom","window","document","createIfNotExists","doc","Promise","resolve","reject","store","fetcher","load","then","response","log","err","status","webOperation","uri","data","contentType","requested","updatePromise","del","ins","updater","update","ok","errorBody","Error","findBookmarkDocument","_x","_findBookmarkDocument","apply","arguments","_asyncToGenerator2","_regenerator","mark","_callee","userContext","theClass","fileTail","isPublic","newBookmarkFile","wrap","_callee$","_context","prev","next","findAppInstances","instances","length","bookmarkDocument","alert","publicProfile","sym","dir","t0","error","abrupt","registerInTypeIndex","index","stop","addBookmark","_x2","_x3","_addBookmark","_callee2","context","target","title","me","author","bookmarkDoc","bookmark","msg","_callee2$","_context2","authn","currentUser","any","foaf","anyValue","sioc","slice","newThing","st","dct","Date","toggleBookmark","_x4","_x5","_x6","_toggleBookmark","_callee3","bookmarkButton","bookmarks","_callee3$","_context3","each","confirm","connectedStatements","backgroundColor","sent","renderBookmarksButton","_x7","_x8","_renderBookmarksButton","_callee5","setBookmarkButtonColor","_setBookmarkButtonColor","_callee5$","_context5","_setBookmarkButtonCol2","_callee4","bookmarked","_callee4$","_context4","buttonStyle","_setBookmarkButtonCol","_x9","button","iconBase"],"sources":["../../src/chat/bookmarks.js"],"sourcesContent":["/**\n * Functions related to chat and bookmarks\n * @packageDocumentation\n */\n\n/* global alert confirm */\nimport * as debug from '../debug'\nimport { icons } from '../iconBase'\nimport { media } from '../media/index'\nimport * as ns from '../ns'\nimport * as pad from '../pad'\nimport * as rdf from 'rdflib' // pull in first avoid cross-refs\nimport * as style from '../style'\nimport * as utils from '../utils'\nimport * as widgets from '../widgets'\nimport { store, registerInTypeIndex, authn } from 'solid-logic'\nimport { findAppInstances } from '../login/login'\n\nconst UI = { icons, ns, media, pad, rdf, style, utils, widgets }\nconst $rdf = UI.rdf\n\nconst BOOK = $rdf.Namespace('http://www.w3.org/2002/01/bookmark#')\nconst BOOKMARK_ICON = 'noun_45961.svg'\n\nconst label = utils.label\nconst dom = window.document || null\n\n/** Create a resource if it really does not exist\n * Be absolutely sure something does not exist before creating a new empty file\n * as otherwise existing could be deleted.\n * @param doc {NamedNode} - The resource\n */\nfunction createIfNotExists (doc) {\n return new Promise(function (resolve, reject) {\n store.fetcher.load(doc).then(\n response => {\n debug.log('createIfNotExists doc exists, all good ' + doc)\n // store.fetcher.webOperation('HEAD', doc.uri).then(response => {\n resolve(response)\n },\n err => {\n if (err.response.status === 404) {\n debug.log(\n 'createIfNotExists doc does NOT exist, will create... ' + doc\n )\n\n store.fetcher\n .webOperation('PUT', doc.uri, {\n data: '',\n contentType: 'text/turtle'\n })\n .then(\n response => {\n // fetcher.requested[doc.uri] = 'done' // do not need to read ?? but no headers\n delete store.fetcher.requested[doc.uri] // delete cached 404 error\n debug.log('createIfNotExists doc created ok ' + doc)\n resolve(response)\n },\n err => {\n debug.log('createIfNotExists doc FAILED: ' + doc + ': ' + err)\n reject(err)\n }\n )\n } else {\n debug.log(\n 'createIfNotExists doc load error NOT 404: ' + doc + ': ' + err\n )\n reject(err)\n }\n }\n )\n })\n}\n\n// @@@@ use the one in rdflib.js when it is avaiable and delete this\nfunction updatePromise (del, ins) {\n return new Promise(function (resolve, reject) {\n store.updater.update(del, ins, function (uri, ok, errorBody) {\n if (!ok) {\n reject(new Error(errorBody))\n } else {\n resolve()\n }\n }) // callback\n }) // promise\n}\n\n/* Bookmarking\n */\n/** Find a user's bookmarks\n */\nexport async function findBookmarkDocument (userContext) {\n const theClass = BOOK('Bookmark')\n const fileTail = 'bookmarks.ttl'\n const isPublic = true\n\n await findAppInstances(userContext, theClass, isPublic) // public -- only look for public links\n\n if (userContext.instances && userContext.instances.length > 0) {\n userContext.bookmarkDocument = userContext.instances[0]\n if (userContext.instances.length > 1) {\n alert('More than one bookmark file! ' + userContext.instances)\n }\n } else {\n if (userContext.publicProfile) {\n // publicProfile or preferencesFile\n const newBookmarkFile = $rdf.sym(\n userContext.publicProfile.dir().uri + fileTail\n )\n try {\n debug.log('Creating new bookmark file ' + newBookmarkFile)\n await createIfNotExists(newBookmarkFile)\n } catch (e) {\n alert.error(\"Can't make fresh bookmark file:\" + e)\n return userContext\n }\n await registerInTypeIndex(\n newBookmarkFile,\n userContext.index,\n theClass\n )\n userContext.bookmarkDocument = newBookmarkFile\n } else {\n alert('You seem to have no bookmark file and not even a profile file.')\n }\n }\n return userContext\n}\n\n/** Add a bookmark\n */\n\nasync function addBookmark (context, target) {\n /* like\n @prefix terms: <http://purl.org/dc/terms/>.\n @prefix bookm: <http://www.w3.org/2002/01/bookmark#>.\n @prefix n0: <http://xmlns.com/foaf/0.1/>.\n <> terms:references <#0.5534145389246576>.\n <#0.5534145389246576>\n a bookm:Bookmark;\n terms:created \"2019-01-26T20:26:44.374Z\"^^XML:dateTime;\n terms:title \"Herons\";\n bookm:recalls wiki:Heron;\n n0:maker c:me.\n */\n let title = ''\n const me = authn.currentUser() // If already logged on\n if (!me) throw new Error('Must be logged on to add Bookmark')\n\n const author = store.any(target, ns.foaf('maker'))\n title =\n label(author) + ': ' + store.anyValue(target, ns.sioc('content')).slice(0, 80) // @@ add chat title too?\n const bookmarkDoc = context.bookmarkDocument\n const bookmark = UI.widgets.newThing(bookmarkDoc, title)\n const ins = [\n $rdf.st(bookmarkDoc, UI.ns.dct('references'), bookmark, bookmarkDoc),\n $rdf.st(bookmark, UI.ns.rdf('type'), BOOK('Bookmark'), bookmarkDoc),\n $rdf.st(bookmark, UI.ns.dct('created'), new Date(), bookmarkDoc),\n $rdf.st(bookmark, BOOK('recalls'), target, bookmarkDoc),\n $rdf.st(bookmark, UI.ns.foaf('maker'), me, bookmarkDoc),\n $rdf.st(bookmark, UI.ns.dct('title'), title, bookmarkDoc)\n ]\n try {\n await updatePromise([], ins) // 20190118A\n } catch (e) {\n const msg = 'Making bookmark: ' + e\n alert.error(msg)\n return null\n }\n return bookmark\n}\n\nexport async function toggleBookmark (userContext, target, bookmarkButton) {\n await store.fetcher.load(userContext.bookmarkDocument)\n const bookmarks = store.each(\n null,\n BOOK('recalls'),\n target,\n userContext.bookmarkDocument\n )\n if (bookmarks.length) {\n // delete\n if (!confirm('Delete bookmark on this?' + bookmarks.length)) return\n for (let i = 0; i < bookmarks.length; i++) {\n try {\n await updatePromise(store.connectedStatements(bookmarks[i]), [])\n bookmarkButton.style.backgroundColor = 'white'\n debug.log('Bookmark deleted: ' + bookmarks[i])\n } catch (e) {\n debug.error('Cant delete bookmark:' + e)\n alert('Cant delete bookmark:' + e)\n }\n }\n } else {\n const bookmark = await addBookmark(userContext, target)\n bookmarkButton.style.backgroundColor = 'yellow'\n debug.log('Bookmark added: ' + bookmark)\n }\n}\n\nexport async function renderBookmarksButton (userContext, target) {\n async function setBookmarkButtonColor (bookmarkButton) {\n await store.fetcher.load(userContext.bookmarkDocument)\n const bookmarked = store.any(\n null,\n BOOK('recalls'),\n bookmarkButton.target,\n userContext.bookmarkDocument\n )\n bookmarkButton.style = UI.style.buttonStyle\n if (bookmarked) bookmarkButton.style.backgroundColor = 'yellow'\n }\n\n let bookmarkButton\n if (userContext.bookmarkDocument) {\n bookmarkButton = UI.widgets.button(\n dom,\n UI.icons.iconBase + BOOKMARK_ICON,\n label(BOOK('Bookmark')),\n () => {\n toggleBookmark(userContext, target, bookmarkButton)\n }\n )\n bookmarkButton.target = target\n await setBookmarkButtonColor(bookmarkButton)\n return bookmarkButton\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"bookmarks.js","names":["debug","_interopRequireWildcard","require","_iconBase","_index","ns","pad","rdf","style","utils","widgets","_solidLogic","_login","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","UI","icons","media","$rdf","BOOK","Namespace","BOOKMARK_ICON","label","dom","window","document","updatePromise","del","ins","Promise","resolve","reject","store","updater","update","uri","ok","errorBody","Error","findBookmarkDocument","_x","_findBookmarkDocument","apply","arguments","_asyncToGenerator2","_regenerator","mark","_callee","userContext","theClass","fileTail","isPublic","newBookmarkFile","wrap","_callee$","_context","prev","next","findAppInstances","instances","length","bookmarkDocument","warn","publicProfile","sym","dir","log","fetcher","createIfNotExists","t0","abrupt","registerInTypeIndex","index","stop","addBookmark","_x2","_x3","_addBookmark","_callee2","context","target","title","me","author","bookmarkDoc","bookmark","msg","_callee2$","_context2","authn","currentUser","any","foaf","anyValue","sioc","slice","newThing","st","dct","Date","toggleBookmark","_x4","_x5","_x6","_toggleBookmark","_callee3","bookmarkButton","bookmarks","_callee3$","_context3","load","each","confirm","connectedStatements","backgroundColor","error","sent","renderBookmarksButton","_x7","_x8","_renderBookmarksButton","_callee5","setBookmarkButtonColor","_setBookmarkButtonColor","_callee5$","_context5","_setBookmarkButtonCol2","_callee4","bookmarked","_callee4$","_context4","buttonStyle","_setBookmarkButtonCol","_x9","button","iconBase"],"sources":["../../src/chat/bookmarks.js"],"sourcesContent":["/**\n * Functions related to chat and bookmarks\n * @packageDocumentation\n */\n\nimport * as debug from '../debug'\nimport { icons } from '../iconBase'\nimport { media } from '../media/index'\nimport * as ns from '../ns'\nimport * as pad from '../pad'\nimport * as rdf from 'rdflib' // pull in first avoid cross-refs\nimport * as style from '../style'\nimport * as utils from '../utils'\nimport * as widgets from '../widgets'\nimport { store, registerInTypeIndex, authn } from 'solid-logic'\nimport { findAppInstances } from '../login/login'\n\nconst UI = { icons, ns, media, pad, rdf, style, utils, widgets }\nconst $rdf = UI.rdf\n\nconst BOOK = $rdf.Namespace('http://www.w3.org/2002/01/bookmark#')\nconst BOOKMARK_ICON = 'noun_45961.svg'\n\nconst label = utils.label\nconst dom = window.document || null\n\n// @@@@ use the one in rdflib.js when it is avaiable and delete this\nfunction updatePromise (del, ins) {\n return new Promise(function (resolve, reject) {\n store.updater.update(del, ins, function (uri, ok, errorBody) {\n if (!ok) {\n reject(new Error(errorBody))\n } else {\n resolve()\n }\n }) // callback\n }) // promise\n}\n\n/* Bookmarking\n */\n/** Find a user's bookmarks\n */\nexport async function findBookmarkDocument (userContext) {\n const theClass = BOOK('Bookmark')\n const fileTail = 'bookmarks.ttl'\n const isPublic = true\n\n await findAppInstances(userContext, theClass, isPublic) // public -- only look for public links\n\n if (userContext.instances && userContext.instances.length > 0) {\n userContext.bookmarkDocument = userContext.instances[0]\n if (userContext.instances.length > 1) {\n debug.warn('More than one bookmark file! ' + userContext.instances) // @@ todo - deal with > 1\n // Note: should pick up community bookmarks as well\n }\n } else {\n if (userContext.publicProfile) {\n // publicProfile or preferencesFile\n const newBookmarkFile = $rdf.sym(\n userContext.publicProfile.dir().uri + fileTail\n )\n try {\n debug.log('Creating new bookmark file ' + newBookmarkFile)\n await store.fetcher.createIfNotExists(newBookmarkFile)\n } catch (e) {\n debug.warn(\"Can't make fresh bookmark file:\" + e)\n return userContext\n }\n await registerInTypeIndex(\n newBookmarkFile,\n userContext.index,\n theClass\n )\n userContext.bookmarkDocument = newBookmarkFile\n } else {\n debug.warn('You seem to have no bookmark file, nor even a profile file!')\n }\n }\n return userContext\n}\n\n/** Add a bookmark\n */\n\nasync function addBookmark (context, target) {\n /* like\n @prefix terms: <http://purl.org/dc/terms/>.\n @prefix bookm: <http://www.w3.org/2002/01/bookmark#>.\n @prefix n0: <http://xmlns.com/foaf/0.1/>.\n <> terms:references <#0.5534145389246576>.\n <#0.5534145389246576>\n a bookm:Bookmark;\n terms:created \"2019-01-26T20:26:44.374Z\"^^XML:dateTime;\n terms:title \"Herons\";\n bookm:recalls wiki:Heron;\n n0:maker c:me.\n */\n let title = ''\n const me = authn.currentUser() // If already logged on\n if (!me) throw new Error('Must be logged on to add Bookmark')\n\n const author = store.any(target, ns.foaf('maker'))\n title =\n label(author) + ': ' + store.anyValue(target, ns.sioc('content')).slice(0, 80) // @@ add chat title too?\n const bookmarkDoc = context.bookmarkDocument\n const bookmark = UI.widgets.newThing(bookmarkDoc, title)\n const ins = [\n $rdf.st(bookmarkDoc, UI.ns.dct('references'), bookmark, bookmarkDoc),\n $rdf.st(bookmark, UI.ns.rdf('type'), BOOK('Bookmark'), bookmarkDoc),\n $rdf.st(bookmark, UI.ns.dct('created'), new Date(), bookmarkDoc),\n $rdf.st(bookmark, BOOK('recalls'), target, bookmarkDoc),\n $rdf.st(bookmark, UI.ns.foaf('maker'), me, bookmarkDoc),\n $rdf.st(bookmark, UI.ns.dct('title'), title, bookmarkDoc)\n ]\n try {\n await updatePromise([], ins) // 20190118A\n } catch (e) {\n const msg = 'Making bookmark: ' + e\n debug.warn(msg)\n return null\n }\n return bookmark\n}\n\nexport async function toggleBookmark (userContext, target, bookmarkButton) {\n await store.fetcher.load(userContext.bookmarkDocument)\n const bookmarks = store.each(\n null,\n BOOK('recalls'),\n target,\n userContext.bookmarkDocument\n )\n if (bookmarks.length) {\n // delete\n if (!confirm('Delete bookmark on this?' + bookmarks.length)) return\n for (let i = 0; i < bookmarks.length; i++) {\n try {\n await updatePromise(store.connectedStatements(bookmarks[i]), [])\n bookmarkButton.style.backgroundColor = 'white'\n debug.log('Bookmark deleted: ' + bookmarks[i])\n } catch (e) {\n debug.error('Cant delete bookmark:' + e)\n debug.warn('Cannot delete bookmark:' + e)\n }\n }\n } else {\n const bookmark = await addBookmark(userContext, target)\n bookmarkButton.style.backgroundColor = 'yellow'\n debug.log('Bookmark added: ' + bookmark)\n }\n}\n\nexport async function renderBookmarksButton (userContext, target) {\n async function setBookmarkButtonColor (bookmarkButton) {\n await store.fetcher.load(userContext.bookmarkDocument)\n const bookmarked = store.any(\n null,\n BOOK('recalls'),\n bookmarkButton.target,\n userContext.bookmarkDocument\n )\n bookmarkButton.style = UI.style.buttonStyle\n if (bookmarked) bookmarkButton.style.backgroundColor = 'yellow'\n }\n\n let bookmarkButton\n if (userContext.bookmarkDocument) {\n bookmarkButton = UI.widgets.button(\n dom,\n UI.icons.iconBase + BOOKMARK_ICON,\n label(BOOK('Bookmark')),\n () => {\n toggleBookmark(userContext, target, bookmarkButton)\n }\n )\n bookmarkButton.target = target\n await setBookmarkButtonColor(bookmarkButton)\n return bookmarkButton\n }\n}\n"],"mappings":";;;;;;;;;;;;AAKA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,EAAA,GAAAJ,uBAAA,CAAAC,OAAA;AACA,IAAAI,GAAA,GAAAL,uBAAA,CAAAC,OAAA;AACA,IAAAK,GAAA,GAAAN,uBAAA,CAAAC,OAAA;AACA,IAAAM,KAAA,GAAAP,uBAAA,CAAAC,OAAA;AACA,IAAAO,KAAA,GAAAR,uBAAA,CAAAC,OAAA;AACA,IAAAQ,OAAA,GAAAT,uBAAA,CAAAC,OAAA;AACA,IAAAS,WAAA,GAAAT,OAAA;AACA,IAAAU,MAAA,GAAAV,OAAA;AAAiD,SAAAW,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAb,wBAAAa,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,gBAAAK,OAAA,CAAAL,CAAA,0BAAAA,CAAA,sBAAAA,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,cAAAR,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAfjD;AACA;AACA;AACA;;AAO8B;;AAO9B,IAAMY,EAAE,GAAG;EAAEC,KAAK,EAALA,eAAK;EAAE9B,EAAE,EAAFA,EAAE;EAAE+B,KAAK,EAALA,YAAK;EAAE9B,GAAG,EAAHA,GAAG;EAAEC,GAAG,EAAHA,GAAG;EAAEC,KAAK,EAALA,KAAK;EAAEC,KAAK,EAALA,KAAK;EAAEC,OAAO,EAAPA;AAAQ,CAAC;AAChE,IAAM2B,IAAI,GAAGH,EAAE,CAAC3B,GAAG;AAEnB,IAAM+B,IAAI,GAAGD,IAAI,CAACE,SAAS,CAAC,qCAAqC,CAAC;AAClE,IAAMC,aAAa,GAAG,gBAAgB;AAEtC,IAAMC,KAAK,GAAGhC,KAAK,CAACgC,KAAK;AACzB,IAAMC,GAAG,GAAGC,MAAM,CAACC,QAAQ,IAAI,IAAI;;AAEnC;AACA,SAASC,aAAaA,CAAEC,GAAG,EAAEC,GAAG,EAAE;EAChC,OAAO,IAAIC,OAAO,CAAC,UAAUC,OAAO,EAAEC,MAAM,EAAE;IAC5CC,iBAAK,CAACC,OAAO,CAACC,MAAM,CAACP,GAAG,EAAEC,GAAG,EAAE,UAAUO,GAAG,EAAEC,EAAE,EAAEC,SAAS,EAAE;MAC3D,IAAI,CAACD,EAAE,EAAE;QACPL,MAAM,CAAC,IAAIO,KAAK,CAACD,SAAS,CAAC,CAAC;MAC9B,CAAC,MAAM;QACLP,OAAO,CAAC,CAAC;MACX;IACF,CAAC,CAAC,EAAC;EACL,CAAC,CAAC,EAAC;AACL;;AAEA;AACA;AACA;AACA;AADA,SAEsBS,oBAAoBA,CAAAC,EAAA;EAAA,OAAAC,qBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAuC1C;AACA;AADA,SAAAF,sBAAA;EAAAA,qBAAA,OAAAG,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAvCO,SAAAC,QAAqCC,WAAW;IAAA,IAAAC,QAAA,EAAAC,QAAA,EAAAC,QAAA,EAAAC,eAAA;IAAA,OAAAP,YAAA,YAAAQ,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAC/CR,QAAQ,GAAG9B,IAAI,CAAC,UAAU,CAAC;UAC3B+B,QAAQ,GAAG,eAAe;UAC1BC,QAAQ,GAAG,IAAI;UAAAI,QAAA,CAAAE,IAAA;UAAA,OAEf,IAAAC,uBAAgB,EAACV,WAAW,EAAEC,QAAQ,EAAEE,QAAQ,CAAC;QAAA;UAAA,MAEnDH,WAAW,CAACW,SAAS,IAAIX,WAAW,CAACW,SAAS,CAACC,MAAM,GAAG,CAAC;YAAAL,QAAA,CAAAE,IAAA;YAAA;UAAA;UAC3DT,WAAW,CAACa,gBAAgB,GAAGb,WAAW,CAACW,SAAS,CAAC,CAAC,CAAC;UACvD,IAAIX,WAAW,CAACW,SAAS,CAACC,MAAM,GAAG,CAAC,EAAE;YACpC/E,KAAK,CAACiF,IAAI,CAAC,+BAA+B,GAAGd,WAAW,CAACW,SAAS,CAAC,EAAC;YACpE;UACF;UAACJ,QAAA,CAAAE,IAAA;UAAA;QAAA;UAAA,KAEGT,WAAW,CAACe,aAAa;YAAAR,QAAA,CAAAE,IAAA;YAAA;UAAA;UAC3B;UACML,eAAe,GAAGlC,IAAI,CAAC8C,GAAG,CAC9BhB,WAAW,CAACe,aAAa,CAACE,GAAG,CAAC,CAAC,CAAC9B,GAAG,GAAGe,QACxC,CAAC;UAAAK,QAAA,CAAAC,IAAA;UAEC3E,KAAK,CAACqF,GAAG,CAAC,6BAA6B,GAAGd,eAAe,CAAC;UAAAG,QAAA,CAAAE,IAAA;UAAA,OACpDzB,iBAAK,CAACmC,OAAO,CAACC,iBAAiB,CAAChB,eAAe,CAAC;QAAA;UAAAG,QAAA,CAAAE,IAAA;UAAA;QAAA;UAAAF,QAAA,CAAAC,IAAA;UAAAD,QAAA,CAAAc,EAAA,GAAAd,QAAA;UAEtD1E,KAAK,CAACiF,IAAI,CAAC,iCAAiC,GAAAP,QAAA,CAAAc,EAAI,CAAC;UAAA,OAAAd,QAAA,CAAAe,MAAA,WAC1CtB,WAAW;QAAA;UAAAO,QAAA,CAAAE,IAAA;UAAA,OAEd,IAAAc,+BAAmB,EACvBnB,eAAe,EACfJ,WAAW,CAACwB,KAAK,EACjBvB,QACF,CAAC;QAAA;UACDD,WAAW,CAACa,gBAAgB,GAAGT,eAAe;UAAAG,QAAA,CAAAE,IAAA;UAAA;QAAA;UAE9C5E,KAAK,CAACiF,IAAI,CAAC,6DAA6D,CAAC;QAAA;UAAA,OAAAP,QAAA,CAAAe,MAAA,WAGtEtB,WAAW;QAAA;QAAA;UAAA,OAAAO,QAAA,CAAAkB,IAAA;MAAA;IAAA,GAAA1B,OAAA;EAAA,CACnB;EAAA,OAAAN,qBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAAA,SAKc+B,WAAWA,CAAAC,GAAA,EAAAC,GAAA;EAAA,OAAAC,YAAA,CAAAnC,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAkC,aAAA;EAAAA,YAAA,OAAAjC,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAA1B,SAAAgC,SAA4BC,OAAO,EAAEC,MAAM;IAAA,IAAAC,KAAA,EAAAC,EAAA,EAAAC,MAAA,EAAAC,WAAA,EAAAC,QAAA,EAAAzD,GAAA,EAAA0D,GAAA;IAAA,OAAAzC,YAAA,YAAAQ,IAAA,UAAAkC,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAAhC,IAAA,GAAAgC,SAAA,CAAA/B,IAAA;QAAA;UACzC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;UACMwB,KAAK,GAAG,EAAE;UACRC,EAAE,GAAGO,iBAAK,CAACC,WAAW,CAAC,CAAC,EAAC;UAAA,IAC1BR,EAAE;YAAAM,SAAA,CAAA/B,IAAA;YAAA;UAAA;UAAA,MAAQ,IAAInB,KAAK,CAAC,mCAAmC,CAAC;QAAA;UAEvD6C,MAAM,GAAGnD,iBAAK,CAAC2D,GAAG,CAACX,MAAM,EAAE9F,EAAE,CAAC0G,IAAI,CAAC,OAAO,CAAC,CAAC;UAClDX,KAAK,GACH3D,KAAK,CAAC6D,MAAM,CAAC,GAAG,IAAI,GAAGnD,iBAAK,CAAC6D,QAAQ,CAACb,MAAM,EAAE9F,EAAE,CAAC4G,IAAI,CAAC,SAAS,CAAC,CAAC,CAACC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAC;UAC3EX,WAAW,GAAGL,OAAO,CAAClB,gBAAgB;UACtCwB,QAAQ,GAAGtE,EAAE,CAACxB,OAAO,CAACyG,QAAQ,CAACZ,WAAW,EAAEH,KAAK,CAAC;UAClDrD,GAAG,GAAG,CACVV,IAAI,CAAC+E,EAAE,CAACb,WAAW,EAAErE,EAAE,CAAC7B,EAAE,CAACgH,GAAG,CAAC,YAAY,CAAC,EAAEb,QAAQ,EAAED,WAAW,CAAC,EACpElE,IAAI,CAAC+E,EAAE,CAACZ,QAAQ,EAAEtE,EAAE,CAAC7B,EAAE,CAACE,GAAG,CAAC,MAAM,CAAC,EAAE+B,IAAI,CAAC,UAAU,CAAC,EAAEiE,WAAW,CAAC,EACnElE,IAAI,CAAC+E,EAAE,CAACZ,QAAQ,EAAEtE,EAAE,CAAC7B,EAAE,CAACgH,GAAG,CAAC,SAAS,CAAC,EAAE,IAAIC,IAAI,CAAC,CAAC,EAAEf,WAAW,CAAC,EAChElE,IAAI,CAAC+E,EAAE,CAACZ,QAAQ,EAAElE,IAAI,CAAC,SAAS,CAAC,EAAE6D,MAAM,EAAEI,WAAW,CAAC,EACvDlE,IAAI,CAAC+E,EAAE,CAACZ,QAAQ,EAAEtE,EAAE,CAAC7B,EAAE,CAAC0G,IAAI,CAAC,OAAO,CAAC,EAAEV,EAAE,EAAEE,WAAW,CAAC,EACvDlE,IAAI,CAAC+E,EAAE,CAACZ,QAAQ,EAAEtE,EAAE,CAAC7B,EAAE,CAACgH,GAAG,CAAC,OAAO,CAAC,EAAEjB,KAAK,EAAEG,WAAW,CAAC,CAC1D;UAAAI,SAAA,CAAAhC,IAAA;UAAAgC,SAAA,CAAA/B,IAAA;UAAA,OAEO/B,aAAa,CAAC,EAAE,EAAEE,GAAG,CAAC;QAAA;UAAA4D,SAAA,CAAA/B,IAAA;UAAA;QAAA;UAAA+B,SAAA,CAAAhC,IAAA;UAAAgC,SAAA,CAAAnB,EAAA,GAAAmB,SAAA;UAEtBF,GAAG,GAAG,mBAAmB,GAAAE,SAAA,CAAAnB,EAAI;UACnCxF,KAAK,CAACiF,IAAI,CAACwB,GAAG,CAAC;UAAA,OAAAE,SAAA,CAAAlB,MAAA,WACR,IAAI;QAAA;UAAA,OAAAkB,SAAA,CAAAlB,MAAA,WAENe,QAAQ;QAAA;QAAA;UAAA,OAAAG,SAAA,CAAAf,IAAA;MAAA;IAAA,GAAAK,QAAA;EAAA,CAChB;EAAA,OAAAD,YAAA,CAAAnC,KAAA,OAAAC,SAAA;AAAA;AAAA,SAEqByD,cAAcA,CAAAC,GAAA,EAAAC,GAAA,EAAAC,GAAA;EAAA,OAAAC,eAAA,CAAA9D,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAA6D,gBAAA;EAAAA,eAAA,OAAA5D,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAA7B,SAAA2D,SAA+BzD,WAAW,EAAEgC,MAAM,EAAE0B,cAAc;IAAA,IAAAC,SAAA,EAAA9F,CAAA,EAAAwE,QAAA;IAAA,OAAAxC,YAAA,YAAAQ,IAAA,UAAAuD,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAArD,IAAA,GAAAqD,SAAA,CAAApD,IAAA;QAAA;UAAAoD,SAAA,CAAApD,IAAA;UAAA,OACjEzB,iBAAK,CAACmC,OAAO,CAAC2C,IAAI,CAAC9D,WAAW,CAACa,gBAAgB,CAAC;QAAA;UAChD8C,SAAS,GAAG3E,iBAAK,CAAC+E,IAAI,CAC1B,IAAI,EACJ5F,IAAI,CAAC,SAAS,CAAC,EACf6D,MAAM,EACNhC,WAAW,CAACa,gBACd,CAAC;UAAA,KACG8C,SAAS,CAAC/C,MAAM;YAAAiD,SAAA,CAAApD,IAAA;YAAA;UAAA;UAAA,IAEbuD,OAAO,CAAC,0BAA0B,GAAGL,SAAS,CAAC/C,MAAM,CAAC;YAAAiD,SAAA,CAAApD,IAAA;YAAA;UAAA;UAAA,OAAAoD,SAAA,CAAAvC,MAAA;QAAA;UAClDzD,CAAC,GAAG,CAAC;QAAA;UAAA,MAAEA,CAAC,GAAG8F,SAAS,CAAC/C,MAAM;YAAAiD,SAAA,CAAApD,IAAA;YAAA;UAAA;UAAAoD,SAAA,CAAArD,IAAA;UAAAqD,SAAA,CAAApD,IAAA;UAAA,OAE1B/B,aAAa,CAACM,iBAAK,CAACiF,mBAAmB,CAACN,SAAS,CAAC9F,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAAA;UAChE6F,cAAc,CAACrH,KAAK,CAAC6H,eAAe,GAAG,OAAO;UAC9CrI,KAAK,CAACqF,GAAG,CAAC,oBAAoB,GAAGyC,SAAS,CAAC9F,CAAC,CAAC,CAAC;UAAAgG,SAAA,CAAApD,IAAA;UAAA;QAAA;UAAAoD,SAAA,CAAArD,IAAA;UAAAqD,SAAA,CAAAxC,EAAA,GAAAwC,SAAA;UAE9ChI,KAAK,CAACsI,KAAK,CAAC,uBAAuB,GAAAN,SAAA,CAAAxC,EAAI,CAAC;UACxCxF,KAAK,CAACiF,IAAI,CAAC,yBAAyB,GAAA+C,SAAA,CAAAxC,EAAI,CAAC;QAAA;UAPPxD,CAAC,EAAE;UAAAgG,SAAA,CAAApD,IAAA;UAAA;QAAA;UAAAoD,SAAA,CAAApD,IAAA;UAAA;QAAA;UAAAoD,SAAA,CAAApD,IAAA;UAAA,OAWlBiB,WAAW,CAAC1B,WAAW,EAAEgC,MAAM,CAAC;QAAA;UAAjDK,QAAQ,GAAAwB,SAAA,CAAAO,IAAA;UACdV,cAAc,CAACrH,KAAK,CAAC6H,eAAe,GAAG,QAAQ;UAC/CrI,KAAK,CAACqF,GAAG,CAAC,kBAAkB,GAAGmB,QAAQ,CAAC;QAAA;QAAA;UAAA,OAAAwB,SAAA,CAAApC,IAAA;MAAA;IAAA,GAAAgC,QAAA;EAAA,CAE3C;EAAA,OAAAD,eAAA,CAAA9D,KAAA,OAAAC,SAAA;AAAA;AAAA,SAEqB0E,qBAAqBA,CAAAC,GAAA,EAAAC,GAAA;EAAA,OAAAC,sBAAA,CAAA9E,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAA6E,uBAAA;EAAAA,sBAAA,OAAA5E,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAApC,SAAA2E,SAAsCzE,WAAW,EAAEgC,MAAM;IAAA,IAC/C0C,sBAAsB,EAAAC,uBAAA,EAAAjB,cAAA;IAAA,OAAA7D,YAAA,YAAAQ,IAAA,UAAAuE,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAArE,IAAA,GAAAqE,SAAA,CAAApE,IAAA;QAAA;UAAAkE,uBAAA,YAAAG,uBAAA;YAAAH,uBAAA,OAAA/E,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAArC,SAAAiF,SAAuCrB,cAAc;cAAA,IAAAsB,UAAA;cAAA,OAAAnF,YAAA,YAAAQ,IAAA,UAAA4E,UAAAC,SAAA;gBAAA,kBAAAA,SAAA,CAAA1E,IAAA,GAAA0E,SAAA,CAAAzE,IAAA;kBAAA;oBAAAyE,SAAA,CAAAzE,IAAA;oBAAA,OAC7CzB,iBAAK,CAACmC,OAAO,CAAC2C,IAAI,CAAC9D,WAAW,CAACa,gBAAgB,CAAC;kBAAA;oBAChDmE,UAAU,GAAGhG,iBAAK,CAAC2D,GAAG,CAC1B,IAAI,EACJxE,IAAI,CAAC,SAAS,CAAC,EACfuF,cAAc,CAAC1B,MAAM,EACrBhC,WAAW,CAACa,gBACd,CAAC;oBACD6C,cAAc,CAACrH,KAAK,GAAG0B,EAAE,CAAC1B,KAAK,CAAC8I,WAAW;oBAC3C,IAAIH,UAAU,EAAEtB,cAAc,CAACrH,KAAK,CAAC6H,eAAe,GAAG,QAAQ;kBAAA;kBAAA;oBAAA,OAAAgB,SAAA,CAAAzD,IAAA;gBAAA;cAAA,GAAAsD,QAAA;YAAA,CAChE;YAAA,OAAAJ,uBAAA,CAAAjF,KAAA,OAAAC,SAAA;UAAA;UAVc+E,sBAAsB,YAAAU,sBAAAC,GAAA;YAAA,OAAAV,uBAAA,CAAAjF,KAAA,OAAAC,SAAA;UAAA;UAAA,KAajCK,WAAW,CAACa,gBAAgB;YAAAgE,SAAA,CAAApE,IAAA;YAAA;UAAA;UAC9BiD,cAAc,GAAG3F,EAAE,CAACxB,OAAO,CAAC+I,MAAM,CAChC/G,GAAG,EACHR,EAAE,CAACC,KAAK,CAACuH,QAAQ,GAAGlH,aAAa,EACjCC,KAAK,CAACH,IAAI,CAAC,UAAU,CAAC,CAAC,EACvB,YAAM;YACJiF,cAAc,CAACpD,WAAW,EAAEgC,MAAM,EAAE0B,cAAc,CAAC;UACrD,CACF,CAAC;UACDA,cAAc,CAAC1B,MAAM,GAAGA,MAAM;UAAA6C,SAAA,CAAApE,IAAA;UAAA,OACxBiE,sBAAsB,CAAChB,cAAc,CAAC;QAAA;UAAA,OAAAmB,SAAA,CAAAvD,MAAA,WACrCoC,cAAc;QAAA;QAAA;UAAA,OAAAmB,SAAA,CAAApD,IAAA;MAAA;IAAA,GAAAgD,QAAA;EAAA,CAExB;EAAA,OAAAD,sBAAA,CAAA9E,KAAA,OAAAC,SAAA;AAAA"}