insta-dista-cli 1.5.0 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/dm.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"dm.d.ts","sourceRoot":"","sources":["../src/dm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAmBpD,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAiHzE"}
1
+ {"version":3,"file":"dm.d.ts","sourceRoot":"","sources":["../src/dm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AA4DpD,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA+GzE"}
package/dist/dm.js CHANGED
@@ -46,12 +46,49 @@ const child_process_1 = require("child_process");
46
46
  // ─── Brand Colors ───
47
47
  const pink = chalk_1.default.hex('#E1306C');
48
48
  const purple = chalk_1.default.hex('#C13584');
49
- const orange = chalk_1.default.hex('#F77737');
50
- const gold = chalk_1.default.hex('#FCAF45');
51
- const me = chalk_1.default.hex('#58C4DC');
52
- const them = chalk_1.default.hex('#C678DD');
49
+ const myColor = chalk_1.default.hex('#58C4DC');
50
+ const theirColor = chalk_1.default.hex('#C678DD');
53
51
  const dim = chalk_1.default.dim;
54
52
  const bold = chalk_1.default.bold;
53
+ // ─── Box Drawing ───
54
+ function msgBox(text, color, align, maxWidth = 50) {
55
+ const words = text.split(' ');
56
+ const lines = [];
57
+ let currentLine = '';
58
+ for (const word of words) {
59
+ if (currentLine.length + word.length + 1 > maxWidth - 4) {
60
+ if (currentLine)
61
+ lines.push(currentLine);
62
+ currentLine = word;
63
+ }
64
+ else {
65
+ currentLine = currentLine ? `${currentLine} ${word}` : word;
66
+ }
67
+ }
68
+ if (currentLine)
69
+ lines.push(currentLine);
70
+ if (lines.length === 0)
71
+ lines.push(text);
72
+ const contentWidth = Math.max(...lines.map(l => stripAnsi(l).length), 1);
73
+ const boxWidth = contentWidth + 2;
74
+ const top = color(`╭${'─'.repeat(boxWidth)}╮`);
75
+ const bottom = color(`╰${'─'.repeat(boxWidth)}╯`);
76
+ const body = lines.map(l => {
77
+ const pad = contentWidth - stripAnsi(l).length;
78
+ return color('│') + ' ' + l + ' '.repeat(pad) + ' ' + color('│');
79
+ });
80
+ const allLines = [top, ...body, bottom];
81
+ if (align === 'right') {
82
+ const indent = Math.max(0, 72 - boxWidth - 2);
83
+ return allLines.map(l => ' '.repeat(indent) + l).join('\n');
84
+ }
85
+ else {
86
+ return allLines.map(l => ' ' + l).join('\n');
87
+ }
88
+ }
89
+ function stripAnsi(str) {
90
+ return str.replace(/\x1b\[[0-9;]*m/g, '');
91
+ }
55
92
  // ─── Inbox ───
56
93
  async function interactiveInbox(client) {
57
94
  while (true) {
@@ -103,7 +140,6 @@ async function interactiveInbox(client) {
103
140
  }
104
141
  console.log(dim(`\n ${filtered.length} conversation${filtered.length !== 1 ? 's' : ''} • `) +
105
142
  dim('Use ↑ ↓ to browse, Enter to open\n'));
106
- // Build choices
107
143
  const choices = filtered.map((thread, index) => {
108
144
  const users = thread.users?.map((u) => u.username).join(', ') || 'Unknown';
109
145
  const lastItem = thread.last_permanent_item || thread.items?.[0];
@@ -139,172 +175,277 @@ async function interactiveInbox(client) {
139
175
  return;
140
176
  if (selected.action === 'refresh')
141
177
  continue;
142
- // Open chat
143
178
  const otherUser = selected.users?.[0];
144
179
  await liveChat(client, selected.threadId, selected.username, otherUser?.pk);
145
180
  }
146
181
  }
147
182
  // ─── Live Chat ───
148
- // Real-time chat: auto-refreshes messages, type-and-send instantly
149
183
  async function liveChat(client, threadId, username, otherUserId) {
150
184
  let messages = [];
151
- let lastMessageCount = 0;
152
185
  let refreshTimer = null;
153
- let isRefreshing = false;
186
+ let fetchPromise = null;
154
187
  let exitRequested = false;
155
- // Load initial messages
156
- async function loadMessages() {
157
- if (isRefreshing)
158
- return;
159
- isRefreshing = true;
160
- try {
161
- const threadFeed = client.feed.directThread({
162
- thread_id: threadId,
163
- oldest_cursor: '',
164
- });
165
- messages = await threadFeed.items();
166
- }
167
- catch {
168
- // silently fail on refresh — will retry
169
- }
170
- isRefreshing = false;
188
+ let mediaList = [];
189
+ function loadMessages() {
190
+ if (fetchPromise)
191
+ return fetchPromise;
192
+ fetchPromise = (async () => {
193
+ try {
194
+ const threadFeed = client.feed.directThread({
195
+ thread_id: threadId,
196
+ oldest_cursor: '',
197
+ });
198
+ messages = await threadFeed.items();
199
+ }
200
+ catch {
201
+ // silently fail on auto-refresh
202
+ }
203
+ fetchPromise = null;
204
+ })();
205
+ return fetchPromise;
171
206
  }
172
207
  function renderChat() {
173
208
  console.clear();
174
- console.log('');
175
- // Chat header
176
- console.log((0, boxen_1.default)(them.bold(`💬 @${username}`) + '\n' +
177
- dim(` Type a message and press Enter to send • `) + chalk_1.default.yellow('/back') + dim(' to exit'), {
178
- padding: { top: 0, bottom: 0, left: 1, right: 1 },
179
- borderStyle: 'round',
180
- borderColor: '#C13584',
181
- margin: { top: 0, bottom: 0, left: 2, right: 2 },
182
- }));
183
- // Messages
209
+ const pink = chalk_1.default.hex('#E1306C');
210
+ const orange = chalk_1.default.hex('#F77737');
211
+ const gold = chalk_1.default.hex('#FCAF45');
212
+ const logo = `${pink.bold(' _____ ________________ ')}
213
+ ${pink.bold(' / _/ | / / ___/_ __/ |')}
214
+ ${orange.bold(' / // |/ /\\__ \\ / / / /| |')}
215
+ ${orange.bold(' _/ // /| /___/ // / / ___ |')}
216
+ ${gold.bold('/___/_/ |_//____//_/ /_/ |_|')}`;
217
+ const headerLines = [
218
+ '',
219
+ ...logo.split('\n'),
220
+ '',
221
+ (0, boxen_1.default)(theirColor.bold(`💬 @${username}`) + '\n' +
222
+ dim(`Type message → Enter • `) + chalk_1.default.yellow('↑/↓ or ESC') + dim(' to exit to Inbox\n') +
223
+ dim(`Media: `) + chalk_1.default.cyan('/open N') + dim(' to open reel/image in browser'), {
224
+ padding: { top: 0, bottom: 0, left: 1, right: 1 },
225
+ borderStyle: 'round',
226
+ borderColor: '#C13584',
227
+ margin: { top: 0, bottom: 0, left: 2, right: 2 },
228
+ })
229
+ ];
230
+ mediaList = [];
231
+ const bodyLines = [];
184
232
  if (!messages || messages.length === 0) {
185
- console.log(dim('\n No messages yet. Say hi! 👋\n'));
233
+ bodyLines.push(dim('\n No messages yet. Say hi! 👋\n'));
186
234
  }
187
235
  else {
188
236
  const chronological = [...messages].reverse().slice(-20);
189
237
  let lastDate = '';
190
- console.log('');
191
- for (const msg of chronological) {
238
+ bodyLines.push('');
239
+ for (let i = 0; i < chronological.length; i++) {
240
+ const msg = chronological[i];
192
241
  const isFromMe = msg.user_id !== otherUserId;
193
242
  const time = new Date(Number(msg.timestamp) / 1000)
194
243
  .toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' });
195
244
  const dateStr = new Date(Number(msg.timestamp) / 1000).toLocaleDateString();
196
- // Date separator
197
245
  if (dateStr !== lastDate) {
198
- console.log(dim(`\n ┄┄┄┄┄┄ ${dateStr} ┄┄┄┄┄┄`));
246
+ bodyLines.push(dim(`\n ┄┄┄┄┄┄ ${dateStr} ┄┄┄┄┄┄`));
199
247
  lastDate = dateStr;
200
248
  }
201
249
  const content = getMessageContent(msg);
202
250
  const mediaUrl = extractMediaUrl(msg);
251
+ const igid = msg.original_media_igid || msg.clip?.clip?.id || null;
252
+ if (mediaUrl) {
253
+ mediaList.push({
254
+ index: mediaList.length + 1,
255
+ type: getMediaType(msg),
256
+ url: mediaUrl,
257
+ igid: igid
258
+ });
259
+ }
260
+ const color = isFromMe ? myColor : theirColor;
261
+ const timeStr = dim(time);
262
+ const label = isFromMe ? '' : dim(` @${username}`);
203
263
  if (isFromMe) {
204
- // Right-aligned: my messages
205
- const line = `${dim(time)} ${me('')} ${chalk_1.default.white(content)}`;
206
- console.log(` ${line}`);
264
+ const indent = Math.max(0, 72 - time.length - 2);
265
+ bodyLines.push(' '.repeat(indent) + timeStr);
207
266
  }
208
267
  else {
209
- // Left-aligned: their messages
210
- const line = `${dim(time)} ${them('▐')} ${chalk_1.default.gray(content)}`;
211
- console.log(` ${line}`);
268
+ bodyLines.push(` ${timeStr}${label}`);
212
269
  }
213
- // Show media link hint
270
+ const boxLines = msgBox(content, color, isFromMe ? 'right' : 'left').split('\n');
271
+ bodyLines.push(...boxLines);
214
272
  if (mediaUrl) {
215
- console.log(dim(` ↳ `) + chalk_1.default.cyan.underline('media available') + dim(' (type /media to open)'));
273
+ const num = mediaList.length;
274
+ const badge = ` 📎 ${chalk_1.default.cyan(`[${getMediaType(msg)}]`)} — type ${chalk_1.default.bold(`/open ${num}`)}`;
275
+ if (isFromMe) {
276
+ const indent = Math.max(0, 72 - stripAnsi(badge).length);
277
+ bodyLines.push(' '.repeat(indent) + badge);
278
+ }
279
+ else {
280
+ bodyLines.push(' ' + badge);
281
+ }
216
282
  }
217
283
  }
218
284
  if (messages.length > 20) {
219
- console.log(dim(`\n ... ${messages.length - 20} older messages`));
285
+ bodyLines.push(dim(`\n ... ${messages.length - 20} older messages`));
286
+ }
287
+ }
288
+ bodyLines.push(dim('\n ────────────────────────────────────────────\n'));
289
+ // Calculate available terminal height and pad with empty lines to pin header to top
290
+ const terminalHeight = process.stdout.rows || 24;
291
+ // Count string visual line height (roughly)
292
+ let headerHeight = headerLines.reduce((acc, line) => acc + (line.match(/\n/g) || []).length + 1, 0);
293
+ // Some boxen hack since boxen adds extra lines we can't easily count without stripping ansi and calculating wrap
294
+ // but it's approximately 5 lines for the box here
295
+ headerHeight += 3;
296
+ // Let's print the actual header first
297
+ console.log(headerLines.join('\n'));
298
+ // Now calculate how many lines the body takes
299
+ let bodyHeight = bodyLines.reduce((acc, line) => acc + (line.match(/\n/g) || []).length + 1, 0);
300
+ // Leave room for the prompt (1 line) plus some safety buffer
301
+ const promptHeight = 2;
302
+ const availableSpace = terminalHeight - headerHeight - promptHeight;
303
+ // If body is smaller than available space, we pad the top of the body
304
+ if (bodyHeight < availableSpace) {
305
+ const padding = availableSpace - bodyHeight;
306
+ for (let i = 0; i < padding; i++) {
307
+ console.log('');
308
+ }
309
+ }
310
+ // In the weird case the body is larger than available space, we just print the last few lines to fit
311
+ // to prevent pushing the header off-screen.
312
+ if (bodyHeight > availableSpace && availableSpace > 0) {
313
+ // Trim body lines from the top to perfectly fit
314
+ let trimmedBody = [...bodyLines];
315
+ while (trimmedBody.length > availableSpace) {
316
+ trimmedBody.shift();
220
317
  }
318
+ console.log(trimmedBody.join('\n'));
319
+ }
320
+ else {
321
+ // Fits fine
322
+ console.log(bodyLines.join('\n'));
221
323
  }
222
- console.log(dim('\n ────────────────────────────────────────────\n'));
223
324
  }
224
325
  // Initial load
225
326
  const spinner = (0, ora_1.default)({ text: dim(' Loading messages...'), indent: 4 }).start();
226
327
  await loadMessages();
227
328
  spinner.stop();
228
- lastMessageCount = messages.length;
229
329
  renderChat();
230
- // Start auto-refresh timer (every 4 seconds)
231
- refreshTimer = setInterval(async () => {
232
- if (exitRequested)
233
- return;
234
- const prevCount = messages.length;
235
- const prevLastTs = messages[0]?.timestamp;
236
- await loadMessages();
237
- // Only re-render if there are new messages
238
- if (messages.length !== prevCount || messages[0]?.timestamp !== prevLastTs) {
239
- // Save cursor position, re-render, restore prompt
240
- renderChat();
241
- process.stdout.write(me(' ➤ '));
242
- }
243
- }, 4000);
244
- // Interactive input loop using readline
245
330
  return new Promise((resolve) => {
246
331
  const rl = readline.createInterface({
247
332
  input: process.stdin,
248
333
  output: process.stdout,
249
- prompt: me(' ➤ '),
334
+ prompt: myColor(' ➤ '),
250
335
  });
251
336
  rl.prompt();
337
+ const handleKeypress = (str, key) => {
338
+ if (key && (key.name === 'up' || key.name === 'down' || key.name === 'escape')) {
339
+ exitRequested = true;
340
+ if (refreshTimer)
341
+ clearInterval(refreshTimer);
342
+ if (process.stdin.isTTY)
343
+ process.stdin.removeListener('keypress', handleKeypress);
344
+ rl.close();
345
+ resolve();
346
+ }
347
+ };
348
+ // Intercept arrow keys to exit to inbox
349
+ if (process.stdin.isTTY) {
350
+ process.stdin.on('keypress', handleKeypress);
351
+ }
352
+ // Auto-refresh
353
+ refreshTimer = setInterval(async () => {
354
+ if (exitRequested)
355
+ return;
356
+ const prevLastTs = messages[0]?.timestamp;
357
+ const prevCount = messages.length;
358
+ await loadMessages();
359
+ if (messages.length !== prevCount || messages[0]?.timestamp !== prevLastTs) {
360
+ // If it looks like we're typing, we don't want to nuke their input right now
361
+ // With readline we can safely clear and rewrite prompt
362
+ renderChat();
363
+ rl.prompt(true);
364
+ }
365
+ }, 4000);
252
366
  rl.on('line', async (line) => {
253
367
  const trimmed = line.trim();
254
368
  if (!trimmed) {
255
369
  rl.prompt();
256
370
  return;
257
371
  }
258
- // Commands
259
372
  if (trimmed === '/back' || trimmed === '/exit' || trimmed === '/quit') {
260
373
  exitRequested = true;
261
374
  if (refreshTimer)
262
375
  clearInterval(refreshTimer);
376
+ if (process.stdin.isTTY)
377
+ process.stdin.removeListener('keypress', handleKeypress);
263
378
  rl.close();
264
379
  resolve();
265
380
  return;
266
381
  }
267
- if (trimmed === '/refresh' || trimmed === '/r') {
268
- await loadMessages();
269
- renderChat();
270
- rl.prompt();
382
+ // /open or /open N
383
+ if (trimmed.startsWith('/open')) {
384
+ const parts = trimmed.split(/\s+/);
385
+ let idx = mediaList.length;
386
+ if (parts[1]) {
387
+ idx = parseInt(parts[1], 10);
388
+ }
389
+ const media = mediaList.find(m => m.index === idx);
390
+ if (media && media.url) {
391
+ console.log(chalk_1.default.cyan(` Opening ${media.type} in browser...`));
392
+ (0, child_process_1.exec)(`open "${media.url}"`);
393
+ }
394
+ else if (mediaList.length === 0) {
395
+ console.log(chalk_1.default.yellow(' No media found.'));
396
+ }
397
+ else {
398
+ console.log(chalk_1.default.yellow(` Invalid. Use /open 1 to /open ${mediaList.length}`));
399
+ }
400
+ setTimeout(() => rl.prompt(), 500);
271
401
  return;
272
402
  }
273
403
  if (trimmed === '/media') {
274
- // Open the latest media
275
- for (const msg of messages) {
276
- const url = extractMediaUrl(msg);
277
- if (url) {
278
- console.log(chalk_1.default.green(' ✓ Opening media...'));
279
- (0, child_process_1.exec)(`open "${url}"`);
280
- break;
281
- }
404
+ if (mediaList.length > 0) {
405
+ const latest = mediaList[mediaList.length - 1];
406
+ console.log(chalk_1.default.cyan(` Opening ${latest.type} in browser...`));
407
+ (0, child_process_1.exec)(`open "${latest.url}"`);
282
408
  }
283
- rl.prompt();
409
+ else {
410
+ console.log(chalk_1.default.yellow(' No media found.'));
411
+ }
412
+ setTimeout(() => rl.prompt(), 500);
284
413
  return;
285
414
  }
286
- // Send message
415
+ // Normal typing (Optimistic UI Update)
416
+ messages.unshift({
417
+ item_type: 'text',
418
+ text: trimmed,
419
+ user_id: client.state.cookieUserId || 'me',
420
+ timestamp: (Date.now() * 1000).toString(),
421
+ is_optimistic: true
422
+ });
423
+ renderChat();
287
424
  try {
288
425
  const threadEntity = client.entity.directThread(threadId);
289
426
  await threadEntity.broadcastText(trimmed);
290
- // Immediately refresh to show the sent message
427
+ await new Promise(r => setTimeout(r, 1000));
291
428
  await loadMessages();
292
429
  renderChat();
293
430
  }
294
431
  catch (err) {
295
- console.log(chalk_1.default.red(` ✗ Send failed: ${err.message}`));
432
+ messages = messages.filter(m => !m.is_optimistic); // Remove fake message
433
+ console.log(chalk_1.default.red(`\n ✗ Send failed: ${err.message}`));
434
+ renderChat();
296
435
  }
297
- rl.prompt();
436
+ rl.prompt(true);
298
437
  });
299
438
  rl.on('close', () => {
300
439
  exitRequested = true;
301
440
  if (refreshTimer)
302
441
  clearInterval(refreshTimer);
442
+ if (process.stdin.isTTY)
443
+ process.stdin.removeListener('keypress', handleKeypress);
303
444
  resolve();
304
445
  });
305
446
  });
306
447
  }
307
- // ─── Helpers ───
448
+ // ─── Message Preview (inbox) ───
308
449
  function getMessagePreview(item) {
309
450
  if (!item)
310
451
  return '';
@@ -318,31 +459,136 @@ function getMessagePreview(item) {
318
459
  case 'like': return '❤️ Like';
319
460
  case 'link': return '🔗 Link';
320
461
  case 'clip': return '🎬 Reel';
462
+ case 'xma_clip': return '🎬 Reel';
463
+ case 'xma_media_share': return '🖼️ Post';
464
+ case 'xma_reel_share': return '📷 Story';
465
+ case 'action_log': return item.action_log?.description || '📌 Action';
321
466
  case 'placeholder': return item.placeholder?.message || '[Media]';
322
- default: return `[${item.item_type || 'message'}]`;
467
+ default:
468
+ if (item.item_type?.startsWith('xma'))
469
+ return '🎬 Media';
470
+ return `[${item.item_type || 'message'}]`;
323
471
  }
324
472
  }
473
+ // ─── Message Content (chat view) ───
325
474
  function getMessageContent(msg) {
326
475
  switch (msg.item_type) {
327
- case 'text': return msg.text || '';
328
- case 'media': return '📸 [Photo]';
329
- case 'voice_media': return '🎤 [Voice message]';
330
- case 'animated_media': return '🎬 [GIF]';
476
+ case 'text':
477
+ return msg.text || '';
478
+ case 'media':
479
+ return '📸 Photo';
480
+ case 'voice_media':
481
+ return '🎤 Voice message';
482
+ case 'animated_media':
483
+ return '🎬 GIF';
331
484
  case 'reel_share':
332
485
  return msg.reel_share?.text
333
- ? `📷 Story reply: ${msg.reel_share.text}`
334
- : '📷 [Story reply]';
335
- case 'media_share': return '🖼️ [Shared post]';
336
- case 'like': return '❤️';
337
- case 'link': return `🔗 ${msg.link?.text || '[Link]'}`;
338
- case 'clip': return '🎬 [Reel]';
339
- case 'placeholder': return msg.placeholder?.message || '[Media]';
340
- default: return `[${msg.item_type}]`;
486
+ ? `📷 Story reply: "${msg.reel_share.text}"`
487
+ : '📷 Story reply';
488
+ case 'media_share':
489
+ const caption = msg.media_share?.caption?.text;
490
+ return caption ? `🖼️ Post: "${truncate(caption, 40)}"` : '🖼️ Shared post';
491
+ case 'like':
492
+ return '❤️';
493
+ case 'link':
494
+ return `🔗 ${msg.link?.text || msg.link?.link_url || 'Link'}`;
495
+ case 'clip':
496
+ const clipCap = msg.clip?.clip?.caption?.text;
497
+ return clipCap ? `🎬 Reel: "${truncate(clipCap, 35)}"` : '🎬 Reel';
498
+ case 'action_log':
499
+ return `📌 ${msg.action_log?.description || 'Action'}`;
500
+ case 'placeholder':
501
+ return msg.placeholder?.message || '[Media]';
502
+ default:
503
+ // Handle ALL xma_* types generically
504
+ if (msg.item_type?.startsWith('xma')) {
505
+ const title = extractXmaTitle(msg);
506
+ const type = msg.item_type === 'xma_clip' ? '🎬 Reel' :
507
+ msg.item_type === 'xma_media_share' ? '🖼️ Post' :
508
+ msg.item_type === 'xma_reel_share' ? '📷 Story' : '🎬 Media';
509
+ return title ? `${type}: "${truncate(title, 30)}"` : type;
510
+ }
511
+ return `[${msg.item_type}]`;
341
512
  }
342
513
  }
514
+ // ─── XMA Title Extraction ───
515
+ function extractXmaTitle(msg) {
516
+ const xmaArrays = [msg.xma_media_share, msg.xma_clip, msg.xma_reel_share];
517
+ for (const arr of xmaArrays) {
518
+ if (arr && arr.length > 0) {
519
+ const xma = arr[0];
520
+ if (xma.title_text)
521
+ return xma.title_text;
522
+ if (xma.caption_body_text)
523
+ return xma.caption_body_text;
524
+ if (xma.preview_title)
525
+ return xma.preview_title;
526
+ if (xma.header_title_text)
527
+ return `@${xma.header_title_text}`;
528
+ }
529
+ }
530
+ if (msg.text)
531
+ return msg.text;
532
+ return null;
533
+ }
534
+ // ─── Deep URL Scanner ───
535
+ // Aggressively search through all message fields to find any media URL
536
+ function deepFindUrl(obj, depth = 0) {
537
+ if (depth > 5 || !obj || typeof obj !== 'object')
538
+ return null;
539
+ if (Array.isArray(obj)) {
540
+ for (const item of obj) {
541
+ const found = deepFindUrl(item, depth + 1);
542
+ if (found)
543
+ return found;
544
+ }
545
+ return null;
546
+ }
547
+ // Priority 1: direct video/playable URLs
548
+ if (typeof obj.playable_url === 'string' && obj.playable_url.length > 0)
549
+ return obj.playable_url;
550
+ if (typeof obj.video_url === 'string' && obj.video_url.length > 0)
551
+ return obj.video_url;
552
+ // Priority 2: video_versions array
553
+ if (Array.isArray(obj.video_versions) && obj.video_versions.length > 0) {
554
+ if (obj.video_versions[0].url)
555
+ return obj.video_versions[0].url;
556
+ }
557
+ // Priority 3: target_url (Instagram reel/post link — opens in browser natively)
558
+ // We prioritize this over preview_url now because user requested browser opening
559
+ if (typeof obj.target_url === 'string' && obj.target_url.includes('instagram.com')) {
560
+ return obj.target_url;
561
+ }
562
+ // Priority 4: image versions / preview links
563
+ if (obj.image_versions2?.candidates && obj.image_versions2.candidates.length > 0) {
564
+ return obj.image_versions2.candidates[0].url;
565
+ }
566
+ if (typeof obj.preview_url === 'string' && obj.preview_url.startsWith('http'))
567
+ return obj.preview_url;
568
+ if (obj.preview_url_info?.url)
569
+ return obj.preview_url_info.url;
570
+ const mediaKeys = [
571
+ 'xma_clip', 'xma_media_share', 'xma_reel_share',
572
+ 'clip', 'media', 'media_share', 'reel_share',
573
+ 'voice_media', 'video_versions', 'image_versions2', 'carousel_media',
574
+ 'preview_url_info', 'audio',
575
+ ];
576
+ for (const key of mediaKeys) {
577
+ if (obj[key]) {
578
+ const found = deepFindUrl(obj[key], depth + 1);
579
+ if (found)
580
+ return found;
581
+ }
582
+ }
583
+ return null;
584
+ }
585
+ // ─── Extract Media URL ───
343
586
  function extractMediaUrl(msg) {
344
587
  if (!msg)
345
588
  return null;
589
+ if (msg.item_type?.startsWith('xma')) {
590
+ return deepFindUrl(msg);
591
+ }
346
592
  if (msg.item_type === 'reel_share' && msg.reel_share?.media) {
347
593
  const media = msg.reel_share.media;
348
594
  if (media.video_versions?.length > 0)
@@ -371,15 +617,32 @@ function extractMediaUrl(msg) {
371
617
  return msg.media.image_versions2.candidates[0].url;
372
618
  }
373
619
  if (msg.item_type === 'clip') {
374
- const c = msg.clip?.clip || msg.clip;
375
- if (c?.video_versions?.length > 0)
376
- return c.video_versions[0].url;
620
+ return deepFindUrl(msg);
377
621
  }
378
622
  if (msg.item_type === 'voice_media' && msg.voice_media?.media?.audio?.audio_src) {
379
623
  return msg.voice_media.media.audio.audio_src;
380
624
  }
381
625
  return null;
382
626
  }
627
+ // ─── Get media type label ───
628
+ function getMediaType(msg) {
629
+ switch (msg.item_type) {
630
+ case 'xma_clip':
631
+ case 'clip': return 'Reel';
632
+ case 'media': return 'Photo';
633
+ case 'media_share':
634
+ case 'xma_media_share': return 'Post';
635
+ case 'reel_share':
636
+ case 'xma_reel_share': return 'Story';
637
+ case 'voice_media': return 'Voice';
638
+ case 'animated_media': return 'GIF';
639
+ default:
640
+ if (msg.item_type?.startsWith('xma'))
641
+ return 'Media';
642
+ return 'Media';
643
+ }
644
+ }
645
+ // ─── Utilities ───
383
646
  function truncate(str, len) {
384
647
  if (str.length <= len)
385
648
  return str;
package/dist/dm.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"dm.js","sourceRoot":"","sources":["../src/dm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dm.js","sourceRoot":"","sources":["../src/dm.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4DA,4CA+GC;AA1KD,kDAA0B;AAC1B,kDAA0B;AAC1B,mDAAqC;AACrC,8CAAsB;AACtB,mDAAqC;AACrC,iDAAqC;AAKrC,uBAAuB;AACvB,MAAM,IAAI,GAAG,eAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAClC,MAAM,MAAM,GAAG,eAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACpC,MAAM,OAAO,GAAG,eAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACrC,MAAM,UAAU,GAAG,eAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACxC,MAAM,GAAG,GAAG,eAAK,CAAC,GAAG,CAAC;AACtB,MAAM,IAAI,GAAG,eAAK,CAAC,IAAI,CAAC;AAExB,sBAAsB;AACtB,SAAS,MAAM,CAAC,IAAY,EAAE,KAAkB,EAAE,KAAuB,EAAE,WAAmB,EAAE;IAC5F,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,IAAI,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,QAAQ,GAAG,CAAC,EAAE,CAAC;YACtD,IAAI,WAAW;gBAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACzC,WAAW,GAAG,IAAI,CAAC;QACvB,CAAC;aAAM,CAAC;YACJ,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAChE,CAAC;IACL,CAAC;IACD,IAAI,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACzC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEzC,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IACzE,MAAM,QAAQ,GAAG,YAAY,GAAG,CAAC,CAAC;IAElC,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QACvB,MAAM,GAAG,GAAG,YAAY,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC/C,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;IAExC,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC;QAC9C,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChE,CAAC;SAAM,CAAC;QACJ,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;AACL,CAAC;AAED,SAAS,SAAS,CAAC,GAAW;IAC1B,OAAO,GAAG,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED,gBAAgB;AACT,KAAK,UAAU,gBAAgB,CAAC,MAAmB;IACtD,OAAO,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CACP,IAAA,eAAK,EAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;YAC1B,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;YACjD,WAAW,EAAE,OAAO;YACpB,WAAW,EAAE,SAAS;YACtB,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;SACnD,CAAC,CACL,CAAC;QAEF,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,EAAE,IAAI,EAAE,GAAG,CAAC,2BAA2B,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;QAEnF,IAAI,OAAc,CAAC;QACnB,IAAI,CAAC;YACD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC5C,OAAO,GAAG,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,EAAE,CAAC;QACnB,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,+BAA+B,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;YACzE,MAAM,KAAK,EAAE,CAAC;YACd,OAAO;QACX,CAAC;QAED,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAAC,CAAC;YAC5D,MAAM,KAAK,EAAE,CAAC;YACd,OAAO;QACX,CAAC;QAED,wBAAwB;QACxB,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YACrC;gBACI,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,IAAI,CAAC,iDAAiD,CAAC;gBAChE,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,EAAE;aACd;SACJ,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC/C,MAAM,QAAQ,GAAG,UAAU;YACvB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CACxB,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CACrB,CAAC,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC9C,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAClD,CACJ;YACD,CAAC,CAAC,OAAO,CAAC;QAEd,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,kCAAkC,MAAM,KAAK,CAAC,CAAC,CAAC;YACzE,MAAM,KAAK,EAAE,CAAC;YACd,SAAS;QACb,CAAC;QAED,OAAO,CAAC,GAAG,CACP,GAAG,CAAC,SAAS,QAAQ,CAAC,MAAM,gBAAgB,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;YACpF,GAAG,CAAC,oCAAoC,CAAC,CAC5C,CAAC;QAEF,MAAM,OAAO,GAAU,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAW,EAAE,KAAa,EAAE,EAAE;YAC/D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC;YAChF,MAAM,QAAQ,GAAG,MAAM,CAAC,mBAAmB,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;YACjE,MAAM,OAAO,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAC5C,MAAM,IAAI,GAAG,QAAQ,EAAE,SAAS;gBAC5B,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;gBACpD,CAAC,CAAC,EAAE,CAAC;YACT,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC;YAEpC,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACzD,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,eAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACnD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YACxD,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YAClD,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAEjC,OAAO;gBACH,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,IAAI,KAAK,GAAG,KAAK,EAAE,EAAE;gBAChD,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;gBAC3E,KAAK,EAAE,IAAI,KAAK,EAAE;aACrB,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,IAAI,CACR,IAAI,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,gEAAgE,CAAQ,CAAC,EACpG,EAAE,IAAI,EAAE,SAAS,GAAG,CAAC,aAAa,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EACrE,EAAE,IAAI,EAAE,SAAS,GAAG,CAAC,kBAAkB,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAC1E,CAAC;QAEF,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YACvC;gBACI,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,IAAI,CAAC,qBAAqB,CAAC;gBACpC,OAAO;gBACP,QAAQ,EAAE,EAAE;gBACZ,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC;gBACjB,IAAI,EAAE,KAAK;aACd;SACJ,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM;YAAE,OAAO;QACvC,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS;YAAE,SAAS;QAE5C,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;IAChF,CAAC;AACL,CAAC;AAED,oBAAoB;AACpB,KAAK,UAAU,QAAQ,CACnB,MAAmB,EACnB,QAAgB,EAChB,QAAgB,EAChB,WAAmB;IAEnB,IAAI,QAAQ,GAAU,EAAE,CAAC;IACzB,IAAI,YAAY,GAA0C,IAAI,CAAC;IAC/D,IAAI,YAAY,GAAyB,IAAI,CAAC;IAC9C,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,IAAI,SAAS,GAAwE,EAAE,CAAC;IAExF,SAAS,YAAY;QACjB,IAAI,YAAY;YAAE,OAAO,YAAY,CAAC;QACtC,YAAY,GAAG,CAAC,KAAK,IAAI,EAAE;YACvB,IAAI,CAAC;gBACD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;oBACxC,SAAS,EAAE,QAAQ;oBACnB,aAAa,EAAE,EAAE;iBACb,CAAC,CAAC;gBACV,QAAQ,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;YACxC,CAAC;YAAC,MAAM,CAAC;gBACL,gCAAgC;YACpC,CAAC;YACD,YAAY,GAAG,IAAI,CAAC;QACxB,CAAC,CAAC,EAAE,CAAC;QACL,OAAO,YAAY,CAAC;IACxB,CAAC;IAED,SAAS,UAAU;QACf,OAAO,CAAC,KAAK,EAAE,CAAC;QAEhB,MAAM,IAAI,GAAG,eAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,eAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,eAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAElC,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,+BAA+B,CAAC;EAChE,IAAI,CAAC,IAAI,CAAC,+BAA+B,CAAC;EAC1C,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC;EAC9C,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC;EAC5C,IAAI,CAAC,IAAI,CAAC,+BAA+B,CAAC,EAAE,CAAC;QAEvC,MAAM,WAAW,GAAG;YAChB,EAAE;YACF,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YACnB,EAAE;YACF,IAAA,eAAK,EACD,UAAU,CAAC,IAAI,CAAC,QAAQ,QAAQ,EAAE,CAAC,GAAG,IAAI;gBAC1C,GAAG,CAAC,2BAA2B,CAAC,GAAG,eAAK,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,qBAAqB,CAAC;gBAC1F,GAAG,CAAC,SAAS,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,gCAAgC,CAAC,EAC9E;gBACI,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;gBACjD,WAAW,EAAE,OAAO;gBACpB,WAAW,EAAE,SAAS;gBACtB,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;aACnD,CACJ;SACJ,CAAC;QAEF,SAAS,GAAG,EAAE,CAAC;QACf,MAAM,SAAS,GAAa,EAAE,CAAC;QAE/B,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC,CAAC;QAC/D,CAAC;aAAM,CAAC;YACJ,MAAM,aAAa,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YACzD,IAAI,QAAQ,GAAG,EAAE,CAAC;YAElB,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5C,MAAM,GAAG,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;gBAC7B,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,KAAK,WAAW,CAAC;gBAC7C,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;qBAC9C,kBAAkB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;gBACpE,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,kBAAkB,EAAE,CAAC;gBAE5E,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;oBACvB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB,OAAO,SAAS,CAAC,CAAC,CAAC;oBACxD,QAAQ,GAAG,OAAO,CAAC;gBACvB,CAAC;gBAED,MAAM,OAAO,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;gBACvC,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;gBACtC,MAAM,IAAI,GAAG,GAAG,CAAC,mBAAmB,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,CAAC;gBAEnE,IAAI,QAAQ,EAAE,CAAC;oBACX,SAAS,CAAC,IAAI,CAAC;wBACX,KAAK,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC;wBAC3B,IAAI,EAAE,YAAY,CAAC,GAAG,CAAC;wBACvB,GAAG,EAAE,QAAQ;wBACb,IAAI,EAAE,IAAI;qBACb,CAAC,CAAC;gBACP,CAAC;gBAED,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;gBAC9C,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC1B,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC,CAAC;gBAEnD,IAAI,QAAQ,EAAE,CAAC;oBACX,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBACjD,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC;gBACjD,CAAC;qBAAM,CAAC;oBACJ,SAAS,CAAC,IAAI,CAAC,SAAS,OAAO,GAAG,KAAK,EAAE,CAAC,CAAC;gBAC/C,CAAC;gBAED,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACjF,SAAS,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;gBAE5B,IAAI,QAAQ,EAAE,CAAC;oBACX,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC;oBAC7B,MAAM,KAAK,GAAG,QAAQ,eAAK,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,eAAK,CAAC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC,EAAE,CAAC;oBAClG,IAAI,QAAQ,EAAE,CAAC;wBACX,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;wBACzD,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC;oBAC/C,CAAC;yBAAM,CAAC;wBACJ,SAAS,CAAC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;oBACrC,CAAC;gBACL,CAAC;YACL,CAAC;YAED,IAAI,QAAQ,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;gBACvB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,QAAQ,CAAC,MAAM,GAAG,EAAE,iBAAiB,CAAC,CAAC,CAAC;YAC9E,CAAC;QACL,CAAC;QAED,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC,CAAC;QAE5E,oFAAoF;QACpF,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QAEjD,4CAA4C;QAC5C,IAAI,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAEpG,iHAAiH;QACjH,kDAAkD;QAClD,YAAY,IAAI,CAAC,CAAC;QAElB,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEpC,8CAA8C;QAC9C,IAAI,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAEhG,6DAA6D;QAC7D,MAAM,YAAY,GAAG,CAAC,CAAC;QACvB,MAAM,cAAc,GAAG,cAAc,GAAG,YAAY,GAAG,YAAY,CAAC;QAEpE,sEAAsE;QACtE,IAAI,UAAU,GAAG,cAAc,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,cAAc,GAAG,UAAU,CAAC;YAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACpB,CAAC;QACL,CAAC;QAED,sGAAsG;QACtG,4CAA4C;QAC5C,IAAI,UAAU,GAAG,cAAc,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;YACpD,gDAAgD;YAChD,IAAI,WAAW,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;YACjC,OAAO,WAAW,CAAC,MAAM,GAAG,cAAc,EAAE,CAAC;gBACzC,WAAW,CAAC,KAAK,EAAE,CAAC;YACxB,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACJ,YAAY;YACZ,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACtC,CAAC;IACL,CAAC;IAED,eAAe;IACf,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,EAAE,IAAI,EAAE,GAAG,CAAC,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IAC9E,MAAM,YAAY,EAAE,CAAC;IACrB,OAAO,CAAC,IAAI,EAAE,CAAC;IACf,UAAU,EAAE,CAAC;IAEb,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QACjC,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;YAChC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC;SAC1B,CAAC,CAAC;QAEH,EAAE,CAAC,MAAM,EAAE,CAAC;QAEZ,MAAM,cAAc,GAAG,CAAC,GAAW,EAAE,GAAQ,EAAE,EAAE;YAC7C,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;gBAC7E,aAAa,GAAG,IAAI,CAAC;gBACrB,IAAI,YAAY;oBAAE,aAAa,CAAC,YAAY,CAAC,CAAC;gBAC9C,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK;oBAAE,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;gBAClF,EAAE,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,EAAE,CAAC;YACd,CAAC;QACL,CAAC,CAAC;QAEF,wCAAwC;QACxC,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QACjD,CAAC;QAED,eAAe;QACf,YAAY,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;YAClC,IAAI,aAAa;gBAAE,OAAO;YAC1B,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;YAC1C,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC;YAClC,MAAM,YAAY,EAAE,CAAC;YACrB,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,KAAK,UAAU,EAAE,CAAC;gBACzE,6EAA6E;gBAC7E,uDAAuD;gBACvD,UAAU,EAAE,CAAC;gBACb,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;QACL,CAAC,EAAE,IAAI,CAAC,CAAC;QAET,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,IAAY,EAAE,EAAE;YACjC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAE5B,IAAI,CAAC,OAAO,EAAE,CAAC;gBACX,EAAE,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO;YACX,CAAC;YAED,IAAI,OAAO,KAAK,OAAO,IAAI,OAAO,KAAK,OAAO,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;gBACpE,aAAa,GAAG,IAAI,CAAC;gBACrB,IAAI,YAAY;oBAAE,aAAa,CAAC,YAAY,CAAC,CAAC;gBAC9C,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK;oBAAE,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;gBAClF,EAAE,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,EAAE,CAAC;gBACV,OAAO;YACX,CAAC;YAED,mBAAmB;YACnB,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACnC,IAAI,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC;gBAC3B,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;oBACX,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACjC,CAAC;gBAED,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC;gBACnD,IAAI,KAAK,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;oBACrB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC;oBACjE,IAAA,oBAAI,EAAC,SAAS,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;gBAChC,CAAC;qBAAM,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAChC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC;gBACnD,CAAC;qBAAM,CAAC;oBACJ,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,mCAAmC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBACrF,CAAC;gBACD,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,GAAG,CAAC,CAAC;gBACnC,OAAO;YACX,CAAC;YAED,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACvB,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBAC/C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC;oBAClE,IAAA,oBAAI,EAAC,SAAS,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;gBACjC,CAAC;qBAAM,CAAC;oBACJ,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC;gBACnD,CAAC;gBACD,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,GAAG,CAAC,CAAC;gBACnC,OAAO;YACX,CAAC;YAED,uCAAuC;YACvC,QAAQ,CAAC,OAAO,CAAC;gBACb,SAAS,EAAE,MAAM;gBACjB,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY,IAAI,IAAI;gBAC1C,SAAS,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE;gBACzC,aAAa,EAAE,IAAI;aACtB,CAAC,CAAC;YACH,UAAU,EAAE,CAAC;YAEb,IAAI,CAAC;gBACD,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;gBAC1D,MAAM,YAAY,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBAC1C,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC5C,MAAM,YAAY,EAAE,CAAC;gBACrB,UAAU,EAAE,CAAC;YACjB,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAChB,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,sBAAsB;gBACzE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,sBAAsB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBAC5D,UAAU,EAAE,CAAC;YACjB,CAAC;YAED,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAChB,aAAa,GAAG,IAAI,CAAC;YACrB,IAAI,YAAY;gBAAE,aAAa,CAAC,YAAY,CAAC,CAAC;YAC9C,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK;gBAAE,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;YAClF,OAAO,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AAED,kCAAkC;AAClC,SAAS,iBAAiB,CAAC,IAAS;IAChC,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;QACrB,KAAK,MAAM,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QACpC,KAAK,YAAY,CAAC,CAAC,OAAO,gBAAgB,CAAC;QAC3C,KAAK,aAAa,CAAC,CAAC,OAAO,kBAAkB,CAAC;QAC9C,KAAK,OAAO,CAAC,CAAC,OAAO,UAAU,CAAC;QAChC,KAAK,aAAa,CAAC,CAAC,OAAO,kBAAkB,CAAC;QAC9C,KAAK,gBAAgB,CAAC,CAAC,OAAO,QAAQ,CAAC;QACvC,KAAK,MAAM,CAAC,CAAC,OAAO,UAAU,CAAC;QAC/B,KAAK,MAAM,CAAC,CAAC,OAAO,SAAS,CAAC;QAC9B,KAAK,MAAM,CAAC,CAAC,OAAO,SAAS,CAAC;QAC9B,KAAK,UAAU,CAAC,CAAC,OAAO,SAAS,CAAC;QAClC,KAAK,iBAAiB,CAAC,CAAC,OAAO,WAAW,CAAC;QAC3C,KAAK,gBAAgB,CAAC,CAAC,OAAO,UAAU,CAAC;QACzC,KAAK,YAAY,CAAC,CAAC,OAAO,IAAI,CAAC,UAAU,EAAE,WAAW,IAAI,WAAW,CAAC;QACtE,KAAK,aAAa,CAAC,CAAC,OAAO,IAAI,CAAC,WAAW,EAAE,OAAO,IAAI,SAAS,CAAC;QAClE;YACI,IAAI,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,KAAK,CAAC;gBAAE,OAAO,UAAU,CAAC;YACzD,OAAO,IAAI,IAAI,CAAC,SAAS,IAAI,SAAS,GAAG,CAAC;IAClD,CAAC;AACL,CAAC;AAED,sCAAsC;AACtC,SAAS,iBAAiB,CAAC,GAAQ;IAC/B,QAAQ,GAAG,CAAC,SAAS,EAAE,CAAC;QACpB,KAAK,MAAM;YACP,OAAO,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QAE1B,KAAK,OAAO;YACR,OAAO,UAAU,CAAC;QAEtB,KAAK,aAAa;YACd,OAAO,kBAAkB,CAAC;QAE9B,KAAK,gBAAgB;YACjB,OAAO,QAAQ,CAAC;QAEpB,KAAK,YAAY;YACb,OAAO,GAAG,CAAC,UAAU,EAAE,IAAI;gBACvB,CAAC,CAAC,oBAAoB,GAAG,CAAC,UAAU,CAAC,IAAI,GAAG;gBAC5C,CAAC,CAAC,gBAAgB,CAAC;QAE3B,KAAK,aAAa;YACd,MAAM,OAAO,GAAG,GAAG,CAAC,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC;YAC/C,OAAO,OAAO,CAAC,CAAC,CAAC,eAAe,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC;QAElF,KAAK,MAAM;YACP,OAAO,IAAI,CAAC;QAEhB,KAAK,MAAM;YACP,OAAO,MAAM,GAAG,CAAC,IAAI,EAAE,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE,QAAQ,IAAI,MAAM,EAAE,CAAC;QAElE,KAAK,MAAM;YACP,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC;YAC9C,OAAO,OAAO,CAAC,CAAC,CAAC,aAAa,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;QAEvE,KAAK,YAAY;YACb,OAAO,MAAM,GAAG,CAAC,UAAU,EAAE,WAAW,IAAI,QAAQ,EAAE,CAAC;QAE3D,KAAK,aAAa;YACd,OAAO,GAAG,CAAC,WAAW,EAAE,OAAO,IAAI,SAAS,CAAC;QAEjD;YACI,qCAAqC;YACrC,IAAI,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnC,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;gBACnC,MAAM,IAAI,GAAG,GAAG,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;oBACnD,GAAG,CAAC,SAAS,KAAK,iBAAiB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;wBAC/C,GAAG,CAAC,SAAS,KAAK,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;gBACrE,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;YAC9D,CAAC;YACD,OAAO,IAAI,GAAG,CAAC,SAAS,GAAG,CAAC;IACpC,CAAC;AACL,CAAC;AAED,+BAA+B;AAC/B,SAAS,eAAe,CAAC,GAAQ;IAC7B,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;IAC1E,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC1B,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YACnB,IAAI,GAAG,CAAC,UAAU;gBAAE,OAAO,GAAG,CAAC,UAAU,CAAC;YAC1C,IAAI,GAAG,CAAC,iBAAiB;gBAAE,OAAO,GAAG,CAAC,iBAAiB,CAAC;YACxD,IAAI,GAAG,CAAC,aAAa;gBAAE,OAAO,GAAG,CAAC,aAAa,CAAC;YAChD,IAAI,GAAG,CAAC,iBAAiB;gBAAE,OAAO,IAAI,GAAG,CAAC,iBAAiB,EAAE,CAAC;QAClE,CAAC;IACL,CAAC;IACD,IAAI,GAAG,CAAC,IAAI;QAAE,OAAO,GAAG,CAAC,IAAI,CAAC;IAC9B,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,2BAA2B;AAC3B,uEAAuE;AACvE,SAAS,WAAW,CAAC,GAAQ,EAAE,QAAgB,CAAC;IAC5C,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE9D,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAC3C,IAAI,KAAK;gBAAE,OAAO,KAAK,CAAC;QAC5B,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,yCAAyC;IACzC,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,QAAQ,IAAI,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC,YAAY,CAAC;IACjG,IAAI,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC,SAAS,CAAC;IAExF,mCAAmC;IACnC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,GAAG,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrE,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG;YAAE,OAAO,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACpE,CAAC;IAED,gFAAgF;IAChF,iFAAiF;IACjF,IAAI,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QACjF,OAAO,GAAG,CAAC,UAAU,CAAC;IAC1B,CAAC;IAED,6CAA6C;IAC7C,IAAI,GAAG,CAAC,eAAe,EAAE,UAAU,IAAI,GAAG,CAAC,eAAe,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/E,OAAO,GAAG,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACjD,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ,IAAI,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,GAAG,CAAC,WAAW,CAAC;IACtG,IAAI,GAAG,CAAC,gBAAgB,EAAE,GAAG;QAAE,OAAO,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC;IAE/D,MAAM,SAAS,GAAG;QACd,UAAU,EAAE,iBAAiB,EAAE,gBAAgB;QAC/C,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY;QAC5C,aAAa,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB;QACpE,kBAAkB,EAAE,OAAO;KAC9B,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC1B,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAC/C,IAAI,KAAK;gBAAE,OAAO,KAAK,CAAC;QAC5B,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,4BAA4B;AAC5B,SAAS,eAAe,CAAC,GAAQ;IAC7B,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IAEtB,IAAI,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,GAAG,CAAC,SAAS,KAAK,YAAY,IAAI,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC;QAC1D,MAAM,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC;QACnC,IAAI,KAAK,CAAC,cAAc,EAAE,MAAM,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACzE,IAAI,KAAK,CAAC,eAAe,EAAE,UAAU,EAAE,MAAM,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACtG,CAAC;IAED,IAAI,GAAG,CAAC,SAAS,KAAK,aAAa,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;QACrD,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,CAAC;QAC9B,IAAI,KAAK,CAAC,cAAc,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,MAAM,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YACtC,IAAI,KAAK,CAAC,cAAc,EAAE,MAAM,GAAG,CAAC;gBAAE,OAAO,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YACzE,IAAI,KAAK,CAAC,eAAe,EAAE,UAAU,EAAE,MAAM,GAAG,CAAC;gBAAE,OAAO,KAAK,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACtG,CAAC;QACD,IAAI,KAAK,CAAC,cAAc,EAAE,MAAM,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACzE,IAAI,KAAK,CAAC,eAAe,EAAE,UAAU,EAAE,MAAM,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACtG,CAAC;IAED,IAAI,GAAG,CAAC,SAAS,KAAK,OAAO,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QACzC,IAAI,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,MAAM,GAAG,CAAC;YAAE,OAAO,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACjF,IAAI,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,UAAU,EAAE,MAAM,GAAG,CAAC;YAAE,OAAO,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC9G,CAAC;IAED,IAAI,GAAG,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;QAC3B,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,GAAG,CAAC,SAAS,KAAK,aAAa,IAAI,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAC9E,OAAO,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC;IACjD,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,+BAA+B;AAC/B,SAAS,YAAY,CAAC,GAAQ;IAC1B,QAAQ,GAAG,CAAC,SAAS,EAAE,CAAC;QACpB,KAAK,UAAU,CAAC;QAChB,KAAK,MAAM,CAAC,CAAC,OAAO,MAAM,CAAC;QAC3B,KAAK,OAAO,CAAC,CAAC,OAAO,OAAO,CAAC;QAC7B,KAAK,aAAa,CAAC;QACnB,KAAK,iBAAiB,CAAC,CAAC,OAAO,MAAM,CAAC;QACtC,KAAK,YAAY,CAAC;QAClB,KAAK,gBAAgB,CAAC,CAAC,OAAO,OAAO,CAAC;QACtC,KAAK,aAAa,CAAC,CAAC,OAAO,OAAO,CAAC;QACnC,KAAK,gBAAgB,CAAC,CAAC,OAAO,KAAK,CAAC;QACpC;YACI,IAAI,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,KAAK,CAAC;gBAAE,OAAO,OAAO,CAAC;YACrD,OAAO,OAAO,CAAC;IACvB,CAAC;AACL,CAAC;AAED,oBAAoB;AACpB,SAAS,QAAQ,CAAC,GAAW,EAAE,GAAW;IACtC,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG;QAAE,OAAO,GAAG,CAAC;IAClC,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;AAC3C,CAAC;AAED,SAAS,eAAe,CAAC,OAAe;IACpC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC;IAE/C,IAAI,QAAQ,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/B,IAAI,QAAQ,GAAG,EAAE;QAAE,OAAO,GAAG,QAAQ,GAAG,CAAC;IACzC,IAAI,SAAS,GAAG,EAAE;QAAE,OAAO,GAAG,SAAS,GAAG,CAAC;IAC3C,IAAI,QAAQ,GAAG,CAAC;QAAE,OAAO,GAAG,QAAQ,GAAG,CAAC;IACxC,OAAO,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;AAC3E,CAAC;AAED,KAAK,UAAU,KAAK;IAChB,MAAM,QAAQ,CAAC,MAAM,CAAC;QAClB;YACI,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,GAAG,CAAC,4BAA4B,CAAC;YAC1C,MAAM,EAAE,IAAI;SACf;KACJ,CAAC,CAAC;AACP,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "insta-dista-cli",
3
- "version": "1.5.0",
3
+ "version": "1.8.0",
4
4
  "description": "Distraction-free Instagram CLI — DMs only, no reels, no feed, no stories.",
5
5
  "main": "dist/index.js",
6
6
  "bin": {