appscms-tools-theme 3.0.8 → 3.0.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (164) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.txt +21 -21
  3. data/README.md +50 -50
  4. data/_data/about/en/about.json +16 -16
  5. data/_data/blog/alertbar.yml +3 -3
  6. data/_data/blog/authors.yml +11 -11
  7. data/_data/blog/blog.yml +4 -4
  8. data/_data/blog/nav.json +13 -13
  9. data/_data/blog/share.yml +28 -28
  10. data/_data/calculators/en/biology-calc/bulb-spacing.json +78 -78
  11. data/_data/calculators/en/biology-calc/cat-chocolate-toxicity.json +52 -52
  12. data/_data/calculators/en/chemistry-calc/activation-energy.json +44 -44
  13. data/_data/calculators/en/finance-calc/401k.json +122 -122
  14. data/_data/contact/en/contact.json +38 -38
  15. data/_data/disclaimer/en/disclaimer.json +37 -37
  16. data/_data/download/en/download.json +35 -35
  17. data/_data/feature/en/3_shop_posters.json +351 -351
  18. data/_data/feature/en/allele-frequency.json +246 -246
  19. data/_data/feature/en/batch-conversion.json +77 -77
  20. data/_data/feature/en/compress-pdf.json +202 -202
  21. data/_data/feature/en/face-detection.json +52 -52
  22. data/_data/feature/en/split-pdf.json +115 -115
  23. data/_data/feature/en/theframe.json +56 -56
  24. data/_data/feature/hi/compress-pdf.json +81 -81
  25. data/_data/feature/tr/compress-pdf.json +80 -80
  26. data/_data/filecomparison/en/filecomparison.json +38 -38
  27. data/_data/fileinfo/en/fileinfo.json +15 -15
  28. data/_data/footer/en/data.json +166 -166
  29. data/_data/footer/hi/data.json +68 -68
  30. data/_data/footer/networksites.json +15 -15
  31. data/_data/header/en/data.json +173 -173
  32. data/_data/header/hi/data.json +144 -144
  33. data/_data/home/en/en.json +285 -285
  34. data/_data/home/en/photoeffects.json +22 -22
  35. data/_data/home/en/posters.json +323 -323
  36. data/_data/home/hi/hi.json +86 -86
  37. data/_data/home-1/en/en.json +229 -229
  38. data/_data/languagesupport/compress-pdf-langs.json +11 -11
  39. data/_data/languagesupport/index-langs.json +13 -13
  40. data/_data/photo-categories.json +104 -104
  41. data/_data/photoeffects.json +31 -31
  42. data/_data/privacy/en/privacyPolicy.json +265 -265
  43. data/_data/termAndCondition/en/termAndCondition.json +358 -358
  44. data/_includes/Rating/rating.html +92 -92
  45. data/_includes/Rating/structureddata.html +53 -53
  46. data/_includes/Usp/usp.html +95 -95
  47. data/_includes/adblocker.html +240 -240
  48. data/_includes/adsense/adsense.html +7 -7
  49. data/_includes/alternates/alternates.html +45 -45
  50. data/_includes/author_bio.html +36 -36
  51. data/_includes/authors/authors.html +67 -67
  52. data/_includes/batch-conversion.html +65 -65
  53. data/_includes/bookmark.html +5 -5
  54. data/_includes/cssfile/links.html +11 -11
  55. data/_includes/custom-head.html +136 -136
  56. data/_includes/customblog/recentposts.html +67 -67
  57. data/_includes/customblog/relatedposts.html +203 -203
  58. data/_includes/disqus_comments.html +10 -10
  59. data/_includes/dropdown/langdropdown.html +22 -22
  60. data/_includes/feature.html +56 -56
  61. data/_includes/fileformat/Tabularcompariosn.html +158 -158
  62. data/_includes/fileformat/comparisonfiles.html +151 -151
  63. data/_includes/fileformat/fileformatdetail.html +101 -101
  64. data/_includes/fileformat/fileinfoformat.html +93 -93
  65. data/_includes/footer/index.html +538 -538
  66. data/_includes/google-analytics.html +22 -22
  67. data/_includes/head/index.html +235 -235
  68. data/_includes/header/blogHeader.html +34 -34
  69. data/_includes/header/index.html +188 -188
  70. data/_includes/languages/languages.html +60 -60
  71. data/_includes/monumetric/ads.html +57 -57
  72. data/_includes/monumetric/monumetric.html +57 -57
  73. data/_includes/monumetric/profitablecpmgate.html +51 -51
  74. data/_includes/nofiletransfer/nofiletransfer.html +38 -38
  75. data/_includes/paginationBlogPage.html +71 -71
  76. data/_includes/paginationPostPage.html +14 -14
  77. data/_includes/postauthorbio.html +17 -17
  78. data/_includes/postbox.html +31 -31
  79. data/_includes/script.html +508 -508
  80. data/_includes/section/alertbar.html +11 -11
  81. data/_includes/section/count.html +36 -36
  82. data/_includes/section/recent_posts.html +65 -65
  83. data/_includes/section/related_categories_post.html +198 -198
  84. data/_includes/share/socialshare.html +20 -20
  85. data/_includes/staticfooter.html +69 -69
  86. data/_layouts/aboutUs.html +34 -34
  87. data/_layouts/audio.html +33 -33
  88. data/_layouts/batch.html +98 -98
  89. data/_layouts/blog-1.html +83 -83
  90. data/_layouts/blog.html +94 -94
  91. data/_layouts/calculator.html +89 -89
  92. data/_layouts/categories.html +33 -33
  93. data/_layouts/contactUs.html +124 -124
  94. data/_layouts/default.html +1 -1
  95. data/_layouts/disclaimer.html +123 -123
  96. data/_layouts/download.html +301 -301
  97. data/_layouts/feature-1.html +322 -322
  98. data/_layouts/feature-download.html +311 -311
  99. data/_layouts/feature.html +256 -256
  100. data/_layouts/featureResultPage.html +65 -65
  101. data/_layouts/fileInfo.html +39 -39
  102. data/_layouts/filecomparison.html +85 -85
  103. data/_layouts/frame.html +222 -222
  104. data/_layouts/help.html +23 -23
  105. data/_layouts/home-1.html +229 -229
  106. data/_layouts/home.html +265 -265
  107. data/_layouts/homeResultPage.html +31 -31
  108. data/_layouts/imagekit.html +150 -126
  109. data/_layouts/page.html +5 -5
  110. data/_layouts/photo-effects-home.html +5 -5
  111. data/_layouts/post.html +177 -177
  112. data/_layouts/privacyPolicy.html +637 -637
  113. data/_layouts/termAndCondition.html +646 -646
  114. data/_layouts/video.html +33 -33
  115. data/assets/cross.svg +4 -4
  116. data/assets/css/adblocker.css +187 -187
  117. data/assets/css/batch.css +437 -437
  118. data/assets/css/blog-1.css +65 -65
  119. data/assets/css/blog.css +491 -491
  120. data/assets/css/bootstrap.min.css +6 -6
  121. data/assets/css/calculators.css +47 -47
  122. data/assets/css/common.css +550 -550
  123. data/assets/css/feature-1.css +290 -290
  124. data/assets/css/filecomparison.css +25 -25
  125. data/assets/css/frame.css +780 -780
  126. data/assets/css/home-1.css +187 -187
  127. data/assets/css/imagekit.css +840 -840
  128. data/assets/css/tools.css +1545 -1545
  129. data/assets/facebook.svg +4 -4
  130. data/assets/images/abp.svg +41 -41
  131. data/assets/images/adblock.svg +266 -266
  132. data/assets/images/addimg.svg +2 -2
  133. data/assets/images/convert.svg +8 -8
  134. data/assets/images/safevideoconverter.svg +23 -23
  135. data/assets/images/uo.svg +41 -41
  136. data/assets/images/vectorpaint.svg +5 -5
  137. data/assets/instagram.svg +4 -4
  138. data/assets/js/TopScroll.js +8 -8
  139. data/assets/js/adBlocker.js +68 -68
  140. data/assets/js/ads.js +8 -8
  141. data/assets/js/append-div.js +10 -10
  142. data/assets/js/batch.js +229 -229
  143. data/assets/js/calculator-tooltip.js +3 -3
  144. data/assets/js/face-api.js +38064 -38064
  145. data/assets/js/face-detection.js +303 -303
  146. data/assets/js/featureResult.js +48 -48
  147. data/assets/js/frame.js +263 -263
  148. data/assets/js/googledrive.js +155 -155
  149. data/assets/js/homeResult.js +36 -36
  150. data/assets/js/manifest.json +16 -16
  151. data/assets/js/multiselect.js +157 -157
  152. data/assets/js/perspective.min.js +182 -182
  153. data/assets/js/photo-effects.json +84 -84
  154. data/assets/js/redirectResult.js +9 -9
  155. data/assets/js/testing-batch.js +39 -39
  156. data/assets/js/theme.js +44 -44
  157. data/assets/linkdin.svg +4 -4
  158. data/assets/noserverupload.svg +4 -4
  159. data/assets/pdf.svg +20 -20
  160. data/assets/secure.svg +43 -43
  161. data/assets/star.svg +4 -4
  162. data/assets/twitter.svg +4 -4
  163. data/assets/youtube.svg +4 -4
  164. metadata +7 -7
@@ -1,508 +1,508 @@
1
- {%- if site.rollbarToken -%}
2
- <script>
3
- var _rollbarConfig = {
4
- accessToken: "{{site.rollbarToken}}",
5
- captureUncaught: true,
6
- captureUnhandledRejections: true,
7
- payload: {
8
- environment: "production",
9
- },
10
- };
11
- !(function (r) {
12
- var e = {};
13
- function o(n) {
14
- if (e[n]) return e[n].exports;
15
- var t = (e[n] = { i: n, l: !1, exports: {} });
16
- return r[n].call(t.exports, t, t.exports, o), (t.l = !0), t.exports;
17
- }
18
- (o.m = r),
19
- (o.c = e),
20
- (o.d = function (r, e, n) {
21
- o.o(r, e) || Object.defineProperty(r, e, { enumerable: !0, get: n });
22
- }),
23
- (o.r = function (r) {
24
- "undefined" != typeof Symbol &&
25
- Symbol.toStringTag &&
26
- Object.defineProperty(r, Symbol.toStringTag, { value: "Module" }),
27
- Object.defineProperty(r, "__esModule", { value: !0 });
28
- }),
29
- (o.t = function (r, e) {
30
- if ((1 & e && (r = o(r)), 8 & e)) return r;
31
- if (4 & e && "object" == typeof r && r && r.__esModule) return r;
32
- var n = Object.create(null);
33
- if (
34
- (o.r(n),
35
- Object.defineProperty(n, "default", { enumerable: !0, value: r }),
36
- 2 & e && "string" != typeof r)
37
- )
38
- for (var t in r)
39
- o.d(
40
- n,
41
- t,
42
- function (e) {
43
- return r[e];
44
- }.bind(null, t)
45
- );
46
- return n;
47
- }),
48
- (o.n = function (r) {
49
- var e =
50
- r && r.__esModule
51
- ? function () {
52
- return r.default;
53
- }
54
- : function () {
55
- return r;
56
- };
57
- return o.d(e, "a", e), e;
58
- }),
59
- (o.o = function (r, e) {
60
- return Object.prototype.hasOwnProperty.call(r, e);
61
- }),
62
- (o.p = ""),
63
- o((o.s = 0));
64
- })([
65
- function (r, e, o) {
66
- "use strict";
67
- var n = o(1),
68
- t = o(5);
69
- (_rollbarConfig = _rollbarConfig || {}),
70
- (_rollbarConfig.rollbarJsUrl =
71
- _rollbarConfig.rollbarJsUrl ||
72
- "https://cdn.rollbar.com/rollbarjs/refs/tags/v2.25.2/rollbar.min.js"),
73
- (_rollbarConfig.async =
74
- void 0 === _rollbarConfig.async || _rollbarConfig.async);
75
- var a = n.setupShim(window, _rollbarConfig),
76
- l = t(_rollbarConfig);
77
- (window.rollbar = n.Rollbar),
78
- a.loadFull(window, document, !_rollbarConfig.async, _rollbarConfig, l);
79
- },
80
- function (r, e, o) {
81
- "use strict";
82
- var n = o(2),
83
- t = o(3);
84
- function a(r) {
85
- return function () {
86
- try {
87
- return r.apply(this, arguments);
88
- } catch (r) {
89
- try {
90
- console.error("[Rollbar]: Internal error", r);
91
- } catch (r) {}
92
- }
93
- };
94
- }
95
- var l = 0;
96
- function i(r, e) {
97
- (this.options = r), (this._rollbarOldOnError = null);
98
- var o = l++;
99
- (this.shimId = function () {
100
- return o;
101
- }),
102
- "undefined" != typeof window &&
103
- window._rollbarShims &&
104
- (window._rollbarShims[o] = { handler: e, messages: [] });
105
- }
106
- var s = o(4),
107
- d = function (r, e) {
108
- return new i(r, e);
109
- },
110
- c = function (r) {
111
- return new s(d, r);
112
- };
113
- function u(r) {
114
- return a(function () {
115
- var e = this,
116
- o = Array.prototype.slice.call(arguments, 0),
117
- n = { shim: e, method: r, args: o, ts: new Date() };
118
- window._rollbarShims[this.shimId()].messages.push(n);
119
- });
120
- }
121
- (i.prototype.loadFull = function (r, e, o, n, t) {
122
- var l = !1,
123
- i = e.createElement("script"),
124
- s = e.getElementsByTagName("script")[0],
125
- d = s.parentNode;
126
- (i.crossOrigin = ""),
127
- (i.src = n.rollbarJsUrl),
128
- o || (i.async = !0),
129
- (i.onload = i.onreadystatechange =
130
- a(function () {
131
- if (
132
- !(
133
- l ||
134
- (this.readyState &&
135
- "loaded" !== this.readyState &&
136
- "complete" !== this.readyState)
137
- )
138
- ) {
139
- i.onload = i.onreadystatechange = null;
140
- try {
141
- d.removeChild(i);
142
- } catch (r) {}
143
- (l = !0),
144
- (function () {
145
- var e;
146
- if (void 0 === r._rollbarDidLoad) {
147
- e = new Error("rollbar.js did not load");
148
- for (var o, n, a, l, i = 0; (o = r._rollbarShims[i++]); )
149
- for (o = o.messages || []; (n = o.shift()); )
150
- for (a = n.args || [], i = 0; i < a.length; ++i)
151
- if ("function" == typeof (l = a[i])) {
152
- l(e);
153
- break;
154
- }
155
- }
156
- "function" == typeof t && t(e);
157
- })();
158
- }
159
- })),
160
- d.insertBefore(i, s);
161
- }),
162
- (i.prototype.wrap = function (r, e, o) {
163
- try {
164
- var n;
165
- if (
166
- ((n =
167
- "function" == typeof e
168
- ? e
169
- : function () {
170
- return e || {};
171
- }),
172
- "function" != typeof r)
173
- )
174
- return r;
175
- if (r._isWrap) return r;
176
- if (
177
- !r._rollbar_wrapped &&
178
- ((r._rollbar_wrapped = function () {
179
- o && "function" == typeof o && o.apply(this, arguments);
180
- try {
181
- return r.apply(this, arguments);
182
- } catch (o) {
183
- var e = o;
184
- throw (
185
- (e &&
186
- ("string" == typeof e && (e = new String(e)),
187
- (e._rollbarContext = n() || {}),
188
- (e._rollbarContext._wrappedSource = r.toString()),
189
- (window._rollbarWrappedError = e)),
190
- e)
191
- );
192
- }
193
- }),
194
- (r._rollbar_wrapped._isWrap = !0),
195
- r.hasOwnProperty)
196
- )
197
- for (var t in r)
198
- r.hasOwnProperty(t) && (r._rollbar_wrapped[t] = r[t]);
199
- return r._rollbar_wrapped;
200
- } catch (e) {
201
- return r;
202
- }
203
- });
204
- for (
205
- var p =
206
- "log,debug,info,warn,warning,error,critical,global,configure,handleUncaughtException,handleAnonymousErrors,handleUnhandledRejection,captureEvent,captureDomContentLoaded,captureLoad".split(
207
- ","
208
- ),
209
- f = 0;
210
- f < p.length;
211
- ++f
212
- )
213
- i.prototype[p[f]] = u(p[f]);
214
- r.exports = {
215
- setupShim: function (r, e) {
216
- if (r) {
217
- var o = e.globalAlias || "Rollbar";
218
- if ("object" == typeof r[o]) return r[o];
219
- (r._rollbarShims = {}), (r._rollbarWrappedError = null);
220
- var l = new c(e);
221
- return a(function () {
222
- e.captureUncaught &&
223
- ((l._rollbarOldOnError = r.onerror),
224
- n.captureUncaughtExceptions(r, l, !0),
225
- e.wrapGlobalEventHandlers && t(r, l, !0)),
226
- e.captureUnhandledRejections &&
227
- n.captureUnhandledRejections(r, l, !0);
228
- var a = e.autoInstrument;
229
- return (
230
- !1 !== e.enabled &&
231
- (void 0 === a ||
232
- !0 === a ||
233
- (function (r) {
234
- return !(
235
- "object" != typeof r ||
236
- (void 0 !== r.page && !r.page)
237
- );
238
- })(a)) &&
239
- r.addEventListener &&
240
- (r.addEventListener("load", l.captureLoad.bind(l)),
241
- r.addEventListener(
242
- "DOMContentLoaded",
243
- l.captureDomContentLoaded.bind(l)
244
- )),
245
- (r[o] = l),
246
- l
247
- );
248
- })();
249
- }
250
- },
251
- Rollbar: c,
252
- };
253
- },
254
- function (r, e, o) {
255
- "use strict";
256
- function n(r, e, o, n) {
257
- r._rollbarWrappedError &&
258
- (n[4] || (n[4] = r._rollbarWrappedError),
259
- n[5] || (n[5] = r._rollbarWrappedError._rollbarContext),
260
- (r._rollbarWrappedError = null));
261
- var t = e.handleUncaughtException.apply(e, n);
262
- o && o.apply(r, n),
263
- "anonymous" === t && (e.anonymousErrorsPending += 1);
264
- }
265
- r.exports = {
266
- captureUncaughtExceptions: function (r, e, o) {
267
- if (r) {
268
- var t;
269
- if ("function" == typeof e._rollbarOldOnError)
270
- t = e._rollbarOldOnError;
271
- else if (r.onerror) {
272
- for (t = r.onerror; t._rollbarOldOnError; )
273
- t = t._rollbarOldOnError;
274
- e._rollbarOldOnError = t;
275
- }
276
- e.handleAnonymousErrors();
277
- var a = function () {
278
- var o = Array.prototype.slice.call(arguments, 0);
279
- n(r, e, t, o);
280
- };
281
- o && (a._rollbarOldOnError = t), (r.onerror = a);
282
- }
283
- },
284
- captureUnhandledRejections: function (r, e, o) {
285
- if (r) {
286
- "function" == typeof r._rollbarURH &&
287
- r._rollbarURH.belongsToShim &&
288
- r.removeEventListener("unhandledrejection", r._rollbarURH);
289
- var n = function (r) {
290
- var o, n, t;
291
- try {
292
- o = r.reason;
293
- } catch (r) {
294
- o = void 0;
295
- }
296
- try {
297
- n = r.promise;
298
- } catch (r) {
299
- n = "[unhandledrejection] error getting `promise` from event";
300
- }
301
- try {
302
- (t = r.detail), !o && t && ((o = t.reason), (n = t.promise));
303
- } catch (r) {}
304
- o ||
305
- (o = "[unhandledrejection] error getting `reason` from event"),
306
- e &&
307
- e.handleUnhandledRejection &&
308
- e.handleUnhandledRejection(o, n);
309
- };
310
- (n.belongsToShim = o),
311
- (r._rollbarURH = n),
312
- r.addEventListener("unhandledrejection", n);
313
- }
314
- },
315
- };
316
- },
317
- function (r, e, o) {
318
- "use strict";
319
- function n(r, e, o) {
320
- if (e.hasOwnProperty && e.hasOwnProperty("addEventListener")) {
321
- for (
322
- var n = e.addEventListener;
323
- n._rollbarOldAdd && n.belongsToShim;
324
-
325
- )
326
- n = n._rollbarOldAdd;
327
- var t = function (e, o, t) {
328
- n.call(this, e, r.wrap(o), t);
329
- };
330
- (t._rollbarOldAdd = n),
331
- (t.belongsToShim = o),
332
- (e.addEventListener = t);
333
- for (
334
- var a = e.removeEventListener;
335
- a._rollbarOldRemove && a.belongsToShim;
336
-
337
- )
338
- a = a._rollbarOldRemove;
339
- var l = function (r, e, o) {
340
- a.call(this, r, (e && e._rollbar_wrapped) || e, o);
341
- };
342
- (l._rollbarOldRemove = a),
343
- (l.belongsToShim = o),
344
- (e.removeEventListener = l);
345
- }
346
- }
347
- r.exports = function (r, e, o) {
348
- if (r) {
349
- var t,
350
- a,
351
- l =
352
- "EventTarget,Window,Node,ApplicationCache,AudioTrackList,ChannelMergerNode,CryptoOperation,EventSource,FileReader,HTMLUnknownElement,IDBDatabase,IDBRequest,IDBTransaction,KeyOperation,MediaController,MessagePort,ModalWindow,Notification,SVGElementInstance,Screen,TextTrack,TextTrackCue,TextTrackList,WebSocket,WebSocketWorker,Worker,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload".split(
353
- ","
354
- );
355
- for (t = 0; t < l.length; ++t)
356
- r[(a = l[t])] && r[a].prototype && n(e, r[a].prototype, o);
357
- }
358
- };
359
- },
360
- function (r, e, o) {
361
- "use strict";
362
- function n(r, e) {
363
- (this.impl = r(e, this)),
364
- (this.options = e),
365
- (function (r) {
366
- for (
367
- var e = function (r) {
368
- return function () {
369
- var e = Array.prototype.slice.call(arguments, 0);
370
- if (this.impl[r]) return this.impl[r].apply(this.impl, e);
371
- };
372
- },
373
- o =
374
- "log,debug,info,warn,warning,error,critical,global,configure,handleUncaughtException,handleAnonymousErrors,handleUnhandledRejection,_createItem,wrap,loadFull,shimId,captureEvent,captureDomContentLoaded,captureLoad".split(
375
- ","
376
- ),
377
- n = 0;
378
- n < o.length;
379
- n++
380
- )
381
- r[o[n]] = e(o[n]);
382
- })(n.prototype);
383
- }
384
- (n.prototype._swapAndProcessMessages = function (r, e) {
385
- var o, n, t;
386
- for (this.impl = r(this.options); (o = e.shift()); )
387
- (n = o.method),
388
- (t = o.args),
389
- this[n] &&
390
- "function" == typeof this[n] &&
391
- ("captureDomContentLoaded" === n || "captureLoad" === n
392
- ? this[n].apply(this, [t[0], o.ts])
393
- : this[n].apply(this, t));
394
- return this;
395
- }),
396
- (r.exports = n);
397
- },
398
- function (r, e, o) {
399
- "use strict";
400
- r.exports = function (r) {
401
- return function (e) {
402
- if (!e && !window._rollbarInitialized) {
403
- for (
404
- var o,
405
- n,
406
- t = (r = r || {}).globalAlias || "Rollbar",
407
- a = window.rollbar,
408
- l = function (r) {
409
- return new a(r);
410
- },
411
- i = 0;
412
- (o = window._rollbarShims[i++]);
413
-
414
- )
415
- n || (n = o.handler),
416
- o.handler._swapAndProcessMessages(l, o.messages);
417
- (window[t] = n), (window._rollbarInitialized = !0);
418
- }
419
- };
420
- };
421
- },
422
- ]);
423
- </script>
424
- {%- endif -%} {%- include adblocker.html -%} {% assign scriptData =
425
- site.data.[page.folderName][lang][file] %} {%- assign dataAtt =
426
- "data-folderName='$folderName' data-lang='$lang' data-fileName='$fileName'
427
- data-tool='$tool'" -%} {%- assign $folderName = '$folderName' -%}
428
- <script
429
- defer
430
- src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"
431
- {%-
432
- if
433
- site.crossorigin
434
- -%}
435
- {{
436
- }}
437
- crossorigin
438
- {%-
439
- endif
440
- -%}
441
- ></script>
442
- {%- if site.safeui -%}
443
- <script defer src="/assets/js/theme.js" crossorigin="anonymous"></script>
444
- {%- endif -%}
445
-
446
- <script
447
- defer="defer"
448
- src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/js/bootstrap.bundle.min.js"
449
- integrity="sha384-Piv4xVNRyMGpqkS2by6br4gNJ7DXjqk09RmUpJ8jgGtD7zP9yug3goQfGII0yAns"
450
- crossorigin="anonymous"
451
- ></script>
452
- {{site.data.customcdns.customcdns.jsfiles}} {%- if scriptData.jsfilepaths -%}
453
- {%- for path in scriptData.jsfilepaths -%}
454
- <script
455
- defer
456
- src="{{path}}"
457
- data-folderName="{{page.folderName}}"
458
- data-lang="{{page.lang}}"
459
- data-fileName="{{page.fileName}}"
460
- data-tool="{{page.tool}}"
461
- data-permalink="{{page.permalink}}"
462
- {%-
463
- if
464
- site.crossorigin
465
- -%}
466
- {{
467
- }}
468
- crossorigin
469
- {%-
470
- endif
471
- -%}
472
- ></script>
473
- {%- endfor -%} {%- endif -%} {%- if scriptData.jscdns -%} {%- for item in
474
- scriptData.jscdns -%} {{item | replace:"$folderName", page.folderName | replace:
475
- "$fileName", page.fileName | replace: "$lang", page.lang | replace: "$tool",
476
- page.tool }} {%- endfor -%} {%- endif -%} {%- if page.layout == "frame" -%} {%-
477
- assign font = "PT Sans" -%} {%- endif -%} {%- if page.layout ==
478
- "photo-effects-home" -%} {%- assign font = "PT Sans" -%} {%- endif -%} {%- if
479
- page.layout == "calculator" -%}
480
- <script defer src="/assets/js/calculator-tooltip.js"></script>
481
- {%- endif -%} {%- if page.layout == 'home-1' or page.layout == "feature-1" -%}
482
- {%- assign font = "Inter" -%} {%- endif -%}
483
- <link
484
- rel="stylesheet"
485
- href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css"
486
- integrity="sha512-iBBXm8fW90+nuLcSKlbmrPcLa0OT92xO1BIsZ+ywDWZCvqsWgccV3gFoRBv0z+8dLJgyAHIhR35VZc2oM/gI1w=="
487
- crossorigin="anonymous"
488
- referrerpolicy="no-referrer"
489
- />
490
- {%- if page.layout == "feature" -%}
491
- <script>
492
- const toaster = document.querySelector(".toaster");
493
- if (
494
- !/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(
495
- navigator.userAgent
496
- )
497
- ) {
498
- if (navigator.userAgent.indexOf("Mac OS X") != -1) {
499
- toaster.innerHTML = `Press Command + D to Bookmark this page`;
500
- } else {
501
- toaster.innerHTML = `Press Ctrl + D to Bookmark this page`;
502
- }
503
- }
504
- setTimeout(() => {
505
- toaster.style.display = "none";
506
- }, 20000);
507
- </script>
508
- {%- endif -%}
1
+ {%- if site.rollbarToken -%}
2
+ <script>
3
+ var _rollbarConfig = {
4
+ accessToken: "{{site.rollbarToken}}",
5
+ captureUncaught: true,
6
+ captureUnhandledRejections: true,
7
+ payload: {
8
+ environment: "production",
9
+ },
10
+ };
11
+ !(function (r) {
12
+ var e = {};
13
+ function o(n) {
14
+ if (e[n]) return e[n].exports;
15
+ var t = (e[n] = { i: n, l: !1, exports: {} });
16
+ return r[n].call(t.exports, t, t.exports, o), (t.l = !0), t.exports;
17
+ }
18
+ (o.m = r),
19
+ (o.c = e),
20
+ (o.d = function (r, e, n) {
21
+ o.o(r, e) || Object.defineProperty(r, e, { enumerable: !0, get: n });
22
+ }),
23
+ (o.r = function (r) {
24
+ "undefined" != typeof Symbol &&
25
+ Symbol.toStringTag &&
26
+ Object.defineProperty(r, Symbol.toStringTag, { value: "Module" }),
27
+ Object.defineProperty(r, "__esModule", { value: !0 });
28
+ }),
29
+ (o.t = function (r, e) {
30
+ if ((1 & e && (r = o(r)), 8 & e)) return r;
31
+ if (4 & e && "object" == typeof r && r && r.__esModule) return r;
32
+ var n = Object.create(null);
33
+ if (
34
+ (o.r(n),
35
+ Object.defineProperty(n, "default", { enumerable: !0, value: r }),
36
+ 2 & e && "string" != typeof r)
37
+ )
38
+ for (var t in r)
39
+ o.d(
40
+ n,
41
+ t,
42
+ function (e) {
43
+ return r[e];
44
+ }.bind(null, t)
45
+ );
46
+ return n;
47
+ }),
48
+ (o.n = function (r) {
49
+ var e =
50
+ r && r.__esModule
51
+ ? function () {
52
+ return r.default;
53
+ }
54
+ : function () {
55
+ return r;
56
+ };
57
+ return o.d(e, "a", e), e;
58
+ }),
59
+ (o.o = function (r, e) {
60
+ return Object.prototype.hasOwnProperty.call(r, e);
61
+ }),
62
+ (o.p = ""),
63
+ o((o.s = 0));
64
+ })([
65
+ function (r, e, o) {
66
+ "use strict";
67
+ var n = o(1),
68
+ t = o(5);
69
+ (_rollbarConfig = _rollbarConfig || {}),
70
+ (_rollbarConfig.rollbarJsUrl =
71
+ _rollbarConfig.rollbarJsUrl ||
72
+ "https://cdn.rollbar.com/rollbarjs/refs/tags/v2.25.2/rollbar.min.js"),
73
+ (_rollbarConfig.async =
74
+ void 0 === _rollbarConfig.async || _rollbarConfig.async);
75
+ var a = n.setupShim(window, _rollbarConfig),
76
+ l = t(_rollbarConfig);
77
+ (window.rollbar = n.Rollbar),
78
+ a.loadFull(window, document, !_rollbarConfig.async, _rollbarConfig, l);
79
+ },
80
+ function (r, e, o) {
81
+ "use strict";
82
+ var n = o(2),
83
+ t = o(3);
84
+ function a(r) {
85
+ return function () {
86
+ try {
87
+ return r.apply(this, arguments);
88
+ } catch (r) {
89
+ try {
90
+ console.error("[Rollbar]: Internal error", r);
91
+ } catch (r) {}
92
+ }
93
+ };
94
+ }
95
+ var l = 0;
96
+ function i(r, e) {
97
+ (this.options = r), (this._rollbarOldOnError = null);
98
+ var o = l++;
99
+ (this.shimId = function () {
100
+ return o;
101
+ }),
102
+ "undefined" != typeof window &&
103
+ window._rollbarShims &&
104
+ (window._rollbarShims[o] = { handler: e, messages: [] });
105
+ }
106
+ var s = o(4),
107
+ d = function (r, e) {
108
+ return new i(r, e);
109
+ },
110
+ c = function (r) {
111
+ return new s(d, r);
112
+ };
113
+ function u(r) {
114
+ return a(function () {
115
+ var e = this,
116
+ o = Array.prototype.slice.call(arguments, 0),
117
+ n = { shim: e, method: r, args: o, ts: new Date() };
118
+ window._rollbarShims[this.shimId()].messages.push(n);
119
+ });
120
+ }
121
+ (i.prototype.loadFull = function (r, e, o, n, t) {
122
+ var l = !1,
123
+ i = e.createElement("script"),
124
+ s = e.getElementsByTagName("script")[0],
125
+ d = s.parentNode;
126
+ (i.crossOrigin = ""),
127
+ (i.src = n.rollbarJsUrl),
128
+ o || (i.async = !0),
129
+ (i.onload = i.onreadystatechange =
130
+ a(function () {
131
+ if (
132
+ !(
133
+ l ||
134
+ (this.readyState &&
135
+ "loaded" !== this.readyState &&
136
+ "complete" !== this.readyState)
137
+ )
138
+ ) {
139
+ i.onload = i.onreadystatechange = null;
140
+ try {
141
+ d.removeChild(i);
142
+ } catch (r) {}
143
+ (l = !0),
144
+ (function () {
145
+ var e;
146
+ if (void 0 === r._rollbarDidLoad) {
147
+ e = new Error("rollbar.js did not load");
148
+ for (var o, n, a, l, i = 0; (o = r._rollbarShims[i++]); )
149
+ for (o = o.messages || []; (n = o.shift()); )
150
+ for (a = n.args || [], i = 0; i < a.length; ++i)
151
+ if ("function" == typeof (l = a[i])) {
152
+ l(e);
153
+ break;
154
+ }
155
+ }
156
+ "function" == typeof t && t(e);
157
+ })();
158
+ }
159
+ })),
160
+ d.insertBefore(i, s);
161
+ }),
162
+ (i.prototype.wrap = function (r, e, o) {
163
+ try {
164
+ var n;
165
+ if (
166
+ ((n =
167
+ "function" == typeof e
168
+ ? e
169
+ : function () {
170
+ return e || {};
171
+ }),
172
+ "function" != typeof r)
173
+ )
174
+ return r;
175
+ if (r._isWrap) return r;
176
+ if (
177
+ !r._rollbar_wrapped &&
178
+ ((r._rollbar_wrapped = function () {
179
+ o && "function" == typeof o && o.apply(this, arguments);
180
+ try {
181
+ return r.apply(this, arguments);
182
+ } catch (o) {
183
+ var e = o;
184
+ throw (
185
+ (e &&
186
+ ("string" == typeof e && (e = new String(e)),
187
+ (e._rollbarContext = n() || {}),
188
+ (e._rollbarContext._wrappedSource = r.toString()),
189
+ (window._rollbarWrappedError = e)),
190
+ e)
191
+ );
192
+ }
193
+ }),
194
+ (r._rollbar_wrapped._isWrap = !0),
195
+ r.hasOwnProperty)
196
+ )
197
+ for (var t in r)
198
+ r.hasOwnProperty(t) && (r._rollbar_wrapped[t] = r[t]);
199
+ return r._rollbar_wrapped;
200
+ } catch (e) {
201
+ return r;
202
+ }
203
+ });
204
+ for (
205
+ var p =
206
+ "log,debug,info,warn,warning,error,critical,global,configure,handleUncaughtException,handleAnonymousErrors,handleUnhandledRejection,captureEvent,captureDomContentLoaded,captureLoad".split(
207
+ ","
208
+ ),
209
+ f = 0;
210
+ f < p.length;
211
+ ++f
212
+ )
213
+ i.prototype[p[f]] = u(p[f]);
214
+ r.exports = {
215
+ setupShim: function (r, e) {
216
+ if (r) {
217
+ var o = e.globalAlias || "Rollbar";
218
+ if ("object" == typeof r[o]) return r[o];
219
+ (r._rollbarShims = {}), (r._rollbarWrappedError = null);
220
+ var l = new c(e);
221
+ return a(function () {
222
+ e.captureUncaught &&
223
+ ((l._rollbarOldOnError = r.onerror),
224
+ n.captureUncaughtExceptions(r, l, !0),
225
+ e.wrapGlobalEventHandlers && t(r, l, !0)),
226
+ e.captureUnhandledRejections &&
227
+ n.captureUnhandledRejections(r, l, !0);
228
+ var a = e.autoInstrument;
229
+ return (
230
+ !1 !== e.enabled &&
231
+ (void 0 === a ||
232
+ !0 === a ||
233
+ (function (r) {
234
+ return !(
235
+ "object" != typeof r ||
236
+ (void 0 !== r.page && !r.page)
237
+ );
238
+ })(a)) &&
239
+ r.addEventListener &&
240
+ (r.addEventListener("load", l.captureLoad.bind(l)),
241
+ r.addEventListener(
242
+ "DOMContentLoaded",
243
+ l.captureDomContentLoaded.bind(l)
244
+ )),
245
+ (r[o] = l),
246
+ l
247
+ );
248
+ })();
249
+ }
250
+ },
251
+ Rollbar: c,
252
+ };
253
+ },
254
+ function (r, e, o) {
255
+ "use strict";
256
+ function n(r, e, o, n) {
257
+ r._rollbarWrappedError &&
258
+ (n[4] || (n[4] = r._rollbarWrappedError),
259
+ n[5] || (n[5] = r._rollbarWrappedError._rollbarContext),
260
+ (r._rollbarWrappedError = null));
261
+ var t = e.handleUncaughtException.apply(e, n);
262
+ o && o.apply(r, n),
263
+ "anonymous" === t && (e.anonymousErrorsPending += 1);
264
+ }
265
+ r.exports = {
266
+ captureUncaughtExceptions: function (r, e, o) {
267
+ if (r) {
268
+ var t;
269
+ if ("function" == typeof e._rollbarOldOnError)
270
+ t = e._rollbarOldOnError;
271
+ else if (r.onerror) {
272
+ for (t = r.onerror; t._rollbarOldOnError; )
273
+ t = t._rollbarOldOnError;
274
+ e._rollbarOldOnError = t;
275
+ }
276
+ e.handleAnonymousErrors();
277
+ var a = function () {
278
+ var o = Array.prototype.slice.call(arguments, 0);
279
+ n(r, e, t, o);
280
+ };
281
+ o && (a._rollbarOldOnError = t), (r.onerror = a);
282
+ }
283
+ },
284
+ captureUnhandledRejections: function (r, e, o) {
285
+ if (r) {
286
+ "function" == typeof r._rollbarURH &&
287
+ r._rollbarURH.belongsToShim &&
288
+ r.removeEventListener("unhandledrejection", r._rollbarURH);
289
+ var n = function (r) {
290
+ var o, n, t;
291
+ try {
292
+ o = r.reason;
293
+ } catch (r) {
294
+ o = void 0;
295
+ }
296
+ try {
297
+ n = r.promise;
298
+ } catch (r) {
299
+ n = "[unhandledrejection] error getting `promise` from event";
300
+ }
301
+ try {
302
+ (t = r.detail), !o && t && ((o = t.reason), (n = t.promise));
303
+ } catch (r) {}
304
+ o ||
305
+ (o = "[unhandledrejection] error getting `reason` from event"),
306
+ e &&
307
+ e.handleUnhandledRejection &&
308
+ e.handleUnhandledRejection(o, n);
309
+ };
310
+ (n.belongsToShim = o),
311
+ (r._rollbarURH = n),
312
+ r.addEventListener("unhandledrejection", n);
313
+ }
314
+ },
315
+ };
316
+ },
317
+ function (r, e, o) {
318
+ "use strict";
319
+ function n(r, e, o) {
320
+ if (e.hasOwnProperty && e.hasOwnProperty("addEventListener")) {
321
+ for (
322
+ var n = e.addEventListener;
323
+ n._rollbarOldAdd && n.belongsToShim;
324
+
325
+ )
326
+ n = n._rollbarOldAdd;
327
+ var t = function (e, o, t) {
328
+ n.call(this, e, r.wrap(o), t);
329
+ };
330
+ (t._rollbarOldAdd = n),
331
+ (t.belongsToShim = o),
332
+ (e.addEventListener = t);
333
+ for (
334
+ var a = e.removeEventListener;
335
+ a._rollbarOldRemove && a.belongsToShim;
336
+
337
+ )
338
+ a = a._rollbarOldRemove;
339
+ var l = function (r, e, o) {
340
+ a.call(this, r, (e && e._rollbar_wrapped) || e, o);
341
+ };
342
+ (l._rollbarOldRemove = a),
343
+ (l.belongsToShim = o),
344
+ (e.removeEventListener = l);
345
+ }
346
+ }
347
+ r.exports = function (r, e, o) {
348
+ if (r) {
349
+ var t,
350
+ a,
351
+ l =
352
+ "EventTarget,Window,Node,ApplicationCache,AudioTrackList,ChannelMergerNode,CryptoOperation,EventSource,FileReader,HTMLUnknownElement,IDBDatabase,IDBRequest,IDBTransaction,KeyOperation,MediaController,MessagePort,ModalWindow,Notification,SVGElementInstance,Screen,TextTrack,TextTrackCue,TextTrackList,WebSocket,WebSocketWorker,Worker,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload".split(
353
+ ","
354
+ );
355
+ for (t = 0; t < l.length; ++t)
356
+ r[(a = l[t])] && r[a].prototype && n(e, r[a].prototype, o);
357
+ }
358
+ };
359
+ },
360
+ function (r, e, o) {
361
+ "use strict";
362
+ function n(r, e) {
363
+ (this.impl = r(e, this)),
364
+ (this.options = e),
365
+ (function (r) {
366
+ for (
367
+ var e = function (r) {
368
+ return function () {
369
+ var e = Array.prototype.slice.call(arguments, 0);
370
+ if (this.impl[r]) return this.impl[r].apply(this.impl, e);
371
+ };
372
+ },
373
+ o =
374
+ "log,debug,info,warn,warning,error,critical,global,configure,handleUncaughtException,handleAnonymousErrors,handleUnhandledRejection,_createItem,wrap,loadFull,shimId,captureEvent,captureDomContentLoaded,captureLoad".split(
375
+ ","
376
+ ),
377
+ n = 0;
378
+ n < o.length;
379
+ n++
380
+ )
381
+ r[o[n]] = e(o[n]);
382
+ })(n.prototype);
383
+ }
384
+ (n.prototype._swapAndProcessMessages = function (r, e) {
385
+ var o, n, t;
386
+ for (this.impl = r(this.options); (o = e.shift()); )
387
+ (n = o.method),
388
+ (t = o.args),
389
+ this[n] &&
390
+ "function" == typeof this[n] &&
391
+ ("captureDomContentLoaded" === n || "captureLoad" === n
392
+ ? this[n].apply(this, [t[0], o.ts])
393
+ : this[n].apply(this, t));
394
+ return this;
395
+ }),
396
+ (r.exports = n);
397
+ },
398
+ function (r, e, o) {
399
+ "use strict";
400
+ r.exports = function (r) {
401
+ return function (e) {
402
+ if (!e && !window._rollbarInitialized) {
403
+ for (
404
+ var o,
405
+ n,
406
+ t = (r = r || {}).globalAlias || "Rollbar",
407
+ a = window.rollbar,
408
+ l = function (r) {
409
+ return new a(r);
410
+ },
411
+ i = 0;
412
+ (o = window._rollbarShims[i++]);
413
+
414
+ )
415
+ n || (n = o.handler),
416
+ o.handler._swapAndProcessMessages(l, o.messages);
417
+ (window[t] = n), (window._rollbarInitialized = !0);
418
+ }
419
+ };
420
+ };
421
+ },
422
+ ]);
423
+ </script>
424
+ {%- endif -%} {%- include adblocker.html -%} {% assign scriptData =
425
+ site.data.[page.folderName][lang][file] %} {%- assign dataAtt =
426
+ "data-folderName='$folderName' data-lang='$lang' data-fileName='$fileName'
427
+ data-tool='$tool'" -%} {%- assign $folderName = '$folderName' -%}
428
+ <script
429
+ defer
430
+ src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"
431
+ {%-
432
+ if
433
+ site.crossorigin
434
+ -%}
435
+ {{
436
+ }}
437
+ crossorigin
438
+ {%-
439
+ endif
440
+ -%}
441
+ ></script>
442
+ {%- if site.safeui -%}
443
+ <script defer src="/assets/js/theme.js" crossorigin="anonymous"></script>
444
+ {%- endif -%}
445
+
446
+ <script
447
+ defer="defer"
448
+ src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/js/bootstrap.bundle.min.js"
449
+ integrity="sha384-Piv4xVNRyMGpqkS2by6br4gNJ7DXjqk09RmUpJ8jgGtD7zP9yug3goQfGII0yAns"
450
+ crossorigin="anonymous"
451
+ ></script>
452
+ {{site.data.customcdns.customcdns.jsfiles}} {%- if scriptData.jsfilepaths -%}
453
+ {%- for path in scriptData.jsfilepaths -%}
454
+ <script
455
+ defer
456
+ src="{{path}}"
457
+ data-folderName="{{page.folderName}}"
458
+ data-lang="{{page.lang}}"
459
+ data-fileName="{{page.fileName}}"
460
+ data-tool="{{page.tool}}"
461
+ data-permalink="{{page.permalink}}"
462
+ {%-
463
+ if
464
+ site.crossorigin
465
+ -%}
466
+ {{
467
+ }}
468
+ crossorigin
469
+ {%-
470
+ endif
471
+ -%}
472
+ ></script>
473
+ {%- endfor -%} {%- endif -%} {%- if scriptData.jscdns -%} {%- for item in
474
+ scriptData.jscdns -%} {{item | replace:"$folderName", page.folderName | replace:
475
+ "$fileName", page.fileName | replace: "$lang", page.lang | replace: "$tool",
476
+ page.tool }} {%- endfor -%} {%- endif -%} {%- if page.layout == "frame" -%} {%-
477
+ assign font = "PT Sans" -%} {%- endif -%} {%- if page.layout ==
478
+ "photo-effects-home" -%} {%- assign font = "PT Sans" -%} {%- endif -%} {%- if
479
+ page.layout == "calculator" -%}
480
+ <script defer src="/assets/js/calculator-tooltip.js"></script>
481
+ {%- endif -%} {%- if page.layout == 'home-1' or page.layout == "feature-1" -%}
482
+ {%- assign font = "Inter" -%} {%- endif -%}
483
+ <link
484
+ rel="stylesheet"
485
+ href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css"
486
+ integrity="sha512-iBBXm8fW90+nuLcSKlbmrPcLa0OT92xO1BIsZ+ywDWZCvqsWgccV3gFoRBv0z+8dLJgyAHIhR35VZc2oM/gI1w=="
487
+ crossorigin="anonymous"
488
+ referrerpolicy="no-referrer"
489
+ />
490
+ {%- if page.layout == "feature" -%}
491
+ <script>
492
+ const toaster = document.querySelector(".toaster");
493
+ if (
494
+ !/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(
495
+ navigator.userAgent
496
+ )
497
+ ) {
498
+ if (navigator.userAgent.indexOf("Mac OS X") != -1) {
499
+ toaster.innerHTML = `Press Command + D to Bookmark this page`;
500
+ } else {
501
+ toaster.innerHTML = `Press Ctrl + D to Bookmark this page`;
502
+ }
503
+ }
504
+ setTimeout(() => {
505
+ toaster.style.display = "none";
506
+ }, 20000);
507
+ </script>
508
+ {%- endif -%}