PageSourceSearch

https://hantsphere.org.uk/js/chat.js

js hantsphere.org.uk collected 2026-10-02 14:52:44 UTC 22,026 bytes, 590 lines download raw bytes

1
2(() => {
3    document.addEventListener('DOMContentLoaded', function injectWidget() {
4        const styles = document.createElement('style');
5        styles.innerHTML = `
6    #jerky-im {
7        position: absolute;
8        z-index: 10000000001;
9        font-family: sans-serif;
10        font-size: calc((216px + 11vw) / 35 + 7px);
11        transition: opacity .4s;
12    }
13
14    #jerky-im.jerky-im-hidden {
15        opacity: 0;
16        pointer-events: none;
17        padding-left: 100%;
18    }
19
20    #jerky-im.jerky-im-hidden #jerky-im-chat,
21    #jerky-im.jerky-im-hidden #jerky-im-avatar-bubble,
22    #jerky-im.jerky-im-hidden.jerky-im-show-chat #jerky-im-chat {
23        pointer-events: none;
24        transform: translateX(calc(240px + 11vw + 20px));
25    }
26
27    #jerky-im #jerky-im-chat {
28        position: fixed;
29        bottom: 18px;
30        right: 18px;
31        width: calc(240px + 11vw);
32        height: calc((216px + 11vw) * 1.45);
33        max-height: calc(100% - 114px);
34        background: #fff;
35        box-shadow: 0 0 25px rgba(0, 0, 0, .15);
36        border-radius: 18px;
37        overflow: hidden;
38        transform-origin: top right;
39        transform: scale(.0000001);
40        opacity: 0;
41        transition: transform .4s, opacity .4s, top .4s;
42        pointer-events: none;
43        padding: 0;
44        margin: 0;
45        top: calc(75vh + 78px);
46    }
47
48    #jerky-im-inspector {
49        position: fixed;
50        left: 0;
51        top: 0;
52        width: calc(75vh + 78px);
53        height: calc((216px + 11vw) * 1.45);
54        transform: translate(-100%, -100%);
55        background: #f00;
56    }
57
58    #jerky-im.jerky-im-offset.jerky-im-show-chat #jerky-im-chat {
59        top: calc(100% - (((216px + 11vw) * 1.45) + 18px));
60    }
61
62    #jerky-im.jerky-im-small-height.jerky-im-show-chat #jerky-im-chat {
63        top: calc(96px);
64        bottom: 18px;
65    }
66
67    @media (max-width: 480px) {
68        #jerky-im.jerky-im-offset.jerky-im-show-chat #jerky-im-chat,
69        #jerky-im.jerky-im-small-height.jerky-im-show-chat #jerky-im-chat,
70        #jerky-im #jerky-im-chat {
71            top: calc(96px);
72            bottom: 18px;
73            width: calc(100vw - 36px);
74            height: calc(100% - 114px);
75        }
76
77        body #jerky-im #jerky-im-chat {
78            top: calc(75vh + 78px);
79        }
80
81        body #jerky-im #jerky-im-inspector {
82            width: calc(75vh + 78px);
83        }
84
85        body #jerky-im #jerky-im-avatar-bubble {
86            top: 75vh;
87        }
88    }
89
90    @media (max-width: 768px) and (min-width: 480px) {
91        body #jerky-im #jerky-im-chat {
92            top: calc(75vh + 78px);
93        }
94
95        body #jerky-im #jerky-im-inspector {
96            width: calc(75vh + 78px);
97        }
98
99        body #jerky-im #jerky-im-avatar-bubble {
100            top: 75vh;
101        }
102    }
103
104    #jerky-im.jerky-im-show-chat #jerky-im-chat {
105        transform: scale(1);
106        opacity: 1;
107        pointer-events: all;
108    }
109
110    #jerky-im #jerky-im-header {
111        background: #e7fbfd;
112        display: block;
113        position: relative;
114        margin: 0;
115        padding: 12px;
116    }
117
118    #jerky-im svg {
119        width: 40%;
120    }
121
122    #jerky-im .jerky-im-avatar {
123        display: block;
124        border: none;
125        box-shadow: 0 1px 2px rgba(0, 0, 0, .5);
126        border-radius: 10000px;
127        width: 36px;
128        height: 36px;
129        background-size: cover;
130        position: relative;
131        padding: 0;
132    }
133
134    #jerky-im .jerky-im-avatar img {
135        position: absolute;
136        top: 0;
137        left: 0;
138        right: 0;
139        bottom: 0;
140        width: 100%;
141        height: 100%;
142        border-radius: 10000px;
143    }
144
145    #jerky-im .jerky-im-avatar:before {
146        content: '';
147        display: block;
148        position: relative;
149        padding-top: 100%;
150    }
151
152    #jerky-im #jerky-im-cams-widget-ctn {
153        width: calc(100% - 56px);
154        padding-top: calc((100% - 56px) * 0.75);
155        border: 0;
156        margin: 12px 0 0;
157        float: right;
158        border-radius: 15px;
159        position: relative;
160        overflow: hidden;
161    }
162
163    #jerky-im #jerky-im-cams-widget,
164    #jerky-im #jerky-im-feed-overlay {
165        width: 100%;
166        height: 100%;
167        top: 0;
168        left: 0;
169        right: 0;
170        bottom: 0;
171        border: 0;
172        position: absolute;
173        overflow: hidden;
174    }
175
176    #jerky-im .jerky-im-message {
177        width: calc(100% - 56px);
178        float: right;
179        clear: right;
180        box-sizing: border-box;
181        margin: 12px 0 0;
182        border-radius: 15px;
183    }
184
185    #jerky-im p.jerky-im-message {
186        background: #e7fbfd;
187        padding: .6em 1.2em;
188        position: relative;
189        overflow: visible;
190        font-weight: 500;
191    }
192
193    #jerky-im p.jerky-im-message:before {
194        content: '';
195        display: block;
196        position: absolute;
197        top: 50%;
198        left: 0;
199        background: inherit;
200        transform-origin: .4em .4em;
201        transform: translate(-50%, -50%) rotate(45deg);
202        width: .8em;
203        height: .8em;
204    }
205
206    #jerky-im p.jerky-im-message + p.jerky-im-message:before {
207        display: none;
208    }
209
210    #jerky-im #jerky-im-chat .jerky-im-avatar {
211        float: left;
212        clear: both;
213        margin: 12px 0 0 ;
214    }
215
216    #jerky-im .jerky-im-cta,
217    #jerky-im #jerky-im-close {
218        background: #ff77a8;
219        border-radius: 1000px;
220        cursor: pointer;
221        transition: background-color .2s ease-in 0s, color .2s ease-in 0s;
222    }
223
224    #jerky-im .jerky-im-cta {
225        font-size: calc((216px + 11vw) / 17);
226        border-radius: 10000px;
227        display: block;
228        color: #fff;
229        text-align: center;
230        padding: .5em 1em;
231        text-decoration: none;
232        box-sizing: border-box;
233        position: absolute;
234        bottom: 12px;
235        left: 12px;
236        right: 12px;
237        font-weight: 600;
238        text-transform: uppercase;
239    }
240
241    #jerky-im #jerky-im-close {
242        float: right;
243        border: 0;
244        padding: 0;
245        width: 8%;
246        outline: none;
247        position: relative;
248    }
249
250    #jerky-im #jerky-im-close:before {
251        content: '';
252        padding-top: 100%;
253        position: relative;
254        display: block;
255    }
256
257    #jerky-im #jerky-im-close:hover,
258    #jerky-im .jerky-im-cta:hover {
259        background: #ff2b77;
260    }
261
262    #jerky-im #jerky-im-close svg {
263        position: absolute;
264        display: block;
265        width: 50%;
266        height: 50%;
267        top: 50%;
268        left: 50%;
269        transform: translate(-50%, -50%);
270    }
271
272    #jerky-im #jerky-im-avatar-bubble {
273        position: fixed;
274        top: 75vh;
275        right: 20px;
276        width: 60px;
277        height: 60px;
278        outline: none !important;
279        transition: top .4s ease-in-out;
280    }
281
282    @media (min-width: 768px) {
283        #jerky-im #jerky-im-avatar-bubble {
284            width: 60px;
285            height: 60px;
286        }
287        #jerky-im #jerky-im-avatar-bubble:active {
288            width: 58px;
289            height: 58px;
290        }
291    }
292
293    @media (max-width: 767px) {
294        #jerky-im #jerky-im-avatar-bubble {
295            width: 60px;
296            height: 60px;
297        }
298        #jerky-im #jerky-im-avatar-bubble:active {
299            width: 58.5px;
300            height: 58.5px;
301        }
302    }
303
304    @media (max-width: 480px) {
305        #jerky-im #jerky-im-avatar-bubble {
306            width: 60px;
307            height: 60px;
308        }
309        #jerky-im #jerky-im-avatar-bubble:active {
310            width: 58.5px;
311            height: 58.5px;
312        }
313    }
314
315    #jerky-im.jerky-im-offset.jerky-im-show-chat #jerky-im-avatar-bubble {
316        top: calc(100% - (((216px + 11vw) * 1.45) + 96px));
317    }
318
319    #jerky-im.jerky-im-small-height.jerky-im-show-chat #jerky-im-avatar-bubble {
320        top: 18;
321    }
322
323    @media (max-width: 480px) {
324        #jerky-im.jerky-im-offset.jerky-im-show-chat #jerky-im-avatar-bubble,
325        #jerky-im.jerky-im-small-height.jerky-im-show-chat #jerky-im-avatar-bubble,
326        #jerky-im.jerky-im-show-chat #jerky-im-avatar-bubble {
327            top: 18px;
328        }
329    }
330
331    #jerky-im #jerky-im-avatar-bubble .dot {
332        width: 1em;
333        height: 1em;
334        background-color: #00bb00;
335        border-radius: 10000px;
336        display: block;
337        position: absolute;
338        bottom: 5%;
339        right: 5%;
340        z-index: 3;
341    }
342
343    #jerky-im #jerky-im-messages .dot {
344        width: 0.7em;
345        height: 0.7em;
346        background-color: #00bb00;
347        border-radius: 10000px;
348        display: block;
349        position: absolute;
350        top: 24px;
351        left: 24px;
352        z-index: 3;
353    }
354
355    #jerky-im #jerky-im-avatar-bubble:before {
356        content: '';
357        display: block;
358        position: absolute;
359        top: 0;
360        left: 0;
361        right: 0;
362        bottom: 0;
363        z-index: 2;
364        border-radius: 100000px;
365        box-shadow: inset 0 -20px 30px -10px rgba(0, 0, 0, .15);
366    }
367
368    #jerky-im #jerky-im-avatar-bubble img {
369        -webkit-filter: contrast(1.1) saturate(1.1);
370        filter: contrast(1.1) saturate(1.1);
371    }
372
373    #jerky-im #jerky-im-avatar-bubble:after {
374        content: '2';
375        display: block;
376        position: absolute;
377        top: 5%;
378        left: 5%;
379        background: #e10;
380        color: #fff;
381        font-size: 11px;
382        width: 1.6em;
383        height: 1.6em;
384        line-height: 1.6em;
385        font-weight: 700;
386        text-align: center;
387        vertical-align: middle;
388        z-index: 3;
389        border-radius: 10000px;
390    }
391
392    #jerky-im #jerky-im-messages {
393        position: relative;
394        padding: 0 12px;
395        overflow: overlay;
396        height: calc(100% - ((216px + 11vw) / 17) * 2 - (216px + 11vw) * 0.07799477164385668 - 48px);
397        color: #000;
398    }
399
400    .jerky-im-cls-1 {
401        fill: #ff76a7;
402    }
403
404    .jerky-im-cls-2,
405    .jerky-im-cls-6 {
406        fill: #1b1464;
407    }
408
409    .jerky-im-cls-3 {
410        fill: #97f0ff;
411    }
412
413    .jerky-im-cls-4 {
414        fill: #fff;
415    }
416
417    .jerky-im-cls-5 {
418        fill: #2727a8;
419        opacity: 0.56;
420    }
421
422    .jerky-im-cls-6,
423    .jerky-im-cls-7 {
424        stroke: #97f0ff;
425        stroke-miterlimit: 10;
426        stroke-width: 3.49px;
427    }
428
429    .jerky-im-cls-7 {
430        fill: none;
431    }`;
432        document.head.appendChild(styles);
433
434        const body = document.createElement('div');
435        body.innerHTML = `
436<div id="jerky-im">
437    
438    <button
439        id="jerky-im-avatar-bubble"
440        class="jerky-im-avatar" style="background-image: url(https://optimized-reviews.b-cdn.net/banner/1987b5ede9855dd555d26a730d5c394c.jpg)"
441    >
442        <img src="https://optimized-reviews.b-cdn.net/banner/1987b5ede9855dd555d26a730d5c394c.jpg" alt="avatar">
443        <span class="dot"></span>
444    </button>
445    <div id="jerky-im-chat">
446        <header id="jerky-im-header">
447            <a href="https://track.premiumvisitor.com/94304c10-2f75-401e-b5dd-517df5d36c92?tablepos=jerkmate" target="_blank">
448                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 614.32 119.78">
449                    <title>small_jerkmate</title>
450                    <path class="jerky-im-cls-1" d="M278.22,31.34l-.29.48h-.1A6.07,6.07,0,0,0,274,37.38,2.58,2.58,0,0,0,276.59,40h6.9a2.58,2.58,0,0,0,2.59-2.59,6,6,0,0,0-3.84-5.56l-.28-.48A1.75,1.75,0,0,0,280,30.09,1.78,1.78,0,0,0,278.22,31.34Z"/>
451                    <path class="jerky-im-cls-2" d="M278.12,44.38h4.12c2.5,0,3.84,1.34,3.84,3.83V86.94c0,14.76-9.68,17.74-23,15-1.63-.29-2.59-1.63-2.59-4.32,0-3.26.48-4.79,3.64-4.79,1.25,0,2.78.29,4,.29,4.41,0,6.14-1.63,6.14-6.14V48.21A3.48,3.48,0,0,1,278.12,44.38Zm47.26,24.35-17.64,1.82c1.54,4.7,5.28,6.32,10.84,6.32a42.65,42.65,0,0,0,9.58-1.34c2.69-.67,4.32.58,4.32,3.26V80a4.07,4.07,0,0,1-3.26,4.31,47.35,47.35,0,0,1-12.66,1.82c-12.65,0-21.09-6.9-21.09-21.18,0-13.52,7.19-21.28,21.19-21.28,11.79,0,18.69,5.46,18.69,15.91C335.35,65.47,333,67.86,325.38,68.73Zm-1-10.17c0-3.93-2.39-6.13-7.76-6.13-5.75,0-8.92,2.59-9.49,9.68l14.38-1.44C323.94,60.39,324.42,59.91,324.42,58.56ZM368,47.83v2.39c0,2.5-1.44,3.84-4.22,3.84-8.72.1-9.1.86-9.1,4V81.57c0,2.49-1.35,3.84-3.84,3.84h-4.12c-2.49,0-3.83-1.35-3.83-3.84V56.46c0-9.59,3.45-12.18,21.09-12.47C366.6,44,368,45.34,368,47.83Zm42.18,37.58h-3.64c-2.4,0-4.31-.67-5.37-2l-15.53-18v16.2c0,2.49-1.34,3.84-3.83,3.84h-3.93c-2.5,0-3.84-1.35-3.84-3.84V30.86c0-2.49,1.34-3.83,3.84-3.83h3.93c2.49,0,3.83,1.34,3.83,3.83V61.73l15.44-15.44c1.05-1.24,2.87-1.91,5.36-1.9
4511h3.36c3.55,0,5.08,1.91,3.07,4.12l-15.34,15,15.82,17.83C415.21,83.59,413.67,85.41,410.22,85.41Zm77.17-22.72v19c0,2.49-1.34,3.83-3.83,3.83h-3.74c-2.49,0-3.83-1.34-3.83-3.83V62.11c0-5.94-2.59-8.63-8.06-8.63s-7.57,2.69-7.57,8.63V81.67c0,2.49-1.34,3.83-3.84,3.83h-3.64c-2.49,0-3.83-1.34-3.83-3.83V62.11c0-5.94-2-8.63-7.58-8.63s-8.05,2.69-8.05,8.63V81.67c0,2.49-1.34,3.83-3.83,3.83h-3.74c-2.49,0-3.84-1.34-3.84-3.83v-19c0-13.9,7.19-19,18.41-19,7.38,0,11.79,2.1,14.19,5.84,2.39-3.74,6.8-5.84,14.19-5.84,11.4,0,18.59,5,18.59,19Zm46.21-3v13.8c0,8.72-3.93,12-12.94,12h-9.49c-10.16,0-16.4-2.68-16.4-12.56s6.24-12.55,16.4-12.55H522v-.67c0-4.61-3.64-6.62-9.68-6.62a58.54,58.54,0,0,0-10.74,1.25c-2.59.48-4.22-.67-4.22-3.36V49.46c0-2.3,1.25-3.84,4-4.32A63.71,63.71,0,0,1,514,43.71C525.26,43.71,533.6,48.5,533.6,59.72ZM522,72.85V68.63H511.74c-5.08,0-6.13,1.15-6.13,4.22s1.05,4.22,6,4.22h6.13c3.64.09,4.22-1.44,4.22-4.22ZM565.43,54H554.11v16.4c0,4.21,1.92,6,6.43,6,2.2,0,3.64-.48,5.08-.48,2.59,0,3.55,1,3.55,3.06v2.11a3.81,3.81,0,0,1-3.07,4.13c-13.23,3.16-23.87-.2-23.87-14.77V38.72c0-2.49,1.34-3.83,3.83-3.83h4.12c2.5,0,3.84,1.34,3.84,3.83v5.66h11.31c2.49,0,3.84,1.34,3.84,3.83V50A3.45,3.45,0,0,1,565.43,54Zm38.92,14.77-17.64,1.82c1.53,4.7,5.27,6.32,10.83,6.32a42.73,42.73,0,0,0,9.59-1.34c2.68-.67,4.31.58,4.3
4511,3.26V80a4.06,4.06,0,0,1-3.26,4.31,47.22,47.22,0,0,1-12.65,1.82c-12.66,0-21.09-6.9-21.09-21.18,0-13.52,7.19-21.28,21.18-21.28,11.8,0,18.7,5.46,18.7,15.91C614.32,65.47,611.83,67.86,604.35,68.73Zm-1-10.17c0-3.93-2.4-6.13-7.77-6.13-5.75,0-8.91,2.59-9.49,9.68l14.38-1.44C602.91,60.39,603.39,59.91,603.39,58.56Z"/>
452                    <path class="jerky-im-cls-3" d="M15.77,46.49a18.71,18.71,0,0,0,0,36.95Z"/>
453                    <path class="jerky-im-cls-1" d="M219.11,46.49a18.71,18.71,0,0,1,0,36.95Z"/>
454                    <path class="jerky-im-cls-1" d="M211.47,71.83a47.94,47.94,0,0,1-47.7,47.92l-46.33,0V0c.54,0,1.06,0,1.59.07A18.68,18.68,0,0,1,133.24,8.7l30.27-.07a48,48,0,0,1,47.92,47.69Z"/>
455                    <path class="jerky-im-cls-3" d="M117.44,0V119.78l-46.33,0A47.94,47.94,0,0,1,23.42,71.83l0-15.51A48,48,0,0,1,71.38,8.63l30.26.07A18.69,18.69,0,0,1,115.86.07C116.38,0,116.91,0,117.44,0Z"/>
456                    <path class="jerky-im-cls-2" d="M75.7,104.73A34.64,34.64,0,0,1,41.18,70l0-11.84A34.67,34.67,0,0,1,75.81,23.67l83.37.2a34.64,34.64,0,0,1,34.53,34.69l0,11.84a34.66,34.66,0,0,1-34.61,34.53Z"/>
457                    <path class="jerky-im-cls-4" d="M75.81,26.19h.08l83.29.2a32.2,32.2,0,0,1,32,32.16l0,11.85a32.14,32.14,0,0,1-32.09,32H159l-83.29-.19a32.13,32.13,0,0,1-32-32.16l0-11.85a32.13,32.13,0,0,1,32.08-32m0-5.05A37.24,37.24,0,0,0,38.68,58.19l0,11.84A37.25,37.25,0,0,0,75.7,107.26l83.28.2h.09a37.25,37.25,0,0,0,37.14-37l0-11.84a37.25,37.25,0,0,0-37.05-37.23l-83.29-.2Z"/>
458                    <rect class="jerky-im-cls-5" x="85.18" y="35" width="96.41" height="55.73" rx="15.28"/>
459                    <path class="jerky-im-cls-4" d="M107.35,63.39h0a10.25,10.25,0,0,0,20.25,0h0a28.56,28.56,0,0,1-20.17,0Z"/>
460                    <circle class="jerky-im-cls-6" cx="78.65" cy="65.68" r="11.51"/>
461                    <circle class="jerky-im-cls-3" cx="74.68" cy="70.35" r="1.8"/>
462                    <circle class="jerky-im-cls-3" cx="85.88" cy="66.35" r="1.68"/>
463                    <circle class="jerky-im-cls-3" cx="82.1" cy="61.46" r="3.57"/>
464                    <circle class="jerky-im-cls-7" cx="156.23" cy="65.68" r="11.51"/>
465                    <circle class="jerky-im-cls-3" cx="151.76" cy="70.35" r="1.8"/>
466                    <circle class="jerky-im-cls-3" cx="162.96" cy="66.35" r="1.68"/>
467                    <circle class="jerky-im-cls-3" cx="159.18" cy="61.46" r="3.57"/>
468                </svg>
469            </a>
470            <button id="jerky-im-close">
471                <svg version="1.1" style="enable-background:new 0 0 47.971 47.971; fill: #fff" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 47.971 47.971" xml:space="preserve">
472                  <path d="M28.228,23.986L47.092,5.122c1.172-1.171,1.172-3.071,0-4.242c-1.172-1.172-3.07-1.172-4.242,0L23.986,19.744L5.121,0.88
473                    c-1.172-1.172-3.07-1.172-4.242,0c-1.172,1.171-1.172,3.071,0,4.242l18.865,18.864L0.879,42.85c-1.172,1.171-1.172,3.071,0,4.242
474                    C1.465,47.677,2.233,47.97,3,47.97s1.535-0.293,2.121-0.879l18.865-18.864L42.85,47.091c0.586,0.586,1.354,0.879,2.121,0.879
475                    s1.535-0.293,2.121-0.879c1.172-1.171,1.172-3.071,0-4.242L28.228,23.986z">
476                  </path>
477                </svg>
478            </button>
479        </header>
480        <div id="jerky-im-messages">
481            <a
482                href="https://track.premiumvisitor.com/94304c10-2f75-401e-b5dd-517df5d36c92?tablepos=jerkmate"
483                target="_blank"
484                class="jerky-im-avatar"
485                style="background-image: url(https://optimized-reviews.b-cdn.net/banner/1987b5ede9855dd555d26a730d5c394c.jpg)"
486            >
487                <img src="https://optimized-reviews.b-cdn.net/banner/1987b5ede9855dd555d26a730d5c394c.jpg" alt="avatar">
488                <span class="dot"></span>
489            </a>
490            <div id="jerky-im-cams-widget-ctn">
491                <iframe id="jerky-im-cams-widget" src="https://optimized-reviews.b-cdn.net/banner/48200f2a4ddab0f9a63b6b1283bd517f.gif"></iframe>
492                <a
493                    href="https://track.premiumvisitor.com/94304c10-2f75-401e-b5dd-517df5d36c92?tablepos=jerkmate"
494                    target="_blank"
495                    id="jerky-im-feed-overlay"
496                ></a>
497            </div>
498            <a
499                href="https://track.premiumvisitor.com/94304c10-2f75-401e-b5dd-517df5d36c92?tablepos=jerkmate"
500                target="_blank"
501                class="jerky-im-avatar" style="background-image: url(https://optimized-reviews.b-cdn.net/banner/1987b5ede9855dd555d26a730d5c394c.jpg)"
502            >
503                <img src="https://optimized-reviews.b-cdn.net/banner/1987b5ede9855dd555d26a730d5c394c.jpg" alt="avatar">
504                <span class="dot"></span>
505            </a>
506            <p class="jerky-im-message">Hey there!</p>
507            <p class="jerky-im-message">I'm live now! Join my room if you want to talk with me</p>
508        </div>
509        <a
510            href="https://track.premiumvisitor.com/94304c10-2f75-401e-b5dd-517df5d36c92?tablepos=jerkmate"
511            target="_blank"
512            class="jerky-im-cta"
513        >
514            Join chat room
515        </a>
516    </div>
517    <div id="jerky-im-inspector"></div>
518</div>
519
520`;
521        document.body.appendChild(body);
522
523        const widgetScript = document.createElement('script');
524        widgetScript.type = "text/javascript";
525        widgetScript.innerHTML = `
526  setTimeout(() => {
527      var jerkyIm = document.getElementById('jerky-im');
528      var jerkyBubble = document.getElementById('jerky-im-avatar-bubble');
529      var jerkyCloseBtn = document.getElementById('jerky-im-close');
530      var jerkyOffsetInspector = document.getElementById('jerky-im-inspector');
531      var jerkyOpen = false;
532      var jerkyOffset = false;
533      var jerkySmallHeight = false;
534      var jerkyHidden = false;
535      var videoIframe = document.getElementById('jerky-im-cams-widget');
536
537      function unmuteIframe() {
538        videoIframe.src = videoIframe.src.replace('sound=off', 'sound=on');
539      }
540
541      function muteIframe() {
542        videoIframe.src = videoIframe.src.replace('sound=on', 'sound=off');
543      }
544
545      function jerkyToggleChat(toggle) {
546        if (toggle === false && true) {
547            jerkyHidden = true
548            true && muteIframe()
549        } else {
550            jerkyOpen = typeof toggle === 'boolean' ? toggle : !jerkyOpen;
551            true && (jerkyOpen ? unmuteIframe() : muteIframe())
552        }
553
554        jerkyApplyClasses();
555      }
556
557      function jerkyCheckOffset() {
558        var jerkyOffsetTop = jerkyOffsetInspector.offsetWidth; /* Don't worry, it's the right value */
559        var jerkyOffsetHeight = jerkyOffsetInspector.offsetHeight;
560
561        jerkyOffset = jerkyOffsetTop + jerkyOffsetHeight > (window.innerHeight - 18);
562        jerkySmallHeight = jerkyOffsetHeight > (window.innerHeight -(18 * 3 + 60));
563
564        jerkyApplyClasses();
565      }
566
567      function jerkyApplyClasses() {
568        jerkyIm.className =
569          (jerkyOpen ? 'jerky-im-show-chat' : '')
570          + ' '
571          + (jerkyOffset ? 'jerky-im-offset' : '')
572          + ' '
573          + (jerkySmallHeight ? 'jerky-im-small-height' : '')
574          + ' '
575          + (jerkyHidden ? 'jerky-im-hidden' : '');
576      }
577
578      jerkyBubble.addEventListener('mouseup', jerkyToggleChat);
579      jerkyCloseBtn.addEventListener('mouseup', function () { jerkyToggleChat(false) });
580
581      window.addEventListener('resize', jerkyCheckOffset)
582
583      jerkyCheckOffset();
584  }, 1000)
585
586`;
587        document.body.appendChild(widgetScript);
588    })
589})();
590    

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.