@shashwatgtmalpha/craft-content-mcp 1.0.1 โ 2.0.1
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/README.md +150 -123
- package/dist/case-study-generator.d.ts +12 -0
- package/dist/case-study-generator.d.ts.map +1 -0
- package/dist/case-study-generator.js +373 -0
- package/dist/case-study-generator.js.map +1 -0
- package/dist/content-improver.d.ts +8 -0
- package/dist/content-improver.d.ts.map +1 -0
- package/dist/content-improver.js +238 -0
- package/dist/content-improver.js.map +1 -0
- package/dist/content-repurposer.d.ts +8 -0
- package/dist/content-repurposer.d.ts.map +1 -0
- package/dist/content-repurposer.js +423 -0
- package/dist/content-repurposer.js.map +1 -0
- package/dist/index.js +86 -1236
- package/dist/index.js.map +1 -1
- package/dist/newsletter-builder.d.ts +10 -0
- package/dist/newsletter-builder.d.ts.map +1 -0
- package/dist/newsletter-builder.js +411 -0
- package/dist/newsletter-builder.js.map +1 -0
- package/dist/sales-enablement.d.ts +11 -0
- package/dist/sales-enablement.d.ts.map +1 -0
- package/dist/sales-enablement.js +455 -0
- package/dist/sales-enablement.js.map +1 -0
- package/dist/testimonial-capture.d.ts +11 -0
- package/dist/testimonial-capture.d.ts.map +1 -0
- package/dist/testimonial-capture.js +424 -0
- package/dist/testimonial-capture.js.map +1 -0
- package/dist/thought-leadership.d.ts +10 -0
- package/dist/thought-leadership.d.ts.map +1 -0
- package/dist/thought-leadership.js +475 -0
- package/dist/thought-leadership.js.map +1 -0
- package/dist/tools.d.ts +3 -0
- package/dist/tools.d.ts.map +1 -0
- package/dist/tools.js +210 -0
- package/dist/tools.js.map +1 -0
- package/dist/utils.d.ts +40 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +289 -0
- package/dist/utils.js.map +1 -0
- package/dist/webinar-script.d.ts +11 -0
- package/dist/webinar-script.d.ts.map +1 -0
- package/dist/webinar-script.js +457 -0
- package/dist/webinar-script.js.map +1 -0
- package/package.json +47 -49
|
@@ -0,0 +1,423 @@
|
|
|
1
|
+
import { parseListItems, extractKeyPoints, countWords } from './utils.js';
|
|
2
|
+
// Default formats when user doesn't specify
|
|
3
|
+
const DEFAULT_FORMATS = ['linkedin_post', 'twitter_thread', 'email', 'blog_summary', 'quote_cards'];
|
|
4
|
+
export function generateContentRepurposer(args) {
|
|
5
|
+
const content = args.source_content;
|
|
6
|
+
const sourceType = args.source_type;
|
|
7
|
+
const targetFormats = args.target_formats ? parseListItems(args.target_formats) : DEFAULT_FORMATS;
|
|
8
|
+
const voice = args.brand_voice || 'professional';
|
|
9
|
+
const keyMessage = args.key_message || '';
|
|
10
|
+
// Extract key information from source
|
|
11
|
+
const keyPoints = extractKeyPoints(content);
|
|
12
|
+
const wordCount = countWords(content);
|
|
13
|
+
const title = extractTitle(content);
|
|
14
|
+
let output = `# ๐ Content Repurposing Kit
|
|
15
|
+
|
|
16
|
+
## Source Content Analysis
|
|
17
|
+
|
|
18
|
+
| Attribute | Value |
|
|
19
|
+
|-----------|-------|
|
|
20
|
+
| **Source Type** | ${sourceType.replace(/_/g, ' ')} |
|
|
21
|
+
| **Word Count** | ${wordCount} |
|
|
22
|
+
| **Key Points Found** | ${keyPoints.length} |
|
|
23
|
+
| **Brand Voice** | ${voice} |
|
|
24
|
+
| **Core Message** | ${keyMessage || 'Extracted from content'} |
|
|
25
|
+
| **Formats** | ${args.target_formats ? 'Custom selection' : 'Default top 5'} |
|
|
26
|
+
|
|
27
|
+
### Key Points Extracted
|
|
28
|
+
${keyPoints.map((p, i) => `${i + 1}. ${p}`).join('\n')}
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## ๐ฆ Repurposed Content
|
|
33
|
+
|
|
34
|
+
`;
|
|
35
|
+
// Generate each requested format
|
|
36
|
+
for (const format of targetFormats) {
|
|
37
|
+
const formatOutput = generateFormat(format.toLowerCase().replace(/\s+/g, '_'), content, keyPoints, title, voice, keyMessage, sourceType);
|
|
38
|
+
output += formatOutput;
|
|
39
|
+
}
|
|
40
|
+
output += `
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## ๐ Content Distribution Matrix
|
|
44
|
+
|
|
45
|
+
| Format | Platform | Best Time | Engagement Goal |
|
|
46
|
+
|--------|----------|-----------|-----------------|
|
|
47
|
+
${targetFormats.map(f => `| ${f} | ${getPlatform(f)} | ${getBestTime(f)} | ${getEngagementGoal(f)} |`).join('\n')}
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## โ
Repurposing Checklist
|
|
52
|
+
|
|
53
|
+
- [ ] Review each piece for brand consistency
|
|
54
|
+
- [ ] Customize for platform-specific best practices
|
|
55
|
+
- [ ] Update links/CTAs for each channel
|
|
56
|
+
- [ ] Schedule according to optimal times
|
|
57
|
+
- [ ] Prepare responses for expected engagement
|
|
58
|
+
- [ ] Track performance across formats
|
|
59
|
+
|
|
60
|
+
`;
|
|
61
|
+
return output;
|
|
62
|
+
}
|
|
63
|
+
function extractTitle(content) {
|
|
64
|
+
// Try to extract title from headers or first line
|
|
65
|
+
const headerMatch = content.match(/^#\s+(.+)$/m);
|
|
66
|
+
if (headerMatch)
|
|
67
|
+
return headerMatch[1];
|
|
68
|
+
const firstLine = content.split('\n')[0];
|
|
69
|
+
if (firstLine.length < 100)
|
|
70
|
+
return firstLine;
|
|
71
|
+
return 'Content';
|
|
72
|
+
}
|
|
73
|
+
function generateFormat(format, content, keyPoints, title, voice, keyMessage, sourceType) {
|
|
74
|
+
const generators = {
|
|
75
|
+
linkedin_post: () => `
|
|
76
|
+
### ๐ฑ LinkedIn Post
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
${generateLinkedInPost(content, keyPoints, voice, keyMessage)}
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
**Posting Notes:**
|
|
85
|
+
- Best time: Tuesday-Thursday, 8-10am
|
|
86
|
+
- Engage with comments in first 60 min
|
|
87
|
+
- Add 3-5 relevant hashtags
|
|
88
|
+
|
|
89
|
+
`,
|
|
90
|
+
twitter_thread: () => `
|
|
91
|
+
### ๐ฆ Twitter/X Thread
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
${generateTwitterThread(content, keyPoints, title)}
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
**Posting Notes:**
|
|
100
|
+
- Thread with 5-10 tweets performs best
|
|
101
|
+
- First tweet is crucial for engagement
|
|
102
|
+
- Add a "follow for more" at the end
|
|
103
|
+
|
|
104
|
+
`,
|
|
105
|
+
email: () => `
|
|
106
|
+
### ๐ง Email Version
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
**Subject Line Options:**
|
|
111
|
+
1. ${title}: Key insights you need to know
|
|
112
|
+
2. What we learned about ${keyPoints[0]?.split(' ').slice(0, 3).join(' ') || 'this topic'}
|
|
113
|
+
3. [First Name], don't miss this ${sourceType.replace(/_/g, ' ')} summary
|
|
114
|
+
|
|
115
|
+
**Email Body:**
|
|
116
|
+
|
|
117
|
+
${generateEmailVersion(content, keyPoints, keyMessage)}
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
`,
|
|
122
|
+
blog_summary: () => `
|
|
123
|
+
### ๐ Blog Summary (300 words)
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
${generateBlogSummary(content, keyPoints, title)}
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
`,
|
|
132
|
+
infographic_outline: () => `
|
|
133
|
+
### ๐ Infographic Outline
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
**Title:** ${title}
|
|
138
|
+
|
|
139
|
+
**Header Section:**
|
|
140
|
+
- Main statistic or hook from content
|
|
141
|
+
- Visual: [Icon representing topic]
|
|
142
|
+
|
|
143
|
+
**Body Sections:**
|
|
144
|
+
|
|
145
|
+
${keyPoints.slice(0, 5).map((p, i) => `
|
|
146
|
+
**Section ${i + 1}: ${p.split(' ').slice(0, 5).join(' ')}...**
|
|
147
|
+
- Key stat/visual: [Extract number or create icon]
|
|
148
|
+
- Supporting point: ${p}
|
|
149
|
+
`).join('\n')}
|
|
150
|
+
|
|
151
|
+
**Footer:**
|
|
152
|
+
- CTA: [Action you want viewers to take]
|
|
153
|
+
- Branding: Logo + website
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
`,
|
|
158
|
+
video_script: () => `
|
|
159
|
+
### ๐ฅ Video Script (60-90 seconds)
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
**[HOOK - 5 seconds]**
|
|
164
|
+
"${keyPoints[0] ? `Did you know that ${keyPoints[0].toLowerCase()}?` : `Here's something important about ${title}...`}"
|
|
165
|
+
|
|
166
|
+
**[INTRO - 10 seconds]**
|
|
167
|
+
"I just shared ${sourceType.replace(/_/g, ' ')} about ${title}. Here are the key takeaways you need to know."
|
|
168
|
+
|
|
169
|
+
**[BODY - 45-60 seconds]**
|
|
170
|
+
${keyPoints.slice(0, 3).map((p, i) => `
|
|
171
|
+
"Point ${i + 1}: ${p}"
|
|
172
|
+
[VISUAL: Supporting image/graphic]
|
|
173
|
+
`).join('\n')}
|
|
174
|
+
|
|
175
|
+
**[CTA - 10 seconds]**
|
|
176
|
+
"${keyMessage || 'Link in bio for the full version. Follow for more insights like this.'}"
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
`,
|
|
181
|
+
podcast_talking_points: () => `
|
|
182
|
+
### ๐๏ธ Podcast Talking Points
|
|
183
|
+
|
|
184
|
+
---
|
|
185
|
+
|
|
186
|
+
**Episode Title:** ${title}: A Deep Dive
|
|
187
|
+
|
|
188
|
+
**Intro (1-2 min):**
|
|
189
|
+
- Hook: Why this matters now
|
|
190
|
+
- Context: Where this ${sourceType.replace(/_/g, ' ')} came from
|
|
191
|
+
|
|
192
|
+
**Main Discussion Points:**
|
|
193
|
+
|
|
194
|
+
${keyPoints.map((p, i) => `
|
|
195
|
+
**Point ${i + 1}:** ${p}
|
|
196
|
+
- Story/example to illustrate
|
|
197
|
+
- Implications for listeners
|
|
198
|
+
- Practical application
|
|
199
|
+
`).join('\n')}
|
|
200
|
+
|
|
201
|
+
**Wrap-up:**
|
|
202
|
+
- Key takeaway summary
|
|
203
|
+
- CTA for listeners
|
|
204
|
+
- Tease next episode
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
`,
|
|
209
|
+
slide_deck_outline: () => `
|
|
210
|
+
### ๐ Slide Deck Outline
|
|
211
|
+
|
|
212
|
+
---
|
|
213
|
+
|
|
214
|
+
**Slide 1: Title**
|
|
215
|
+
- ${title}
|
|
216
|
+
- [Presenter name, date]
|
|
217
|
+
|
|
218
|
+
**Slide 2: Why This Matters**
|
|
219
|
+
- Context for the content
|
|
220
|
+
- Key problem being addressed
|
|
221
|
+
|
|
222
|
+
${keyPoints.map((p, i) => `
|
|
223
|
+
**Slide ${i + 3}: ${p.split(' ').slice(0, 5).join(' ')}**
|
|
224
|
+
- Main point: ${p}
|
|
225
|
+
- Supporting visual
|
|
226
|
+
- Key statistic (if available)
|
|
227
|
+
`).join('\n')}
|
|
228
|
+
|
|
229
|
+
**Slide ${keyPoints.length + 3}: Summary**
|
|
230
|
+
- ${keyPoints.length} key takeaways
|
|
231
|
+
- One-line for each
|
|
232
|
+
|
|
233
|
+
**Slide ${keyPoints.length + 4}: Next Steps/CTA**
|
|
234
|
+
- What to do with this information
|
|
235
|
+
- Contact/follow-up details
|
|
236
|
+
|
|
237
|
+
---
|
|
238
|
+
|
|
239
|
+
`,
|
|
240
|
+
quote_cards: () => `
|
|
241
|
+
### ๐ฌ Quote Cards (Social Graphics)
|
|
242
|
+
|
|
243
|
+
---
|
|
244
|
+
|
|
245
|
+
${extractQuotes(content, keyPoints).map((q, i) => `
|
|
246
|
+
**Quote Card ${i + 1}:**
|
|
247
|
+
> "${q}"
|
|
248
|
+
|
|
249
|
+
- Background: [Solid color or subtle pattern]
|
|
250
|
+
- Font: Bold, readable
|
|
251
|
+
- Branding: Logo bottom corner
|
|
252
|
+
|
|
253
|
+
`).join('\n')}
|
|
254
|
+
|
|
255
|
+
**Design Notes:**
|
|
256
|
+
- Keep text readable on mobile
|
|
257
|
+
- Use brand colors
|
|
258
|
+
- Square format (1080x1080) for Instagram/LinkedIn
|
|
259
|
+
- Add visual hierarchy with font sizes
|
|
260
|
+
|
|
261
|
+
---
|
|
262
|
+
|
|
263
|
+
`,
|
|
264
|
+
newsletter_section: () => `
|
|
265
|
+
### ๐ฐ Newsletter Section
|
|
266
|
+
|
|
267
|
+
---
|
|
268
|
+
|
|
269
|
+
**Section Header:** ${title}
|
|
270
|
+
|
|
271
|
+
${generateNewsletterSection(content, keyPoints, keyMessage)}
|
|
272
|
+
|
|
273
|
+
**[Read the full ${sourceType.replace(/_/g, ' ')} โ]**
|
|
274
|
+
|
|
275
|
+
---
|
|
276
|
+
|
|
277
|
+
`
|
|
278
|
+
};
|
|
279
|
+
return generators[format] ? generators[format]() : `
|
|
280
|
+
### ${format.replace(/_/g, ' ').toUpperCase()}
|
|
281
|
+
|
|
282
|
+
Content repurposed for ${format}:
|
|
283
|
+
|
|
284
|
+
${keyPoints.map(p => `โข ${p}`).join('\n')}
|
|
285
|
+
|
|
286
|
+
[CTA based on format requirements]
|
|
287
|
+
|
|
288
|
+
---
|
|
289
|
+
|
|
290
|
+
`;
|
|
291
|
+
}
|
|
292
|
+
function generateLinkedInPost(content, keyPoints, voice, keyMessage) {
|
|
293
|
+
const hook = keyPoints[0] ? `${keyPoints[0].charAt(0).toUpperCase() + keyPoints[0].slice(1)}` : 'Here\'s what I learned';
|
|
294
|
+
return `${hook}
|
|
295
|
+
|
|
296
|
+
${keyPoints.length > 1 ? `After diving deep into this topic, here's what stands out:
|
|
297
|
+
|
|
298
|
+
${keyPoints.slice(0, 4).map((p, i) => `${i + 1}. ${p}`).join('\n')}` : ''}
|
|
299
|
+
|
|
300
|
+
${keyMessage || 'The bottom line: this changes how we should think about the problem.'}
|
|
301
|
+
|
|
302
|
+
What's your take? ๐
|
|
303
|
+
|
|
304
|
+
#${content.split(' ').slice(0, 3).join('').replace(/[^a-zA-Z]/g, '')} #Insights #${voice}`;
|
|
305
|
+
}
|
|
306
|
+
function generateTwitterThread(content, keyPoints, title) {
|
|
307
|
+
let thread = `**Tweet 1 (Hook):**
|
|
308
|
+
${title} - A thread ๐งต
|
|
309
|
+
|
|
310
|
+
Here's what you need to know:\n\n`;
|
|
311
|
+
keyPoints.slice(0, 6).forEach((p, i) => {
|
|
312
|
+
thread += `**Tweet ${i + 2}:**
|
|
313
|
+
${i + 1}/ ${p}
|
|
314
|
+
|
|
315
|
+
`;
|
|
316
|
+
});
|
|
317
|
+
thread += `**Final Tweet:**
|
|
318
|
+
${keyPoints.length + 2}/ That's the TL;DR.
|
|
319
|
+
|
|
320
|
+
Full breakdown linked in bio.
|
|
321
|
+
|
|
322
|
+
Follow for more threads like this ๐`;
|
|
323
|
+
return thread;
|
|
324
|
+
}
|
|
325
|
+
function generateEmailVersion(content, keyPoints, keyMessage) {
|
|
326
|
+
return `Hi [First Name],
|
|
327
|
+
|
|
328
|
+
Quick summary of something important:
|
|
329
|
+
|
|
330
|
+
${keyPoints.slice(0, 3).map(p => `โ ${p}`).join('\n')}
|
|
331
|
+
|
|
332
|
+
${keyMessage || 'This matters because [reason].'}
|
|
333
|
+
|
|
334
|
+
Worth a read when you have a few minutes.
|
|
335
|
+
|
|
336
|
+
[CTA Button: Read the Full Version]
|
|
337
|
+
|
|
338
|
+
Best,
|
|
339
|
+
[Your name]`;
|
|
340
|
+
}
|
|
341
|
+
function generateBlogSummary(content, keyPoints, title) {
|
|
342
|
+
return `## ${title}: Key Takeaways
|
|
343
|
+
|
|
344
|
+
${keyPoints[0] || 'This content explores important topics'} โ and that's just the beginning.
|
|
345
|
+
|
|
346
|
+
In this ${content.length > 5000 ? 'comprehensive' : 'focused'} piece, we cover:
|
|
347
|
+
|
|
348
|
+
${keyPoints.map(p => `- **${p.split(' ').slice(0, 4).join(' ')}:** ${p}`).join('\n')}
|
|
349
|
+
|
|
350
|
+
Whether you're [audience segment 1] or [audience segment 2], these insights apply to your work.
|
|
351
|
+
|
|
352
|
+
**The bottom line:** ${keyPoints[0] || 'There\'s actionable value here.'}
|
|
353
|
+
|
|
354
|
+
[Read the full version for examples, data, and implementation details โ]`;
|
|
355
|
+
}
|
|
356
|
+
function generateNewsletterSection(content, keyPoints, keyMessage) {
|
|
357
|
+
return `${keyPoints[0] || 'Key insight from this content.'}
|
|
358
|
+
|
|
359
|
+
Here's the quick version:
|
|
360
|
+
|
|
361
|
+
${keyPoints.slice(1, 4).map(p => `โข ${p}`).join('\n')}
|
|
362
|
+
|
|
363
|
+
${keyMessage || 'Worth your time if you care about this topic.'}`;
|
|
364
|
+
}
|
|
365
|
+
function extractQuotes(content, keyPoints) {
|
|
366
|
+
// Look for actual quotes in content
|
|
367
|
+
const quotesInContent = content.match(/"[^"]{20,150}"/g) || [];
|
|
368
|
+
// Generate quotable statements from key points
|
|
369
|
+
const generated = keyPoints.slice(0, 3).map(p => {
|
|
370
|
+
const words = p.split(' ');
|
|
371
|
+
if (words.length > 15) {
|
|
372
|
+
return words.slice(0, 12).join(' ') + '...';
|
|
373
|
+
}
|
|
374
|
+
return p;
|
|
375
|
+
});
|
|
376
|
+
return [...quotesInContent.map(q => q.replace(/"/g, '')), ...generated].slice(0, 5);
|
|
377
|
+
}
|
|
378
|
+
function getPlatform(format) {
|
|
379
|
+
const platforms = {
|
|
380
|
+
linkedin_post: 'LinkedIn',
|
|
381
|
+
twitter_thread: 'Twitter/X',
|
|
382
|
+
email: 'Email list',
|
|
383
|
+
blog_summary: 'Blog',
|
|
384
|
+
infographic_outline: 'Instagram, Pinterest',
|
|
385
|
+
video_script: 'YouTube, TikTok',
|
|
386
|
+
podcast_talking_points: 'Podcast',
|
|
387
|
+
slide_deck_outline: 'SlideShare, presentations',
|
|
388
|
+
quote_cards: 'All social',
|
|
389
|
+
newsletter_section: 'Newsletter'
|
|
390
|
+
};
|
|
391
|
+
return platforms[format.toLowerCase().replace(/\s+/g, '_')] || 'Multiple';
|
|
392
|
+
}
|
|
393
|
+
function getBestTime(format) {
|
|
394
|
+
const times = {
|
|
395
|
+
linkedin_post: 'Tue-Thu 8-10am',
|
|
396
|
+
twitter_thread: 'Mon-Fri 12pm',
|
|
397
|
+
email: 'Tue 10am',
|
|
398
|
+
blog_summary: 'Tuesday AM',
|
|
399
|
+
infographic_outline: 'Wed/Sun',
|
|
400
|
+
video_script: 'Sat/Sun',
|
|
401
|
+
podcast_talking_points: 'Monday AM',
|
|
402
|
+
slide_deck_outline: 'Anytime',
|
|
403
|
+
quote_cards: 'Daily',
|
|
404
|
+
newsletter_section: 'Weekly'
|
|
405
|
+
};
|
|
406
|
+
return times[format.toLowerCase().replace(/\s+/g, '_')] || 'Varies';
|
|
407
|
+
}
|
|
408
|
+
function getEngagementGoal(format) {
|
|
409
|
+
const goals = {
|
|
410
|
+
linkedin_post: 'Comments, shares',
|
|
411
|
+
twitter_thread: 'Retweets, follows',
|
|
412
|
+
email: 'Opens, clicks',
|
|
413
|
+
blog_summary: 'Traffic, time on page',
|
|
414
|
+
infographic_outline: 'Saves, shares',
|
|
415
|
+
video_script: 'Watch time, subs',
|
|
416
|
+
podcast_talking_points: 'Downloads, reviews',
|
|
417
|
+
slide_deck_outline: 'Views, downloads',
|
|
418
|
+
quote_cards: 'Shares, saves',
|
|
419
|
+
newsletter_section: 'Click-through'
|
|
420
|
+
};
|
|
421
|
+
return goals[format.toLowerCase().replace(/\s+/g, '_')] || 'Engagement';
|
|
422
|
+
}
|
|
423
|
+
//# sourceMappingURL=content-repurposer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-repurposer.js","sourceRoot":"","sources":["../src/content-repurposer.ts"],"names":[],"mappings":"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"}
|