@homebridge-plugins/homebridge-sharkiq 1.3.2

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 (75) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/LICENSE +176 -0
  3. package/README.md +92 -0
  4. package/config.schema.json +114 -0
  5. package/dist/config.d.ts +7 -0
  6. package/dist/config.d.ts.map +1 -0
  7. package/dist/config.js +131 -0
  8. package/dist/config.js.map +1 -0
  9. package/dist/homebridge-ui/public/index.html +201 -0
  10. package/dist/homebridge-ui/server.d.ts +2 -0
  11. package/dist/homebridge-ui/server.d.ts.map +1 -0
  12. package/dist/homebridge-ui/server.js +47 -0
  13. package/dist/homebridge-ui/server.js.map +1 -0
  14. package/dist/index.d.ts +4 -0
  15. package/dist/index.d.ts.map +1 -0
  16. package/dist/index.js +7 -0
  17. package/dist/index.js.map +1 -0
  18. package/dist/login.d.ts +16 -0
  19. package/dist/login.d.ts.map +1 -0
  20. package/dist/login.js +242 -0
  21. package/dist/login.js.map +1 -0
  22. package/dist/platform.d.ts +16 -0
  23. package/dist/platform.d.ts.map +1 -0
  24. package/dist/platform.js +118 -0
  25. package/dist/platform.js.map +1 -0
  26. package/dist/platformAccessory.d.ts +29 -0
  27. package/dist/platformAccessory.d.ts.map +1 -0
  28. package/dist/platformAccessory.js +285 -0
  29. package/dist/platformAccessory.js.map +1 -0
  30. package/dist/settings.d.ts +3 -0
  31. package/dist/settings.d.ts.map +1 -0
  32. package/dist/settings.js +3 -0
  33. package/dist/settings.js.map +1 -0
  34. package/dist/sharkiq-js/ayla_api.d.ts +39 -0
  35. package/dist/sharkiq-js/ayla_api.d.ts.map +1 -0
  36. package/dist/sharkiq-js/ayla_api.js +289 -0
  37. package/dist/sharkiq-js/ayla_api.js.map +1 -0
  38. package/dist/sharkiq-js/const.d.ts +22 -0
  39. package/dist/sharkiq-js/const.d.ts.map +1 -0
  40. package/dist/sharkiq-js/const.js +23 -0
  41. package/dist/sharkiq-js/const.js.map +1 -0
  42. package/dist/sharkiq-js/properties.d.ts +52 -0
  43. package/dist/sharkiq-js/properties.d.ts.map +1 -0
  44. package/dist/sharkiq-js/properties.js +56 -0
  45. package/dist/sharkiq-js/properties.js.map +1 -0
  46. package/dist/sharkiq-js/sharkiq.d.ts +59 -0
  47. package/dist/sharkiq-js/sharkiq.d.ts.map +1 -0
  48. package/dist/sharkiq-js/sharkiq.js +359 -0
  49. package/dist/sharkiq-js/sharkiq.js.map +1 -0
  50. package/dist/type.d.ts +12 -0
  51. package/dist/type.d.ts.map +1 -0
  52. package/dist/type.js +2 -0
  53. package/dist/type.js.map +1 -0
  54. package/dist/utils.d.ts +10 -0
  55. package/dist/utils.d.ts.map +1 -0
  56. package/dist/utils.js +35 -0
  57. package/dist/utils.js.map +1 -0
  58. package/docs/.nojekyll +1 -0
  59. package/docs/assets/dmt/dmt-component-data.js +1 -0
  60. package/docs/assets/dmt/dmt-components.css +20 -0
  61. package/docs/assets/dmt/dmt-components.js +67 -0
  62. package/docs/assets/dmt/dmt-search.cmp +0 -0
  63. package/docs/assets/dmt/dmt-theme.css +1 -0
  64. package/docs/assets/hierarchy.js +1 -0
  65. package/docs/assets/highlight.css +57 -0
  66. package/docs/assets/icons.js +18 -0
  67. package/docs/assets/icons.svg +1 -0
  68. package/docs/assets/main.js +60 -0
  69. package/docs/assets/style.css +1611 -0
  70. package/docs/functions/default.html +2 -0
  71. package/docs/index.html +50 -0
  72. package/docs/modules.html +2 -0
  73. package/eslint.config.js +49 -0
  74. package/package.json +87 -0
  75. package/typedoc.json +21 -0
@@ -0,0 +1,359 @@
1
+ import { Buffer, transcode } from 'node:buffer';
2
+ import { safeJsonParse } from '../utils.js';
3
+ import { global_vars } from './const.js';
4
+ import { OperatingModes, PowerModes, Properties } from './properties.js';
5
+ // Strip text from property name
6
+ function _clean_property_name(raw_property_name) {
7
+ const check_for = ['SET_', 'GET_'];
8
+ if (check_for.some(v => raw_property_name.slice(0, 4).toUpperCase().includes(v))) {
9
+ return raw_property_name.slice(4);
10
+ }
11
+ else {
12
+ return raw_property_name;
13
+ }
14
+ }
15
+ const ERROR_DELAY = 10000;
16
+ const TIMEOUT_DELAY = 30000;
17
+ class SharkIqVacuum {
18
+ ayla_api;
19
+ _dsn;
20
+ _key;
21
+ _oem_model_number;
22
+ _vac_model_number;
23
+ _vac_serial_number;
24
+ properties_full;
25
+ property_values;
26
+ _settable_properties;
27
+ europe;
28
+ _name;
29
+ _firmware_version;
30
+ log;
31
+ _error;
32
+ // Shark IQ vacuum entity
33
+ constructor(ayla_api, device_dct, log, europe = false) {
34
+ this.ayla_api = ayla_api;
35
+ this._dsn = device_dct.dsn;
36
+ this._key = device_dct.key;
37
+ this._oem_model_number = device_dct.oem_model;
38
+ this._vac_model_number = '';
39
+ this._vac_serial_number = '';
40
+ this.properties_full = {};
41
+ this.property_values = {};
42
+ this._settable_properties = null;
43
+ this.europe = europe;
44
+ this._name = device_dct.product_name;
45
+ this._firmware_version = '';
46
+ this.log = log;
47
+ this._error = null;
48
+ }
49
+ // Get oem model number
50
+ get oem_model_number() {
51
+ return this._oem_model_number;
52
+ }
53
+ // Get vacuum model number
54
+ get vac_model_number() {
55
+ return this._vac_model_number;
56
+ }
57
+ // Get vacuum serial number
58
+ get vac_serial_number() {
59
+ return this._vac_serial_number;
60
+ }
61
+ // Get vacuum name
62
+ get name() {
63
+ return this._name;
64
+ }
65
+ // Get device serial number
66
+ get serial_number() {
67
+ return this._dsn;
68
+ }
69
+ // Get current operating mode
70
+ operating_mode() {
71
+ return this.get_property_value(Properties.OPERATING_MODE);
72
+ }
73
+ // Get current docked status
74
+ docked_status() {
75
+ return this.get_property_value(Properties.DOCKED_STATUS);
76
+ }
77
+ // Get current power mode
78
+ power_mode() {
79
+ return this.get_property_value(Properties.POWER_MODE);
80
+ }
81
+ // Update vacuum details such as the model and serial number.
82
+ _update_metadata() {
83
+ const model_and_serial = this.get_property_value(Properties.DEVICE_SERIAL_NUMBER);
84
+ const model_serial_split = model_and_serial.split(/(\s+)/).filter((e) => {
85
+ return e.trim().length > 0;
86
+ });
87
+ this._vac_model_number = model_serial_split[0];
88
+ this._vac_serial_number = model_serial_split[1];
89
+ this._firmware_version = this.get_property_value(Properties.ROBOT_FIRMWARE_VERSION);
90
+ }
91
+ // Get url for the endpoint of the setting a property API
92
+ set_property_endpoint(property_name) {
93
+ return `${this.europe ? global_vars.EU_DEVICE_URL : global_vars.DEVICE_URL}`
94
+ + `/apiv1/dsns/${this._dsn}/properties/${property_name}/datapoints.json`;
95
+ }
96
+ // Get a device property value
97
+ get_property_value(property_name) {
98
+ if (property_name.value) {
99
+ property_name = property_name.value;
100
+ }
101
+ return this.property_values[property_name];
102
+ }
103
+ // Set a device property value
104
+ async set_property_value(property_name, value, attempt = 0) {
105
+ if (property_name.value) {
106
+ property_name = property_name.value;
107
+ }
108
+ if (value.value) {
109
+ value = value.value;
110
+ }
111
+ const end_point = this.set_property_endpoint(`SET_${property_name}`);
112
+ const data = { datapoint: { value } };
113
+ try {
114
+ const auth_header = await this.ayla_api.auth_header();
115
+ const resp = await this.ayla_api.makeRequest('POST', end_point, data, auth_header);
116
+ if (resp.ok !== true) {
117
+ this.log.warn('Error setting property value:', property_name, value);
118
+ this.log.debug(`API Error: ${resp.response}`);
119
+ const status = await this.ayla_api.attempt_refresh(attempt);
120
+ if (!status && attempt === 1) {
121
+ return;
122
+ }
123
+ else {
124
+ await this.set_property_value(property_name, value, attempt + 1);
125
+ return;
126
+ }
127
+ }
128
+ this.properties_full[property_name] = value;
129
+ }
130
+ catch {
131
+ this.log.debug('Promise Rejected with setting property value.');
132
+ }
133
+ }
134
+ // Get the url for the endpoint that gets property values
135
+ get update_url() {
136
+ return `${this.europe ? global_vars.EU_DEVICE_URL : global_vars.DEVICE_URL}/apiv1/dsns/${this.serial_number}/properties.json`;
137
+ }
138
+ // Get properties
139
+ async update(property_list, attempt = 0) {
140
+ if (property_list) {
141
+ if (!Array.isArray(property_list)) {
142
+ property_list = [property_list];
143
+ }
144
+ }
145
+ const full_update = !property_list;
146
+ const url = this.update_url;
147
+ try {
148
+ if (!full_update && property_list.length !== 0) {
149
+ const params = new URLSearchParams();
150
+ property_list.forEach((property) => {
151
+ params.append('names[]', `GET_${property}`);
152
+ });
153
+ const auth_header = await this.ayla_api.auth_header();
154
+ const resp = await this.ayla_api.makeRequest('GET', `${url}?${params.toString()}`, null, auth_header);
155
+ try {
156
+ // Log raw response for debugging
157
+ this.log.debug(`Raw API Response: ${resp.response}`);
158
+ this.log.debug(`Response Status: ${resp.status}`);
159
+ this.log.debug(`Response OK: ${resp.ok}`);
160
+ // Use safe JSON parsing utility
161
+ const parseResult = safeJsonParse(resp.response);
162
+ if (!parseResult.success) {
163
+ this.log.warn(`Error parsing JSON response for properties: ${property_list.join(', ')}`);
164
+ this.log.debug(`Parse Error: ${parseResult.error}`);
165
+ return ERROR_DELAY;
166
+ }
167
+ const properties = parseResult.data;
168
+ if (resp.status === 429) {
169
+ this.log.debug('API Error: Too many requests');
170
+ this.log.debug('Waiting an extra 30 seconds before retrying...');
171
+ return TIMEOUT_DELAY;
172
+ }
173
+ else if (resp.ok !== true) {
174
+ this.log.warn('Error getting property values', property_list.join(', '));
175
+ if (properties.error !== undefined) {
176
+ this.log.debug(`Error Message: ${JSON.stringify(properties.error)}`);
177
+ }
178
+ const status = await this.ayla_api.attempt_refresh(attempt);
179
+ if (!status && attempt === 1) {
180
+ return ERROR_DELAY;
181
+ }
182
+ else {
183
+ return await this.update(property_list, attempt + 1);
184
+ }
185
+ }
186
+ else {
187
+ this._do_update(full_update, properties);
188
+ return 0;
189
+ }
190
+ }
191
+ catch (e) {
192
+ this.log.warn(`Error processing API response for properties: ${property_list.join(', ')}`);
193
+ this.log.debug(`Error Message: ${e}`);
194
+ this.log.debug(`Raw Response: ${resp.response}`);
195
+ return ERROR_DELAY;
196
+ }
197
+ }
198
+ else {
199
+ const auth_header = await this.ayla_api.auth_header();
200
+ const resp = await this.ayla_api.makeRequest('GET', url, null, auth_header);
201
+ try {
202
+ // Log raw response for debugging
203
+ this.log.debug(`Raw API Response (full update): ${resp.response}`);
204
+ this.log.debug(`Response Status: ${resp.status}`);
205
+ this.log.debug(`Response OK: ${resp.ok}`);
206
+ // Use safe JSON parsing utility
207
+ const parseResult = safeJsonParse(resp.response);
208
+ if (!parseResult.success) {
209
+ this.log.warn('Error parsing JSON response for full property update');
210
+ this.log.debug(`Parse Error: ${parseResult.error}`);
211
+ return ERROR_DELAY;
212
+ }
213
+ const properties = parseResult.data;
214
+ if (resp.status === 429) {
215
+ this.log.debug('API Error: Too many requests');
216
+ this.log.debug('Waiting an extra 30 seconds before retrying...');
217
+ return TIMEOUT_DELAY;
218
+ }
219
+ else if (resp.ok !== true) {
220
+ this.log.warn('Error getting property values.');
221
+ if (properties.error !== undefined) {
222
+ this.log.debug(`Error Message: ${JSON.stringify(properties.error)}`);
223
+ }
224
+ const status = await this.ayla_api.attempt_refresh(attempt);
225
+ if (!status && attempt === 1) {
226
+ return ERROR_DELAY;
227
+ }
228
+ else {
229
+ return await this.update(property_list, attempt + 1);
230
+ }
231
+ }
232
+ else {
233
+ this._do_update(full_update, properties);
234
+ return 0;
235
+ }
236
+ }
237
+ catch (e) {
238
+ this.log.warn('Error processing API response for properties.');
239
+ this.log.debug(`Error Message: ${e}`);
240
+ this.log.debug(`Raw Response: ${resp.response}`);
241
+ return ERROR_DELAY;
242
+ }
243
+ }
244
+ }
245
+ catch (e) {
246
+ this.log.debug('Promise Rejected with updating properties.');
247
+ return ERROR_DELAY;
248
+ }
249
+ }
250
+ // Update or set properties locally from update function
251
+ _do_update(full_update, properties) {
252
+ const property_names = properties.map((property) => {
253
+ return property.property.name;
254
+ });
255
+ let settable_properties = property_names.map((property_name) => {
256
+ if (property_name.toUpperCase().substring(0, 3) === 'SET') {
257
+ return _clean_property_name(property_name);
258
+ }
259
+ return null;
260
+ });
261
+ settable_properties = settable_properties.filter((el) => {
262
+ return el !== null;
263
+ });
264
+ const readable_properties = {};
265
+ for (let i = 0; i < properties.length; i++) {
266
+ if (properties[i].property.name.toUpperCase() !== 'SET') {
267
+ const property_name = _clean_property_name(properties[i].property.name);
268
+ readable_properties[property_name] = properties[i];
269
+ }
270
+ }
271
+ if (full_update || this._settable_properties === null) {
272
+ this._settable_properties = settable_properties;
273
+ }
274
+ else {
275
+ const combined_settable_properties = this._settable_properties.concat(settable_properties);
276
+ const result = combined_settable_properties.filter((item, pos) => {
277
+ return combined_settable_properties.indexOf(item) === pos;
278
+ });
279
+ this._settable_properties = result;
280
+ }
281
+ if (full_update) {
282
+ this.properties_full = {};
283
+ }
284
+ this.properties_full = {
285
+ ...this.properties_full,
286
+ ...readable_properties,
287
+ };
288
+ for (const [key, value] of Object.entries(readable_properties)) {
289
+ this.property_values[key] = value.property.value;
290
+ }
291
+ }
292
+ // Set vacuum operating mode
293
+ async set_operating_mode(mode) {
294
+ try {
295
+ await this.set_property_value(Properties.OPERATING_MODE, mode);
296
+ }
297
+ catch {
298
+ this.log.debug('Promise Rejected with setting opertating mode.');
299
+ }
300
+ }
301
+ // Encode room list for specifying multiple rooms
302
+ _encode_room_list(rooms) {
303
+ if (!rooms) {
304
+ return '*';
305
+ }
306
+ else if (rooms.length === 0) {
307
+ return '*';
308
+ }
309
+ const room_list = this._get_device_room_list();
310
+ let header = '\x80\x01\x0B\xCA\x02';
311
+ let rooms_enc = '';
312
+ rooms.forEach((room) => {
313
+ rooms_enc += `${String.fromCharCode(room.length) + room}\n`;
314
+ });
315
+ rooms_enc = rooms_enc.replace(/\n$/, '');
316
+ const footer = `\x1A${String.fromCharCode(room_list.identifier.length)}${room_list.identifier}`;
317
+ const header_byte = String.fromCharCode(0 + 1 + rooms_enc.length + footer.length);
318
+ header += header_byte;
319
+ header += '\n';
320
+ const latin1Buffer = transcode(Buffer.from(header + rooms_enc + footer), 'utf8', 'latin1');
321
+ const encoded = Buffer.from(latin1Buffer).toString('base64');
322
+ return encoded;
323
+ }
324
+ // Get object of the device room list for starting a clean
325
+ _get_device_room_list() {
326
+ const room_list = this.get_property_value(Properties.ROBOT_ROOM_LIST);
327
+ const split = room_list.split(':');
328
+ return {
329
+ identifier: split[0],
330
+ rooms: split.slice(1),
331
+ };
332
+ }
333
+ // Get device room list (will output * for all)
334
+ get_room_list() {
335
+ return this._get_device_room_list().rooms;
336
+ }
337
+ // Start the vacuum cleaning
338
+ async clean_rooms(rooms) {
339
+ try {
340
+ const payload = this._encode_room_list(rooms);
341
+ await this.set_property_value(Properties.AREAS_TO_CLEAN, payload);
342
+ await this.set_operating_mode(OperatingModes.START);
343
+ }
344
+ catch {
345
+ this.log.debug('Promise Rejected with starting clean.');
346
+ }
347
+ }
348
+ // Stop or cancel a vacuum cleaning
349
+ async cancel_clean() {
350
+ try {
351
+ await this.set_operating_mode(OperatingModes.RETURN);
352
+ }
353
+ catch {
354
+ this.log.debug('Promise Rejected with canceling clean.');
355
+ }
356
+ }
357
+ }
358
+ export { OperatingModes, PowerModes, Properties, SharkIqVacuum };
359
+ //# sourceMappingURL=sharkiq.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sharkiq.js","sourceRoot":"","sources":["../../src/sharkiq-js/sharkiq.ts"],"names":[],"mappings":"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"}
package/dist/type.d.ts ADDED
@@ -0,0 +1,12 @@
1
+ interface AuthData {
2
+ access_token: string;
3
+ refresh_token: string;
4
+ expiration: Date;
5
+ }
6
+ interface OAuthData {
7
+ state: string;
8
+ code_verify: string;
9
+ code_challenge: string;
10
+ }
11
+ export { AuthData, OAuthData };
12
+ //# sourceMappingURL=type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../src/type.ts"],"names":[],"mappings":"AAAA,UAAU,QAAQ;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,IAAI,CAAA;CACjB;AAED,UAAU,SAAS;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,CAAA;CACvB;AAED,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAA"}
package/dist/type.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type.js","sourceRoot":"","sources":["../src/type.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ declare function addSeconds(date: Date, seconds: number): Date;
2
+ declare function subtractSeconds(date: Date, seconds: number): Date;
3
+ declare function isValidDate(d: Date): boolean;
4
+ declare function safeJsonParse(jsonString: string): {
5
+ success: boolean;
6
+ data?: any;
7
+ error?: string;
8
+ };
9
+ export { addSeconds, isValidDate, safeJsonParse, subtractSeconds };
10
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AACA,iBAAS,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAErD;AAGD,iBAAS,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAE1D;AAED,iBAAS,WAAW,CAAC,CAAC,EAAE,IAAI,GAAG,OAAO,CAErC;AAGD,iBAAS,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,GAAG,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAsB3F;AAED,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,CAAA"}
package/dist/utils.js ADDED
@@ -0,0 +1,35 @@
1
+ // Add seconds to a date
2
+ function addSeconds(date, seconds) {
3
+ return new Date(date.getTime() + seconds * 1000);
4
+ }
5
+ // Subtract seconds from a date
6
+ function subtractSeconds(date, seconds) {
7
+ return new Date(date.getTime() - seconds * 1000);
8
+ }
9
+ function isValidDate(d) {
10
+ return d instanceof Date && !Number.isNaN(d.getTime());
11
+ }
12
+ // Safely parse JSON with better error handling
13
+ function safeJsonParse(jsonString) {
14
+ try {
15
+ // Check if input is a string
16
+ if (typeof jsonString !== 'string') {
17
+ return { success: false, error: 'Input is not a string' };
18
+ }
19
+ // Check if string is empty
20
+ if (!jsonString.trim()) {
21
+ return { success: false, error: 'Input is empty' };
22
+ }
23
+ // Check if string looks like HTML (common error response)
24
+ if (jsonString.trim().startsWith('<')) {
25
+ return { success: false, error: 'Input appears to be HTML, not JSON' };
26
+ }
27
+ const parsed = JSON.parse(jsonString);
28
+ return { success: true, data: parsed };
29
+ }
30
+ catch (error) {
31
+ return { success: false, error: error instanceof Error ? error.message : 'Unknown parsing error' };
32
+ }
33
+ }
34
+ export { addSeconds, isValidDate, safeJsonParse, subtractSeconds };
35
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,SAAS,UAAU,CAAC,IAAU,EAAE,OAAe;IAC7C,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,OAAO,GAAG,IAAI,CAAC,CAAA;AAClD,CAAC;AAED,+BAA+B;AAC/B,SAAS,eAAe,CAAC,IAAU,EAAE,OAAe;IAClD,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,OAAO,GAAG,IAAI,CAAC,CAAA;AAClD,CAAC;AAED,SAAS,WAAW,CAAC,CAAO;IAC1B,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;AACxD,CAAC;AAED,+CAA+C;AAC/C,SAAS,aAAa,CAAC,UAAkB;IACvC,IAAI,CAAC;QACH,6BAA6B;QAC7B,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;YACnC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAA;QAC3D,CAAC;QAED,2BAA2B;QAC3B,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;YACvB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAA;QACpD,CAAC;QAED,0DAA0D;QAC1D,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACtC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,oCAAoC,EAAE,CAAA;QACxE,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QACrC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;IACxC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,uBAAuB,EAAE,CAAA;IACpG,CAAC;AACH,CAAC;AAED,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,CAAA"}
package/docs/.nojekyll ADDED
@@ -0,0 +1 @@
1
+ TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false.
@@ -0,0 +1 @@
1
+ globalThis.dmtComponentDataBCMP = 'TZLPbhoxEMYNolKUZ+gh9yotuyxkcyNKWwm1aVFV9W7sgbXw2lvbmz83HoE+QsLC7qopufUB6LVw6qUXniUGNktO9ozm8/zG863RYc6IFB+ZGOo1qqYa1CUjME5iexvnER5AR1C4XqNKGkoac9D3xfk6MCF/2AUd3cVkaIsXDwJfsgE2TIpCWM1CrIZUXonxTMtYEfixRi8SA9cmpdDHMTdJhE3wux8LstHpN0V62yEZMkHbU8Kx1v8QykjAOFUg7H3+BfoctpoPtmiNXt56+Sccgo4wgVs/eSfi8K7hZt+wYrjH4a7lZe+LLhPH9afnm1cnbrOVd4QB1beySdNxf55bCqNiYqRKnLrrZV0lI1DmJnHrnj+7ABNIOm24Jy0/72JlW1r1zG25judlZ4SA1lKlbv30xGm6+debCM44wzr1nFOvUfdyCw52BgKp3/D9Vt3P3koShyDMnr+2xT8o4Y9K9PaO++9oT72soOfQyyoqkZc1VAAvD9CedjlCJekK1RDaY67QkQ1LxhVq239/AlyhEUK/NGBFgs/Rdl+bHfdjzjfoiylnITOHcw3GMDEoSyo5FizcGuPPXAfy6mLnHOu+xb1mFHpYFTZEc21nsG7qKohA0P+vqCT6uB3IEHqK0QEcRzweMOuUZykdWJux748=';
@@ -0,0 +1,20 @@
1
+ label.svelte-1y7unmi{align-items:center;cursor:pointer;display:flex;-webkit-user-select:none;user-select:none;width:fit-content}input.svelte-1y7unmi{cursor:pointer;height:1.5em;opacity:0;position:absolute;width:1.5em}svg.svelte-1y7unmi{border-radius:.33em;cursor:pointer;height:1.5em;margin-right:.5em;opacity:.99;width:1.5em}
2
+ section.svelte-20evnz{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}
3
+ details.svelte-1kxmj7q.svelte-1kxmj7q{margin-left:var(--tjs-folder-details-margin-left,-.4em);padding-left:var(--tjs-folder-details-padding-left,.4em)}summary.svelte-1kxmj7q.svelte-1kxmj7q{align-items:center;background:var(--tjs-folder-summary-background,none);background-blend-mode:var(--tjs-folder-summary-background-blend-mode,initial);border:var(--tjs-folder-summary-border,none);border-radius:var(--tjs-folder-summary-border-radius,0);border-width:var(--tjs-folder-summary-border-width,initial);cursor:var(--tjs-folder-summary-cursor,pointer);display:flex;font-family:var(--tjs-folder-summary-font-family,inherit);font-size:var(--tjs-folder-summary-font-size,inherit);font-weight:var(--tjs-folder-summary-font-weight,bold);gap:var(--tjs-folder-summary-gap,.125em);list-style:none;margin:var(--tjs-folder-summary-margin,0 0 0 -.4em);padding:var(--tjs-folder-summary-padding,.25em) 0;position:relative;transition:var(--tjs-folder-summary-transition,background .1s);-webkit-user-select:none;user-select:none;width:var(--tjs-folder-summary-width,fit-content)}summary.svelte-1kxmj7q.svelte-1kxmj7q::-webkit-details-marker{display:none}.default-cursor.svelte-1kxmj7q.svelte-1kxmj7q{cursor:default}summary.svelte-1kxmj7q svg.svelte-1kxmj7q{border-radius:var(--tjs-folder-summary-chevron-border-radius,0);color:var(--tjs-folder-summary-chevron-color,currentColor);cursor:var(--tjs-folder-summary-cursor,pointer);flex-shrink:0;height:var(--tjs-folder-summary-chevron-size,var(--tjs-folder-summary-font-size,1.25em));margin:var(--tjs-folder-summary-chevron-margin,0);opacity:var(--tjs-folder-summary-chevron-opacity,.2);transform:var(--tjs-folder-summary-chevron-rotate-closed,rotate(-90deg));transition:var(--tjs-folder-summary-chevron-transition,opacity .2s,transform .1s);width:var(--tjs-folder-summary-chevron-size,var(--tjs-folder-summary-font-size,1.25em))}summary.disabled.svelte-1kxmj7q.svelte-1kxmj7q{color:var(--tjs-folder-summary-disabled-color,inherit);cursor:var(--tjs-folder-summary-disabled-cursor,default)}summary.disabled.svelte-1kxmj7q svg.svelte-1kxmj7q{color:var(--tjs-folder-summary-disabled-color,currentColor);cursor:var(--tjs-folder-summary-disabled-cursor,default)}summary.svelte-1kxmj7q.svelte-1kxmj7q:focus-visible{box-shadow:var(--tjs-folder-summary-box-shadow-focus-visible,var(--tjs-default-box-shadow-focus-visible));outline:var(--tjs-folder-summary-outline-focus-visible,var(--tjs-default-outline-focus-visible,revert));transition:var(--tjs-folder-summary-transition-focus-visible,var(--tjs-default-transition-focus-visible))}summary.svelte-1kxmj7q:focus-visible .label.svelte-1kxmj7q{text-shadow:var(--tjs-folder-summary-label-text-shadow-focus-visible,var(--tjs-default-text-shadow-focus-hover,revert))}summary.svelte-1kxmj7q:focus-visible .tjs-folder-focus-indicator.svelte-1kxmj7q{background:var(--tjs-folder-summary-focus-indicator-background,var(--tjs-default-focus-indicator-background,#fff))}summary.svelte-1kxmj7q:focus-visible svg.svelte-1kxmj7q{opacity:var(--tjs-folder-summary-chevron-opacity-focus-visible,1)}summary.svelte-1kxmj7q:focus-visible svg.focus-chevron.svelte-1kxmj7q{outline:var(--tjs-folder-summary-outline-focus-visible,var(--tjs-default-outline-focus-visible,revert))}summary:focus-visible.remove-focus-visible.svelte-1kxmj7q.svelte-1kxmj7q{outline:none}summary.svelte-1kxmj7q:hover:not(.disabled) svg.svelte-1kxmj7q{opacity:var(--tjs-folder-summary-chevron-opacity-hover,1)}.tjs-folder-focus-indicator.svelte-1kxmj7q.svelte-1kxmj7q{align-self:var(--tjs-folder-summary-focus-indicator-align-self,var(--tjs-default-focus-indicator-align-self,stretch));border:var(--tjs-folder-summary-focus-indicator-border,var(--tjs-default-focus-indicator-border));border-radius:var(--tjs-folder-summary-focus-indicator-border-radius,var(--tjs-default-focus-indicator-border-radius,.1em));flex:0 0 var(--tjs-folder-summary-focus-indicator-width,var(--tjs-default-focus-indicator-width,0.25em));height:var(--tjs-folder-summary-focus-indicator-height,var(--tjs-default-focus-indicator-height));pointer-events:none;transition:var(--tjs-folder-summary-focus-indicator-transition,var(--tjs-default-focus-indicator-transition))}details[open].svelte-1kxmj7q>summary.svelte-1kxmj7q{background:var(--tjs-folder-summary-background-open,var(--tjs-folder-summary-background,inherit))}[open].svelte-1kxmj7q:not(details[data-closing=true])>summary svg.svelte-1kxmj7q{transform:rotate(var(--tjs-folder-summary-chevron-rotate-open,0))}.contents.svelte-1kxmj7q.svelte-1kxmj7q{background:var(--tjs-folder-contents-background,none);background-blend-mode:var(--tjs-folder-contents-background-blend-mode,initial);border:var(--tjs-folder-contents-border,none);border-left:var(--tjs-folder-contents-border-left,none);display:var(--tjs-folder-contents-display,flex);flex-direction:var(--tjs-folder-contents-flex-direction,column);gap:var(--tjs-folder-contents-gap);margin:var(--tjs-folder-contents-margin,0 0 0 -.4em);padding:var(--tjs-folder-contents-padding,0 0 0 calc(var(--tjs-folder-summary-font-size, 1em)*.8));position:relative}.contents.svelte-1kxmj7q.svelte-1kxmj7q:before{content:"";height:calc(100% + .65em);left:0;position:absolute;top:-.65em;width:0}.contents.hidden.svelte-1kxmj7q.svelte-1kxmj7q{display:none}.label.svelte-1kxmj7q.svelte-1kxmj7q{overflow:var(--tjs-folder-summary-label-overflow,hidden);text-overflow:var(--tjs-folder-summary-label-text-overflow,ellipsis);white-space:var(--tjs-folder-summary-label-white-space,nowrap);width:var(--tjs-folder-summary-label-width,fit-content)}summary.svelte-1kxmj7q:focus-visible+.contents.svelte-1kxmj7q:before{height:100%;top:0}
4
+ details.svelte-ozx17m.svelte-ozx17m{margin-left:var(--tjs-folder-details-margin-left,-.4em);padding-left:var(--tjs-folder-details-padding-left,.4em)}summary.svelte-ozx17m.svelte-ozx17m{align-items:center;background:var(--tjs-folder-summary-background,none);background-blend-mode:var(--tjs-folder-summary-background-blend-mode,initial);border:var(--tjs-folder-summary-border,none);border-radius:var(--tjs-folder-summary-border-radius,0);border-width:var(--tjs-folder-summary-border-width,initial);cursor:var(--tjs-folder-summary-cursor,pointer);display:flex;font-family:var(--tjs-folder-summary-font-family,inherit);font-size:var(--tjs-folder-summary-font-size,inherit);font-weight:var(--tjs-folder-summary-font-weight,bold);gap:var(--tjs-folder-summary-gap,.125em);list-style:none;margin:var(--tjs-folder-summary-margin,0);padding:var(--tjs-folder-summary-padding,.25em) 0;position:relative;transition:var(--tjs-folder-summary-transition,background .1s);-webkit-user-select:none;user-select:none;width:var(--tjs-folder-summary-width,fit-content)}summary.svelte-ozx17m.svelte-ozx17m::-webkit-details-marker{display:none}summary.svelte-ozx17m i.svelte-ozx17m{border-radius:var(--tjs-folder-summary-chevron-border-radius,0);color:var(--tjs-folder-summary-chevron-color,inherit);cursor:var(--tjs-folder-summary-cursor,pointer);flex-shrink:0;margin:var(--tjs-folder-summary-chevron-margin,0 0 0 .25em);opacity:var(--tjs-folder-summary-chevron-opacity,1);transition:var(--tjs-folder-summary-chevron-transition,opacity .2s,transform .1s);width:var(--tjs-folder-summary-chevron-width,1.25em)}summary.disabled.svelte-ozx17m i.svelte-ozx17m,summary.disabled.svelte-ozx17m.svelte-ozx17m{color:var(--tjs-folder-summary-disabled-color,inherit);cursor:var(--tjs-folder-summary-disabled-cursor,default)}summary.svelte-ozx17m.svelte-ozx17m:focus-visible{box-shadow:var(--tjs-folder-summary-box-shadow-focus-visible,var(--tjs-default-box-shadow-focus-visible));outline:var(--tjs-folder-summary-outline-focus-visible,var(--tjs-default-outline-focus-visible,revert));transition:var(--tjs-folder-summary-transition-focus-visible,var(--tjs-default-transition-focus-visible))}summary.svelte-ozx17m:focus-visible .label.svelte-ozx17m{text-shadow:var(--tjs-folder-summary-label-text-shadow-focus-visible,var(--tjs-default-text-shadow-focus-hover,revert))}summary.svelte-ozx17m:focus-visible .tjs-folder-focus-indicator.svelte-ozx17m{background:var(--tjs-folder-summary-focus-indicator-background,var(--tjs-default-focus-indicator-background,#fff))}summary.svelte-ozx17m:focus-visible i.svelte-ozx17m{opacity:var(--tjs-folder-summary-chevron-opacity-focus-visible,1)}summary.svelte-ozx17m:focus-visible i.focus-chevron.svelte-ozx17m:before{outline:var(--tjs-folder-summary-outline-focus-visible,var(--tjs-default-outline-focus-visible,revert))}summary:focus-visible.remove-focus-visible.svelte-ozx17m.svelte-ozx17m{outline:none}summary.svelte-ozx17m:hover i.svelte-ozx17m{opacity:var(--tjs-folder-summary-chevron-opacity-hover,1)}.tjs-folder-focus-indicator.svelte-ozx17m.svelte-ozx17m{align-self:var(--tjs-folder-summary-focus-indicator-align-self,var(--tjs-default-focus-indicator-align-self,stretch));border:var(--tjs-folder-summary-focus-indicator-border,var(--tjs-default-focus-indicator-border));border-radius:var(--tjs-folder-summary-focus-indicator-border-radius,var(--tjs-default-focus-indicator-border-radius,.1em));flex:0 0 var(--tjs-folder-summary-focus-indicator-width,var(--tjs-default-focus-indicator-width,0.25em));height:var(--tjs-folder-summary-focus-indicator-height,var(--tjs-default-focus-indicator-height));pointer-events:none;transition:var(--tjs-folder-summary-focus-indicator-transition,var(--tjs-default-focus-indicator-transition))}.default-cursor.svelte-ozx17m.svelte-ozx17m{cursor:default}details[open].svelte-ozx17m>summary.svelte-ozx17m{background:var(--tjs-folder-summary-background-open,var(--tjs-folder-summary-background,inherit))}.contents.svelte-ozx17m.svelte-ozx17m{background:var(--tjs-folder-contents-background,none);background-blend-mode:var(--tjs-folder-contents-background-blend-mode,initial);border:var(--tjs-folder-contents-border,none);border-left:var(--tjs-folder-contents-border-left,none);display:var(--tjs-folder-contents-display,flex);flex-direction:var(--tjs-folder-contents-flex-direction,column);gap:var(--tjs-folder-contents-gap);margin:var(--tjs-folder-contents-margin,0 0 0 -.4em);padding:var(--tjs-folder-contents-padding,0 0 0 calc(var(--tjs-folder-summary-font-size, 1em)*.8));position:relative}.contents.svelte-ozx17m.svelte-ozx17m:before{content:"";height:calc(100% + .65em);left:0;position:absolute;top:-.65em;width:0}.contents.hidden.svelte-ozx17m.svelte-ozx17m{display:none}.label.svelte-ozx17m.svelte-ozx17m{overflow:var(--tjs-folder-summary-label-overflow,hidden);text-overflow:var(--tjs-folder-summary-label-text-overflow,ellipsis);white-space:var(--tjs-folder-summary-label-white-space,nowrap);width:var(--tjs-folder-summary-label-width,fit-content)}summary.svelte-ozx17m:focus-visible+.contents.svelte-ozx17m:before{height:100%;top:0}
5
+ a.svelte-14yttr0{width:fit-content}a.svelte-14yttr0,span.svelte-14yttr0{margin-right:.25rem}span.svelte-14yttr0,svg.svelte-14yttr0{pointer-events:none}.indent-icon.svelte-14yttr0{margin-left:var(--dmt-nav-entry-indent-icon,28px)}.indent-no-icon.svelte-14yttr0{margin-left:var(--dmt-nav-entry-indent-no-icon,18px)}.indent-none.svelte-14yttr0{margin-left:.25rem}
6
+ .dmt-navigation-tree.svelte-gftu0p{display:flex;flex-direction:column;--tjs-folder-summary-font-weight:normal;--tjs-folder-summary-font-size:1em;--tjs-folder-summary-margin:0;--tjs-folder-summary-padding:0;--tjs-folder-summary-width:100%;--tjs-folder-contents-margin:var(--dmt-nav-folder-contents-margin,0 0 0 7px);--tjs-folder-contents-border-left:var(--dmt-nav-folder-contents-border-left,2px solid var(--dmt-nav-folder-contents-border-color,#0003));--tjs-folder-contents-padding:var(--dmt-nav-folder-contents-padding,0 0 0 9px);overflow-x:auto;padding-left:var(--dmt-nav-tree-padding-left,3px);padding-top:var(--dmt-nav-tree-padding-top,.25rem);touch-action:pan-x pan-y}.dmt-navigation-tree.svelte-gftu0p:focus-visible{outline:#0000}.dmt-navigation-tree.svelte-gftu0p>:last-child{margin-bottom:var(--dmt-nav-tree-bottom-margin,.25rem)}
7
+ hr.svelte-wwxcg7{border:unset;border-bottom:var(--dmt-container-border);margin:.25rem .5rem 0 0}section.svelte-wwxcg7{--tjs-folder-summary-margin:0 0.25rem;--tjs-folder-summary-width:100%;background:var(--dmt-container-background);border:var(--dmt-container-border);border-radius:var(--dmt-container-border-radius);box-shadow:var(--dmt-container-box-shadow);margin:0 1rem 0 0;padding-bottom:.25rem}
8
+ a.svelte-gzwnip{display:block;overflow:var(--dmt-sidebarlinks-overflow,unset);text-overflow:var(--dmt-sidebarlinks-text-overflow,ellipsis);white-space:var(--dmt-sidebarlinks-white-space,normal)}section.dmt-sidebar-links.svelte-gzwnip{background:var(--dmt-container-background);border:var(--dmt-container-border);border-radius:var(--dmt-container-border-radius);box-shadow:var(--dmt-container-box-shadow);display:flex;flex-direction:column;gap:.25em;margin:0 1rem 0 0;padding:.25rem}section.dmt-sidebar-links.svelte-gzwnip:focus-visible{outline:#0000}
9
+ div.svelte-1uxeem0{background:var(--dmt-overlay-panel-background);border-bottom:1px solid #0003;border-left:1px solid #0003;border-radius:0 0 .25rem .25rem;border-right:1px solid #0003;box-shadow:-.25rem 0 .25rem -.25rem var(--dmt-box-shadow-color),.25rem 0 .25rem -.25rem var(--dmt-box-shadow-color),0 .75rem .75rem -.75rem var(--dmt-box-shadow-color);display:flex;flex-direction:column;gap:.25rem;height:fit-content;padding:.5rem;position:absolute;top:2.6rem;width:calc(100% - 1.5rem)}span.svelte-1uxeem0{align-items:center;display:flex;gap:.5rem}svg.svelte-1uxeem0{margin:0}.key.svelte-1uxeem0{background:#ffffff40;border:1px solid #999;border-radius:.25rem;box-shadow:1px 1px var(--dmt-help-panel-key-box-shadow-color);min-width:52px;padding:0 3px;text-align:center}.reflection-kinds.svelte-1uxeem0{display:grid;grid-template-columns:1fr 1fr;grid-row-gap:.1rem}.title.svelte-1uxeem0{-webkit-text-decoration:underline;text-decoration:underline}:root[data-theme=dark]{--dmt-help-panel-key-box-shadow-color:#aaa}:root[data-theme=light]{--dmt-help-panel-key-box-shadow-color:#444}@media(prefers-color-scheme:dark){:root{--dmt-help-panel-key-box-shadow-color:#aaa}}@media(prefers-color-scheme:light){:root{--dmt-help-panel-key-box-shadow-color:#444}}
10
+ button.svelte-1e7n8f7{background:#0000;border-radius:50%;cursor:pointer;height:2rem;line-height:0;width:2rem}section.svelte-1e7n8f7{align-items:center;background:var(--color-background);border-bottom:var(--dmt-container-border);display:flex;gap:.5rem;height:fit-content;padding:.25rem 1rem .25rem 0;position:sticky;top:0;width:inherit;z-index:10}section.svelte-1e7n8f7:focus-visible{outline:#0000}svg.svelte-1e7n8f7{height:1rem;width:1rem;fill:currentColor;stroke:currentColor;overflow:hidden}.flipped-vertical.svelte-1e7n8f7{transform:scaleY(-1)}
11
+ section.svelte-13h1skr{--dmt-nav-tree-bottom-margin:1rem}
12
+ button.svelte-10arjs8{background:#0000;border-radius:50%;cursor:pointer;height:33px;line-height:0;margin:0 3px 3px;width:33px}
13
+ li.svelte-5rxzhp{align-items:center;background-color:var(--color-background);cursor:pointer;display:flex;gap:.25rem;overflow:hidden;padding:0 10px;text-overflow:ellipsis;transition:background .15s ease-in-out}li.selected.svelte-5rxzhp{background:var(--dmt-menu-item-background-selected)}li.svelte-5rxzhp:hover{background:var(--dmt-menu-item-background-hover)}li.svelte-5rxzhp:not(:last-child){border-bottom:var(--dmt-container-separator-border)}li.svelte-5rxzhp:nth-child(2n):not(:hover):not(.selected){background-color:var(--color-background-secondary)}ul.svelte-5rxzhp{border:var(--dmt-container-floating-border);border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem;box-shadow:var(--dmt-container-floating-box-shadow);list-style:none;margin:0 0 0 -4px;overflow:hidden;padding:0;position:absolute;top:calc(var(--dmt-header-height) - 2px);width:calc(100% - 4px)}
14
+ #dmt-search-field.svelte-tuln0o,#tsd-search .field input{background:revert;border:1px solid var(--color-accent);border-radius:.5em;box-sizing:border-box;color:var(--color-text);font-size:16px;height:35px;opacity:1;outline:2px solid #0000;padding:revert;position:relative;right:4px;top:0;width:100%;z-index:10}
15
+ div.svelte-wmon9h{box-sizing:border-box;line-height:0;padding:4px 0;position:absolute;right:-40px;width:40px}.dmt-widget.svelte-wmon9h{display:inline-block;height:40px;opacity:.8;overflow:hidden;transition:opacity .1s,background-color .2s;vertical-align:bottom}
16
+ div.svelte-kjcljd{flex:0;height:0;width:0}div.svelte-kjcljd:focus{outline:none}
17
+ section.svelte-1pcybcf.svelte-1pcybcf{background:var(--color-background);border:var(--dmt-container-border);border-radius:var(--dmt-container-border-radius);box-shadow:0 0 6px #000;height:max-content;left:50%;overflow:hidden;padding:.25rem;position:absolute;top:calc(100% + 10px);transform:translateX(-50%);width:max-content;z-index:1}div.svelte-1pcybcf.svelte-1pcybcf{align-items:center;display:flex;flex-direction:column;flex-wrap:nowrap;gap:.5rem}section.svelte-1pcybcf.svelte-1pcybcf:focus-visible{outline:2px solid #0000}a.svelte-1pcybcf.svelte-1pcybcf{align-items:center;display:flex;flex-shrink:0}a.svelte-1pcybcf:focus-visible img.svelte-1pcybcf{filter:brightness(1.5)}img.svelte-1pcybcf.svelte-1pcybcf{max-height:24px;width:auto}img.svelte-1pcybcf.svelte-1pcybcf:hover{filter:brightness(1.5)}
18
+ button.svelte-1ebh1s9{background:#0000;border-radius:50%;cursor:pointer;height:33px;line-height:0;margin:1px 3px 0;width:33px}section.svelte-1ebh1s9{display:flex;margin-left:auto;min-width:fit-content;position:relative}svg.svelte-1ebh1s9{fill:var(--color-text)}
19
+ a.svelte-1f93d1m.svelte-1f93d1m{align-items:center;display:flex;flex-shrink:0;margin:4px}a.svelte-1f93d1m:focus-visible img.svelte-1f93d1m{filter:brightness(1.5)}img.svelte-1f93d1m.svelte-1f93d1m{height:24px;width:auto}img.svelte-1f93d1m.svelte-1f93d1m:hover{filter:brightness(1.5)}section.svelte-1f93d1m.svelte-1f93d1m{align-items:center;display:flex;flex-wrap:nowrap;gap:.35rem;margin-left:auto;min-width:0;overflow:hidden}
20
+ section.svelte-j9157o{align-items:center;display:flex;flex-wrap:nowrap;height:100%;margin-right:.5rem;width:100%}