@mkody/twitch-emoticons 2.9.6 → 3.0.0-beta.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 (80) hide show
  1. package/README.md +530 -169
  2. package/dist/TwitchEmoticons.cjs +950 -0
  3. package/dist/TwitchEmoticons.esm.min.js +7 -0
  4. package/dist/TwitchEmoticons.esm.min.js.map +7 -0
  5. package/dist/TwitchEmoticons.min.js +2 -20
  6. package/dist/TwitchEmoticons.min.js.map +4 -4
  7. package/package.json +99 -72
  8. package/src/index.js +38 -12
  9. package/src/struct/BTTVEmote.js +72 -74
  10. package/src/struct/Channel.js +48 -48
  11. package/src/struct/Emote.js +71 -71
  12. package/src/struct/EmoteFetcher.js +358 -322
  13. package/src/struct/EmoteParser.js +95 -84
  14. package/src/struct/EmoteTypeMapper.js +9 -9
  15. package/src/struct/FFZEmote.js +91 -93
  16. package/src/struct/SevenTVEmote.js +88 -90
  17. package/src/struct/TwitchEmote.js +72 -71
  18. package/src/util/Collection.js +69 -55
  19. package/src/util/Constants.js +30 -30
  20. package/typings/index.d.cts +254 -0
  21. package/typings/index.d.ts +216 -99
  22. package/.jsdoc.json +0 -46
  23. package/.nvmrc +0 -1
  24. package/docs/BTTVEmote.html +0 -1532
  25. package/docs/Channel.html +0 -824
  26. package/docs/Collection.html +0 -798
  27. package/docs/Emote.html +0 -832
  28. package/docs/EmoteFetcher.html +0 -3741
  29. package/docs/EmoteParser.html +0 -1187
  30. package/docs/FFZEmote.html +0 -1686
  31. package/docs/SevenTVEmote.html +0 -1596
  32. package/docs/TwitchEmote.html +0 -1528
  33. package/docs/fonts/Montserrat/Montserrat-Bold.eot +0 -0
  34. package/docs/fonts/Montserrat/Montserrat-Bold.ttf +0 -0
  35. package/docs/fonts/Montserrat/Montserrat-Bold.woff +0 -0
  36. package/docs/fonts/Montserrat/Montserrat-Bold.woff2 +0 -0
  37. package/docs/fonts/Montserrat/Montserrat-Regular.eot +0 -0
  38. package/docs/fonts/Montserrat/Montserrat-Regular.ttf +0 -0
  39. package/docs/fonts/Montserrat/Montserrat-Regular.woff +0 -0
  40. package/docs/fonts/Montserrat/Montserrat-Regular.woff2 +0 -0
  41. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.eot +0 -0
  42. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.svg +0 -978
  43. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.ttf +0 -0
  44. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff +0 -0
  45. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff2 +0 -0
  46. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.eot +0 -0
  47. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.svg +0 -1049
  48. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.ttf +0 -0
  49. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff +0 -0
  50. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff2 +0 -0
  51. package/docs/index.html +0 -233
  52. package/docs/scripts/collapse.js +0 -39
  53. package/docs/scripts/commonNav.js +0 -28
  54. package/docs/scripts/linenumber.js +0 -25
  55. package/docs/scripts/nav.js +0 -12
  56. package/docs/scripts/polyfill.js +0 -4
  57. package/docs/scripts/prettify/Apache-License-2.0.txt +0 -202
  58. package/docs/scripts/prettify/lang-css.js +0 -2
  59. package/docs/scripts/prettify/prettify.js +0 -28
  60. package/docs/scripts/search.js +0 -99
  61. package/docs/struct_BTTVEmote.js.html +0 -162
  62. package/docs/struct_Channel.js.html +0 -132
  63. package/docs/struct_Emote.js.html +0 -159
  64. package/docs/struct_EmoteFetcher.js.html +0 -429
  65. package/docs/struct_EmoteParser.js.html +0 -172
  66. package/docs/struct_FFZEmote.js.html +0 -185
  67. package/docs/struct_SevenTVEmote.js.html +0 -180
  68. package/docs/struct_TwitchEmote.js.html +0 -159
  69. package/docs/styles/jsdoc.css +0 -776
  70. package/docs/styles/prettify.css +0 -80
  71. package/docs/util_Collection.js.html +0 -151
  72. package/eslint.config.mjs +0 -215
  73. package/jest.config.js +0 -198
  74. package/test/BTTV.test.js +0 -48
  75. package/test/FFZ.test.js +0 -71
  76. package/test/SevenTV.test.js +0 -71
  77. package/test/ToFromObject.test.js +0 -156
  78. package/test/Twitch.test.js +0 -64
  79. package/test/__snapshots__/ToFromObject.test.js.snap +0 -121
  80. package/test/other.test.js +0 -72
package/docs/Emote.html DELETED
@@ -1,832 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
-
5
- <meta charset="utf-8">
6
- <title>Emote - Documentation</title>
7
-
8
-
9
- <script src="scripts/prettify/prettify.js"></script>
10
- <script src="scripts/prettify/lang-css.js"></script>
11
- <!--[if lt IE 9]>
12
- <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
13
- <![endif]-->
14
- <link type="text/css" rel="stylesheet" href="styles/prettify.css">
15
- <link type="text/css" rel="stylesheet" href="styles/jsdoc.css">
16
- <script src="scripts/nav.js" defer></script>
17
-
18
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
19
- </head>
20
- <body>
21
-
22
- <input type="checkbox" id="nav-trigger" class="nav-trigger" />
23
- <label for="nav-trigger" class="navicon-button x">
24
- <div class="navicon"></div>
25
- </label>
26
-
27
- <label for="nav-trigger" class="overlay"></label>
28
-
29
- <nav >
30
-
31
-
32
- <h2><a href="index.html">Home</a></h2><h2><a href="https://github.com/mkody/twitch-emoticons" target="_blank" class="menu-item" id="github_link" >GitHub</a></h2><h3>Classes</h3><ul><li><a href="BTTVEmote.html">BTTVEmote</a><ul class='methods'><li data-type='method'><a href="BTTVEmote.html#toLink">toLink</a></li><li data-type='method'><a href="BTTVEmote.html#toObject">toObject</a></li><li data-type='method'><a href="BTTVEmote.html#.fromObject">fromObject</a></li></ul></li><li><a href="Channel.html">Channel</a><ul class='methods'><li data-type='method'><a href="Channel.html#fetchBTTVEmotes">fetchBTTVEmotes</a></li><li data-type='method'><a href="Channel.html#fetchFFZEmotes">fetchFFZEmotes</a></li><li data-type='method'><a href="Channel.html#fetchSevenTVEmotes">fetchSevenTVEmotes</a></li></ul></li><li><a href="Emote.html">Emote</a><ul class='methods'><li data-type='method'><a href="Emote.html#toObject">toObject</a></li></ul></li><li><a href="EmoteFetcher.html">EmoteFetcher</a><ul class='methods'><li data-type='method'><a href="EmoteFetcher.html#fetchTwitchEmotes">fetchTwitchEmotes</a></li><li data-type='method'><a href="EmoteFetcher.html#fetchBTTVEmotes">fetchBTTVEmotes</a></li><li data-type='method'><a href="EmoteFetcher.html#fetchFFZEmotes">fetchFFZEmotes</a></li><li data-type='method'><a href="EmoteFetcher.html#fetchSevenTVEmotes">fetchSevenTVEmotes</a></li><li data-type='method'><a href="EmoteFetcher.html#fromObject">fromObject</a></li></ul></li><li><a href="EmoteParser.html">EmoteParser</a><ul class='methods'><li data-type='method'><a href="EmoteParser.html#parse">parse</a></li></ul></li><li><a href="FFZEmote.html">FFZEmote</a><ul class='methods'><li data-type='method'><a href="FFZEmote.html#toLink">toLink</a></li><li data-type='method'><a href="FFZEmote.html#toObject">toObject</a></li><li data-type='method'><a href="FFZEmote.html#.fromObject">fromObject</a></li></ul></li><li><a href="SevenTVEmote.html">SevenTVEmote</a><ul class='methods'><li data-type='method'><a href="SevenTVEmote.html#toLink">toLink</a></li><li data-type='method'><a href="SevenTVEmote.html#toObject">toObject</a></li><li data-type='method'><a href="SevenTVEmote.html#.fromObject">fromObject</a></li></ul></li><li><a href="TwitchEmote.html">TwitchEmote</a><ul class='methods'><li data-type='method'><a href="TwitchEmote.html#toLink">toLink</a></li><li data-type='method'><a href="TwitchEmote.html#toObject">toObject</a></li><li data-type='method'><a href="TwitchEmote.html#.fromObject">fromObject</a></li></ul></li><li><a href="Collection.html">Collection</a><ul class='methods'><li data-type='method'><a href="Collection.html#find">find</a></li><li data-type='method'><a href="Collection.html#filter">filter</a></li><li data-type='method'><a href="Collection.html#map">map</a></li></ul></li></ul>
33
-
34
- </nav>
35
-
36
- <div id="main">
37
-
38
- <h1 class="page-title">Emote</h1>
39
-
40
-
41
-
42
-
43
-
44
-
45
-
46
- <section>
47
-
48
- <header>
49
-
50
- <h2>
51
-
52
- Emote
53
-
54
- </h2>
55
-
56
-
57
- </header>
58
-
59
- <article>
60
-
61
- <div class="container-overview">
62
-
63
-
64
-
65
-
66
-
67
- <h4 class="name" id="Emote"><span class="type-signature"></span>new Emote<span class="signature">(channel, id, data)</span><span class="type-signature"></span></h4>
68
-
69
-
70
-
71
-
72
-
73
-
74
- <dl class="details">
75
-
76
- <dt class="tag-description">Description:</dt>
77
- <dd class="tag-description"><ul class="dummy"><li><p>Base class for emotes.<br>
78
- This constructor is not to be used.</p></li></ul></dd>
79
-
80
-
81
-
82
- <dt class="tag-source">Source:</dt>
83
- <dd class="tag-source"><ul class="dummy"><li>
84
- <a href="struct_Emote.js.html">struct/Emote.js</a>, <a href="struct_Emote.js.html#line10">line 10</a>
85
- </li></ul></dd>
86
-
87
-
88
-
89
-
90
-
91
-
92
-
93
-
94
-
95
-
96
-
97
-
98
-
99
-
100
-
101
-
102
-
103
-
104
-
105
-
106
-
107
-
108
-
109
-
110
-
111
-
112
-
113
-
114
-
115
-
116
-
117
- </dl>
118
-
119
-
120
-
121
-
122
-
123
-
124
-
125
-
126
-
127
-
128
-
129
-
130
-
131
- <h5 class="h5-parameters">Parameters:</h5>
132
-
133
-
134
- <table class="params">
135
- <thead>
136
- <tr>
137
-
138
- <th>Name</th>
139
-
140
-
141
- <th>Type</th>
142
-
143
-
144
-
145
-
146
-
147
- <th class="last">Description</th>
148
- </tr>
149
- </thead>
150
-
151
- <tbody>
152
-
153
-
154
- <tr>
155
-
156
- <td class="name"><code>channel</code></td>
157
-
158
-
159
- <td class="type">
160
-
161
-
162
- <span class="param-type"><a href="Channel.html">Channel</a></span>
163
-
164
-
165
-
166
-
167
- </td>
168
-
169
-
170
-
171
-
172
-
173
- <td class="description last"><p>Channel this emote belongs to.</p></td>
174
- </tr>
175
-
176
-
177
-
178
- <tr>
179
-
180
- <td class="name"><code>id</code></td>
181
-
182
-
183
- <td class="type">
184
-
185
-
186
- <span class="param-type">string</span>
187
-
188
-
189
-
190
-
191
- </td>
192
-
193
-
194
-
195
-
196
-
197
- <td class="description last"><p>ID of the emote.</p></td>
198
- </tr>
199
-
200
-
201
-
202
- <tr>
203
-
204
- <td class="name"><code>data</code></td>
205
-
206
-
207
- <td class="type">
208
-
209
-
210
- <span class="param-type">data</span>
211
-
212
-
213
-
214
-
215
- </td>
216
-
217
-
218
-
219
-
220
-
221
- <td class="description last"><p>The raw emote data.</p></td>
222
- </tr>
223
-
224
-
225
- </tbody>
226
- </table>
227
-
228
-
229
-
230
-
231
-
232
-
233
-
234
-
235
-
236
-
237
-
238
-
239
-
240
-
241
- <h5 class="h5-throws">Throws:</h5>
242
-
243
-
244
-
245
- <dl>
246
- <dt>
247
- <div class="param-desc usertext">
248
- <p>When trying to use the base Emote class directly.</p>
249
- </div>
250
- </dt>
251
- <dd></dd>
252
- <dt>
253
- <dl class="param-type">
254
- <dt>
255
- Type
256
- </dt>
257
- <dd>
258
-
259
- <span class="param-type">Error</span>
260
-
261
-
262
-
263
- </dd>
264
- </dl>
265
- </dt>
266
- <dd></dd>
267
- </dl>
268
-
269
-
270
-
271
-
272
-
273
-
274
-
275
-
276
-
277
- </div>
278
-
279
-
280
-
281
-
282
-
283
-
284
-
285
-
286
-
287
-
288
-
289
-
290
-
291
-
292
-
293
- <h3 class="subsection-title">Members</h3>
294
-
295
-
296
-
297
- <h4 class="name" id="fetcher"><span class="type-signature"></span>fetcher<span class="type-signature"> :<a href="EmoteFetcher.html">EmoteFetcher</a></span></h4>
298
-
299
-
300
-
301
-
302
-
303
- <dl class="details">
304
-
305
- <dt class="tag-description">Description:</dt>
306
- <dd class="tag-description"><ul class="dummy"><li><p>The emote fetcher.</p></li></ul></dd>
307
-
308
-
309
-
310
- <dt class="tag-source">Source:</dt>
311
- <dd class="tag-source"><ul class="dummy"><li>
312
- <a href="struct_Emote.js.html">struct/Emote.js</a>, <a href="struct_Emote.js.html#line19">line 19</a>
313
- </li></ul></dd>
314
-
315
-
316
-
317
-
318
-
319
-
320
-
321
-
322
-
323
-
324
-
325
-
326
-
327
-
328
-
329
-
330
-
331
-
332
-
333
-
334
-
335
-
336
-
337
-
338
-
339
-
340
-
341
-
342
-
343
-
344
-
345
- </dl>
346
-
347
-
348
-
349
-
350
-
351
- <div class="description usertext">
352
- <p>The emote fetcher.</p>
353
- </div>
354
-
355
-
356
-
357
- <h5 class="h5-types">Type:</h5>
358
- <ul>
359
- <li>
360
-
361
- <span class="param-type"><a href="EmoteFetcher.html">EmoteFetcher</a></span>
362
-
363
-
364
-
365
- </li>
366
- </ul>
367
-
368
-
369
-
370
-
371
-
372
-
373
-
374
-
375
- <h4 class="name" id="channel"><span class="type-signature"></span>channel<span class="type-signature"> :<a href="Channel.html">Channel</a></span></h4>
376
-
377
-
378
-
379
-
380
-
381
- <dl class="details">
382
-
383
- <dt class="tag-description">Description:</dt>
384
- <dd class="tag-description"><ul class="dummy"><li><p>The channel this emote belongs to.<br>
385
- Only accurate and constant on Twitch emotes.<br>
386
- For other types of emotes, use the <code>owner</code> or <code>ownerName</code> property.</p></li></ul></dd>
387
-
388
-
389
-
390
- <dt class="tag-source">Source:</dt>
391
- <dd class="tag-source"><ul class="dummy"><li>
392
- <a href="struct_Emote.js.html">struct/Emote.js</a>, <a href="struct_Emote.js.html#line27">line 27</a>
393
- </li></ul></dd>
394
-
395
-
396
-
397
-
398
-
399
-
400
-
401
-
402
-
403
-
404
-
405
-
406
-
407
-
408
-
409
-
410
-
411
-
412
-
413
-
414
-
415
-
416
-
417
-
418
-
419
-
420
-
421
-
422
-
423
-
424
-
425
- </dl>
426
-
427
-
428
-
429
-
430
-
431
- <div class="description usertext">
432
- <p>The channel this emote belongs to.<br>
433
- Only accurate and constant on Twitch emotes.<br>
434
- For other types of emotes, use the <code>owner</code> or <code>ownerName</code> property.</p>
435
- </div>
436
-
437
-
438
-
439
- <h5 class="h5-types">Type:</h5>
440
- <ul>
441
- <li>
442
-
443
- <span class="param-type"><a href="Channel.html">Channel</a></span>
444
-
445
-
446
-
447
- </li>
448
- </ul>
449
-
450
-
451
-
452
-
453
-
454
-
455
-
456
-
457
- <h4 class="name" id="id"><span class="type-signature"></span>id<span class="type-signature"> :string</span></h4>
458
-
459
-
460
-
461
-
462
-
463
- <dl class="details">
464
-
465
- <dt class="tag-description">Description:</dt>
466
- <dd class="tag-description"><ul class="dummy"><li><p>The ID of this emote.</p></li></ul></dd>
467
-
468
-
469
-
470
- <dt class="tag-source">Source:</dt>
471
- <dd class="tag-source"><ul class="dummy"><li>
472
- <a href="struct_Emote.js.html">struct/Emote.js</a>, <a href="struct_Emote.js.html#line33">line 33</a>
473
- </li></ul></dd>
474
-
475
-
476
-
477
-
478
-
479
-
480
-
481
-
482
-
483
-
484
-
485
-
486
-
487
-
488
-
489
-
490
-
491
-
492
-
493
-
494
-
495
-
496
-
497
-
498
-
499
-
500
-
501
-
502
-
503
-
504
-
505
- </dl>
506
-
507
-
508
-
509
-
510
-
511
- <div class="description usertext">
512
- <p>The ID of this emote.</p>
513
- </div>
514
-
515
-
516
-
517
- <h5 class="h5-types">Type:</h5>
518
- <ul>
519
- <li>
520
-
521
- <span class="param-type">string</span>
522
-
523
-
524
-
525
- </li>
526
- </ul>
527
-
528
-
529
-
530
-
531
-
532
-
533
-
534
-
535
- <h4 class="name" id="type"><span class="type-signature"></span>type<span class="type-signature"> :string</span></h4>
536
-
537
-
538
-
539
-
540
-
541
- <dl class="details">
542
-
543
- <dt class="tag-description">Description:</dt>
544
- <dd class="tag-description"><ul class="dummy"><li><p>The type of this emote.<br>
545
- Either <code>twitch</code>, <code>bttv</code>, <code>ffz</code>, or '7tv'.</p></li></ul></dd>
546
-
547
-
548
-
549
- <dt class="tag-source">Source:</dt>
550
- <dd class="tag-source"><ul class="dummy"><li>
551
- <a href="struct_Emote.js.html">struct/Emote.js</a>, <a href="struct_Emote.js.html#line40">line 40</a>
552
- </li></ul></dd>
553
-
554
-
555
-
556
-
557
-
558
-
559
-
560
-
561
-
562
-
563
-
564
-
565
-
566
-
567
-
568
-
569
-
570
-
571
-
572
-
573
-
574
-
575
-
576
-
577
-
578
-
579
-
580
-
581
-
582
-
583
-
584
- </dl>
585
-
586
-
587
-
588
-
589
-
590
- <div class="description usertext">
591
- <p>The type of this emote.<br>
592
- Either <code>twitch</code>, <code>bttv</code>, <code>ffz</code>, or '7tv'.</p>
593
- </div>
594
-
595
-
596
-
597
- <h5 class="h5-types">Type:</h5>
598
- <ul>
599
- <li>
600
-
601
- <span class="param-type">string</span>
602
-
603
-
604
-
605
- </li>
606
- </ul>
607
-
608
-
609
-
610
-
611
-
612
-
613
-
614
-
615
- <h4 class="name" id="code"><span class="type-signature"></span>code<span class="type-signature"> :string</span></h4>
616
-
617
-
618
-
619
-
620
-
621
- <dl class="details">
622
-
623
- <dt class="tag-description">Description:</dt>
624
- <dd class="tag-description"><ul class="dummy"><li><p>The code or name of the emote.</p></li></ul></dd>
625
-
626
-
627
-
628
- <dt class="tag-source">Source:</dt>
629
- <dd class="tag-source"><ul class="dummy"><li>
630
- <a href="struct_Emote.js.html">struct/Emote.js</a>, <a href="struct_Emote.js.html#line50">line 50</a>
631
- </li></ul></dd>
632
-
633
-
634
-
635
-
636
-
637
-
638
-
639
-
640
-
641
-
642
-
643
-
644
-
645
-
646
-
647
-
648
-
649
-
650
-
651
-
652
-
653
-
654
-
655
-
656
-
657
-
658
-
659
-
660
-
661
-
662
-
663
- </dl>
664
-
665
-
666
-
667
-
668
-
669
- <div class="description usertext">
670
- <p>The code or name of the emote.</p>
671
- </div>
672
-
673
-
674
-
675
- <h5 class="h5-types">Type:</h5>
676
- <ul>
677
- <li>
678
-
679
- <span class="param-type">string</span>
680
-
681
-
682
-
683
- </li>
684
- </ul>
685
-
686
-
687
-
688
-
689
-
690
-
691
-
692
-
693
-
694
-
695
- <h3 class="subsection-title">Methods</h3>
696
-
697
-
698
-
699
-
700
-
701
-
702
- <h4 class="name" id="toObject"><span class="type-signature"></span>toObject<span class="signature">()</span><span class="type-signature"> &rarr; {object}</span></h4>
703
-
704
-
705
-
706
-
707
-
708
-
709
- <dl class="details">
710
-
711
- <dt class="tag-description">Description:</dt>
712
- <dd class="tag-description"><ul class="dummy"><li><p>Override for <code>toObject</code>.<br>
713
- Will result in an Object representation of an Emote</p></li></ul></dd>
714
-
715
-
716
-
717
- <dt class="tag-source">Source:</dt>
718
- <dd class="tag-source"><ul class="dummy"><li>
719
- <a href="struct_Emote.js.html">struct/Emote.js</a>, <a href="struct_Emote.js.html#line78">line 78</a>
720
- </li></ul></dd>
721
-
722
-
723
-
724
-
725
-
726
-
727
-
728
-
729
-
730
-
731
-
732
-
733
-
734
-
735
-
736
-
737
-
738
-
739
-
740
-
741
-
742
-
743
-
744
-
745
-
746
-
747
-
748
-
749
-
750
-
751
-
752
- </dl>
753
-
754
-
755
-
756
-
757
-
758
-
759
-
760
-
761
-
762
-
763
-
764
-
765
-
766
-
767
-
768
-
769
-
770
-
771
-
772
-
773
-
774
-
775
-
776
-
777
-
778
-
779
-
780
- <h5 class="h5-returns">Returns:</h5>
781
-
782
-
783
-
784
-
785
- <dl class="param-type">
786
- <dt>
787
- Type
788
- </dt>
789
- <dd>
790
-
791
- <span class="param-type">object</span>
792
-
793
-
794
-
795
- </dd>
796
- </dl>
797
-
798
-
799
-
800
-
801
-
802
-
803
-
804
-
805
-
806
-
807
-
808
- </article>
809
-
810
- </section>
811
-
812
-
813
-
814
-
815
-
816
-
817
- </div>
818
-
819
- <br class="clear">
820
-
821
- <footer>
822
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
823
- </footer>
824
-
825
- <script>prettyPrint();</script>
826
- <script src="scripts/polyfill.js"></script>
827
- <script src="scripts/linenumber.js"></script>
828
-
829
-
830
-
831
- </body>
832
- </html>