PageSourceSearch

https://divergentemx.com/js/sharethis.js

js divergentemx.com collected 2026-09-26 04:27:42 UTC 211,579 bytes, 5,735 lines download raw bytes

1var _____WB$wombat$assign$function_____=function(name){return (self._wb_wombat && self._wb_wombat.local_init && self._wb_wombat.local_init(name))||self[name];};if(!self.__WB_pmw){self.__WB_pmw=function(obj){this.__WB_source=obj;return this;}}{
2let window = _____WB$wombat$assign$function_____("window");
3let self = _____WB$wombat$assign$function_____("self");
4let document = _____WB$wombat$assign$function_____("document");
5let location = _____WB$wombat$assign$function_____("location");
6let top = _____WB$wombat$assign$function_____("top");
7let parent = _____WB$wombat$assign$function_____("parent");
8let frames = _____WB$wombat$assign$function_____("frames");
9let opens = _____WB$wombat$assign$function_____("opens");
10if (!Date.now) {
11  Date.now = function now() {
12    return new Date().getTime();
13  };
14}
15
16(function(funcName, baseObj) {
17  "use strict";
18
19  // The public function name defaults to window.docReady
20  // but you can modify the last line of this function to pass in a different object or method name
21  // if you want to put them in a different namespace and those will be used instead of 
22  // window.docReady(...)
23  funcName = funcName || "docReady";
24  baseObj = baseObj || window;
25  var readyList = [];
26  var readyFired = false;
27  var readyEventHandlersInstalled = false;
28  
29  // call this when the document is ready
30  // this function protects itself against being called more than once
31  function ready() {
32    if (!readyFired) {
33
34      // this must be set to true before we start calling callbacks
35      readyFired = true;
36      for (var i = 0; i < readyList.length; i++) {
37
38        // if a callback here happens to add new ready handlers,
39        // the docReady() function will see that it already fired
40        // and will schedule the callback to run right after
41        // this event loop finishes so all handlers will still execute
42        // in order and no new ones will be added to the readyList
43        // while we are processing the list
44        readyList[i].fn.call(window, readyList[i].ctx);
45      }
46
47      // allow any closures held by these functions to free
48      readyList = [];
49    }
50  }
51  
52  function readyStateChange() {
53    if ( document.readyState === "complete" ) {
54      ready();
55    }
56  }
57  
58  // This is the one public interface
59  // docReady(fn, context);
60  // the context argument is optional - if present, it will be passed
61  // as an argument to the callback
62  baseObj[funcName] = function(callback, context) {
63    if (typeof callback !== "function") {
64      throw new TypeError("callback for docReady(fn) must be a function");
65    }
66
67    // if ready has already fired, then just schedule the callback
68    // to fire asynchronously, but right away
69    if (readyFired) {
70      setTimeout(function() {callback(context);}, 1);
71      return;
72    } else {
73
74      // add the function and context to the list
75      readyList.push({fn: callback, ctx: context});
76    }
77
78    // if document already ready to go, schedule the ready function to run
79    // IE only safe when readyState is "complete", others safe when readyState is "interactive"
80    if (document.readyState === "complete" || (!document.attachEvent && document.readyState === "interactive")) {
81      setTimeout(ready, 1);
82    } else if (!readyEventHandlersInstalled) {
83
84      // otherwise if we don't have event handlers installed, install them
85      if (document.addEventListener) {
86
87        // first choice is DOMContentLoaded event
88        document.addEventListener("DOMContentLoaded", ready, false);
89
90        // backup is window load event
91        window.addEventListener("load", ready, false);
92      } else {
93
94        // must be IE
95        document.attachEvent("onreadystatechange", readyStateChange);
96        window.attachEvent("onload", ready);
97      }
98      readyEventHandlersInstalled = true;
99    }
100  }
101})("__sharethis__docReady", window);
102
103// Document.querySelectorAll method
104// http://ajaxian.com/archives/creating-a-queryselector-for-ie-that-runs-at-native-speed
105// Needed for: IE7-
106if (!document.querySelectorAll) {
107  document.querySelectorAll = function(selectors) {
108    var style = document.createElement('style'), elements = [], element;
109    document.documentElement.firstChild.appendChild(style);
110    document._qsa = [];
111
112    style.styleSheet.cssText = selectors + '{x-qsa:expression(document._qsa && document._qsa.push(this))}';
113    window.scrollBy(0, 0);
114    style.parentNode.removeChild(style);
115
116    while (document._qsa.length) {
117      element = document._qsa.shift();
118      element.style.removeAttribute('x-qsa');
119      elements.push(element);
120    }
121    document._qsa = null;
122    return elements;
123  };
124}
125
126// Document.querySelector method
127// Needed for: IE7-
128if (!document.querySelector) {
129	document.querySelector = function(selectors) {
130		var elements = document.querySelectorAll(selectors);
131		return (elements.length) ? elements[0] : null;
132	};
133}
134
135if (!Array.isArray) {
136  Array.isArray = function(arg) {
137    return Object.prototype.toString.call(arg) === '[object Array]';
138  };
139}
140
141Array.prototype.indexOf || (Array.prototype.indexOf = function(d, e) {
142  var a;
143  if (null == this) throw new TypeError('"this" is null or not defined');
144  var c = Object(this);
145  var b = c.length >>> 0;
146  if (0 === b) return -1;
147  a = +e || 0;
148  Infinity === Math.abs(a) && (a = 0);
149  if (a >= b) return -1;
150  for (a = Math.max(0 <= a ? a : b - Math.abs(a), 0); a < b;) {
151    if (a in c && c[a] === d) return a;
152    a++;
153  }
154  return -1
155});
156
157(function() {
158  var st,
159    indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };
160
161  if (window.__sharethis__ == null) {
162    window.__sharethis__ = {
163      v: '6.0.0'
164    };
165  }
166
167  st = window.__sharethis__;
168
169  st.METRICS = "https://platform-metrics-api.sharethis.com";
170
171  st.API = "https://platform-api.sharethis.com";
172
173  st.SECOND = 1000;
174
175  st.MINUTE = 60 * st.SECOND;
176
177  st.HOUR = 60 * st.MINUTE;
178
179  st.DAY = 24 * st.HOUR;
180
181  st.WEEK = 7 * st.DAY;
182
183  st.BORDER_BOX = "-moz-box-sizing: border-box;\n-webkit-box-sizing: border-box;\nbox-sizing: border-box;";
184
185  st.BORDER_RADIUS = function(radius) {
186    return "-moz-border-radius: " + (st.px(radius)) + ";\n-webkit-border-radius: " + (st.px(radius)) + ";\nborder-radius: " + (st.px(radius)) + ";";
187  };
188
189  st.BOX_SHADOW = function(value) {
190    return "-moz-box-shadow: " + value + ";\n-webkit-box-shadow: " + value + ";\nbox-shadow: " + value + ";";
191  };
192
193  st.FLEX = "-moz-flex: 1;\n-ms-flex: 1;\n-webkit-flex: 1;\nflex: 1;";
194
195  st.FONT_FAMILY = "font-family: \"Helvetica Neue\", Verdana, Helvetica, Arial, sans-serif;";
196
197  st.TRANSFORM = function(value) {
198    return "-ms-transform: " + value + ";\n-webkit-transform: " + value + ";\ntransform: " + value + ";";
199  };
200
201  st.TRANSITION = function(properties, duration) {
202    var i, len, property, value;
203    if (properties == null) {
204      properties = ['all'];
205    }
206    if (duration == null) {
207      duration = '0.2s';
208    }
209    value = [];
210    for (i = 0, len = properties.length; i < len; i++) {
211      property = properties[i];
212      value.push(property + " " + duration + " ease-in");
213    }
214    value = value.join(', ');
215    return "-moz-transition: " + value + "; -ms-transition: " + value + "; -o-transition: " + value + "; -webkit-transition: " + value + "; transition: " + value + ";";
216  };
217
218  st._uid = 0;
219
220  st.uid = function() {
221    return ++st._uid;
222  };
223
224  st.cache = {};
225
226  st.get = function(key) {
227    return st.cache[key];
228  };
229
230  st.set = function(key, val) {
231    return st.cache[key] = val;
232  };
233
234  st.has = function(key) {
235    return st.cache[key] != null;
236  };
237
238  st.addClass = function($el, names) {
239    var current, i, len, name;
240    current = ($el.className || '').split(' ');
241    if (typeof names === 'string') {
242      names = [names];
243    }
244    for (i = 0, len = names.length; i < len; i++) {
245      name = names[i];
246      if ((name != null) && indexOf.call(current, name) < 0) {
247        current.push(name);
248      }
249    }
250    return $el.className = current.join(' ');
251  };
252
253  st.addEventListener = function($el, event, callback) {
254    if (!($el && event && callback)) {
255      return;
256    }
257    if ($el.addEventListener) {
258      return $el.addEventListener(event, callback, false);
259    } else if ($el.attachEvent) {
260      return $el.attachEvent("on" + event, callback);
261    } else {
262      return $el["on" + event] = callback;
263    }
264  };
265
266  st.capitalize = function(str) {
267    return "" + (str.charAt(0).toUpperCase()) + (str.substring(1).toLowerCase());
268  };
269
270  st.copy = function() {
271    var selection;
272    selection = typeof window.getSelection === "function" ? window.getSelection() : void 0;
273    if (!selection || selection.isCollapsed) {
274      return;
275    }
276    selection = selection.toString();
277    if (selection.length > 500) {
278      selection = selection.slice(0, 497) + "...";
279    }
280    if (selection.length > 0) {
281      return st.log({
282        copy_text: selection,
283        destinations: "copy",
284        event: 'share',
285        url: st.href
286      });
287    }
288  };
289
290  st.close = function($el) {
291    st.removeClass(document.body, 'st-body-no-scroll');
292    if (!$el) {
293      return;
294    }
295    st.addClass($el, 'st-hidden');
296    return setTimeout((function() {
297      return st.remove($el);
298    }), 200);
299  };
300
301  st.css = function(css) {
302    var head, s;
303    head = document.getElementsByTagName('head')[0];
304    s = document.createElement('style');
305    s.setAttribute('type', 'text/css');
306    if (s.styleSheet) {
307      s.styleSheet.cssText = css;
308    } else {
309      s.appendChild(document.createTextNode(css));
310    }
311    return head.appendChild(s);
312  };
313
314  st.ecommerce = function() {
315    var ecommerce, has_ldjson, has_og, has_price;
316    has_ldjson = st.meta["@type"] === "Product";
317    has_og = st.meta["og:type"] === "product";
318    has_price = st.getMeta(['og:price:amount', 'price', 'product:price:amount']);
319    if (has_ldjson || has_og || has_price) {
320      ecommerce = JSON.stringify(st.omit({
321        availability: st.getMeta(["og:availability", "product:availability", "availability"]),
322        brand: st.getMeta(["brand", "og:site_name"]),
323        category: st.getMeta(["category"]),
324        currency: st.getMeta(["og:price:currency", "product:price:currency", "priceCurrency"]),
325        description: st.getMeta(["og:description", "twitter:description", "description"]),
326        image: st.getMeta(["og:image:secure_url", "og:image", "twitter:image"]),
327        mpn: st.getMeta(["mpn"]),
328        name: st.getMeta(["og:title", "twitter:title", "name"]),
329        price: st.getMeta(["og:price:amount", "product:price:amount", "price"]),
330        rating: st.getMeta(["og:rating", "ratingValue"]),
331        reviews: st.getMeta(["reviewCount", "ratingCount"]),
332        sku: st.getMeta(["sku"])
333      }));
334      st.log({
335        event: 'ecommerce_pview',
336        ecommerce: ecommerce
337      });
338      st.addEventListener(document, "click", function(e) {
339        var classes, cls, config, event, href, i, len;
340        if (!(e != null ? e.target : void 0)) {
341          return true;
342        }
343        if (e.target.tagName === "A") {
344          href = e.target.getAttribute('href') || '';
345          if (new RegExp("/cart$").test(href)) {
346            st.log({
347              event: "view_cart",
348              ecommerce: ecommerce
349            });
350            return true;
351          }
352        }
353        config = {
354          add_to_cart: ["add_to_cart", "add-to-cart", "addtocart"],
355          add_to_wishlist: ["save-for-later", "wishlist"],
356          buy: ["payment-button"]
357        };
358        for (event in config) {
359          classes = config[event];
360          for (i = 0, len = classes.length; i < len; i++) {
361            cls = classes[i];
362            if (st.hasClassOrId(e.target, cls)) {
363              st.log({
364                event: event,
365                ecommerce: ecommerce
366              });
367              return true;
368            }
369          }
370        }
371        return true;
372      });
373    }
374    return true;
375  };
376
377  st.emit = function(event, data) {
378    var handler, i, len, ref, ref1, results;
379    ref1 = ((ref = st.handlers) != null ? ref[event] : void 0) || [];
380    results = [];
381    for (i = 0, len = ref1.length; i < len; i++) {
382      handler = ref1[i];
383      results.push(handler(data));
384    }
385    return results;
386  };
387
388  st.formatNumber = function(value) {
389    if (value > 1000000) {
390      return (Math.round(10 * (value / 1000000)) / 10) + "m";
391    }
392    if (value > 100000) {
393      return (Math.round(value / 1000)) + "k";
394    }
395    if (value > 1000) {
396      return (Math.round(10 * (value / 1000)) / 10) + "k";
397    }
398    return "" + value;
399  };
400
401  st.getCookie = function(name) {
402    var values;
403    values = document.cookie.match("(^|;)\\s*" + name + "\\s*=\\s*([^;]+)");
404    if (values) {
405      return values.pop();
406    }
407    return null;
408  };
409
410  st.getDescription = function() {
411    return st.getMeta(['og:description', 'twitter:description', 'description', 'Description']);
412  };
413
414  st.getImage = function() {
415    return st.getMeta(['og:image:secure_url', 'og:image', 'twitter:image']);
416  };
417
418  st.getMeta = function(types) {
419    var i, len, type;
420    for (i = 0, len = types.length; i < len; i++) {
421      type = types[i];
422      if ((st.meta[type] != null) && typeof st.meta[type] !== 'object') {
423        return "" + st.meta[type];
424      }
425    }
426    return '';
427  };
428
429  st.getScrollbarWidth = function() {
430    var inner, outer, scrollbar_width;
431    outer = document.createElement('div');
432    outer.style.visibility = 'hidden';
433    outer.style.width = '100px';
434    outer.style.msOverflowStyle = 'scrollbar';
435    outer.style.overflow = 'scroll';
436    document.body.appendChild(outer);
437    inner = document.createElement('div');
438    inner.style.width = '100%';
439    outer.appendChild(inner);
440    scrollbar_width = outer.offsetWidth - inner.offsetWidth;
441    outer.parentNode.removeChild(outer);
442    return scrollbar_width;
443  };
444
445  st.getScrollDepth = function() {
446    var body, body_height, de, depth, percentage, window_height;
447    de = document.documentElement;
448    body = document.body;
449    body_height = Math.max.apply(Math, [body.scrollHeight || 0, body.offsetHeight || 0, de.clientHeight || 0, de.scrollHeight || 0, de.offsetHeight || 0]);
450    window_height = st.getWindowSize().height;
451    depth = window.pageYOffset || (de || body.parentNode || body).scrollTop;
452    percentage = Math.floor(100 * (window_height + depth) / body_height);
453    return percentage;
454  };
455
456  st.getShareLabel = function(network, language) {
457    var value;
458    if (language == null) {
459      language = 'en';
460    }
461    value = '';
462    switch (network) {
463      case 'blm':
464        value = st.i18n['Support BLM'][language];
465        break;
466      case 'email':
467        value = st.i18n['email'][language];
468        break;
469      case 'gmail':
470        value = st.i18n['gmail'][language];
471        break;
472      case 'flipboard':
473        value = st.i18n['flip'][language];
474        break;
475      case 'googlebookmarks':
476        value = st.i18n['bookmark'][language];
477        break;
478      case 'pinterest':
479        value = st.i18n['pin'][language];
480        break;
481      case 'print':
482        value = st.i18n['print'][language];
483        break;
484      case 'snapchat':
485        value = st.i18n['snapchat'][language];
486        break;
487      case 'twitter':
488        value = st.i18n['tweet'][language];
489        break;
490      case 'yahoomail':
491        value = st.i18n['email'][language];
492        break;
493      default:
494        value = st.i18n['share'][language];
495    }
496    if (network === 'blm') {
497      return value;
498    }
499    return st.capitalize(value);
500  };
501
502  st.getTitle = function() {
503    return st.getMeta(['og:title', 'twitter:title']) || document.title;
504  };
505
506  st.getQuerystring = function(url) {
507    var a;
508    a = document.createElement('a');
509    a.setAttribute('href', url);
510    return a.search;
511  };
512
513  st.getWindowSize = function() {
514    var body, documentElement, innerHeight, innerWidth;
515    body = document.body, documentElement = document.documentElement;
516    innerHeight = window.innerHeight, innerWidth = window.innerWidth;
517    return {
518      height: innerHeight || documentElement.clientHeight || body.clientHeight,
519      width: innerWidth || documentElement.clientWidth || body.clientWidth
520    };
521  };
522
523  st.hasClass = function($el, name) {
524    var re;
525    re = new RegExp(name);
526    return re.test(($el.className || '').toLowerCase());
527  };
528
529  st.hasClassOrId = function($el, name) {
530    var i, len, re, ref, str;
531    re = new RegExp(name);
532    ref = [$el.className, $el.id];
533    for (i = 0, len = ref.length; i < len; i++) {
534      str = ref[i];
535      if (typeof str !== 'string') {
536        continue;
537      }
538      if (re.test((str || '').toLowerCase())) {
539        return true;
540      }
541    }
542    return false;
543  };
544
545  st.hasCookies = (function() {
546    var has_cookies, key;
547    key = '__sharethis_cookie_test__';
548    document.cookie = key + "=1;";
549    has_cookies = document.cookie.indexOf(key) > -1;
550    document.cookie = key + '=; expires=Thu, 01 Jan 1970 00:00:01 GMT;';
551    return has_cookies;
552  })();
553
554  st.hasLocalStorage = (function() {
555    var key;
556    key = '__sharethis_local_storage_test__';
557    try {
558      localStorage.setItem(key, 'hello world');
559      localStorage.removeItem(key);
560      return true;
561    } catch (error1) {
562      return false;
563    }
564  })();
565
566  st.hem = function(data) {
567    var params;
568    st._hem = data;
569    if ((data == null) || (data.sha1 == null) || (data.sha256 == null) || (data.md5 == null)) {
570      return 'Not valid data input';
571    }
572    params = {
573      hem_sha1: data.sha1,
574      hem_sha256: data.sha256,
575      hem_md5: data.md5
576    };
577    st.send("https://sync.sharethis.com/powr/hem?" + st.qs(params));
578  };
579
580  st.hostname = function(url) {
581    var a;
582    if (url == null) {
583      url = st.href;
584    }
585    a = document.createElement('a');
586    a.setAttribute('href', url);
587    return a.hostname;
588  };
589
590  st.ibl = function() {
591    var blacklist, domain, hostname, href, i, len, protocol;
592    href = document.referrer;
593    if (href) {
594      hostname = st.hostname(href) || '';
595      protocol = st.protocol(href) || '';
596      if (protocol === 'android-app:') {
597        return true;
598      }
599      blacklist = ['aol', 'bing', 'bs.to', 'facebook', 'google', 'yahoo', 'yandex', document.location.hostname];
600      for (i = 0, len = blacklist.length; i < len; i++) {
601        domain = blacklist[i];
602        if (hostname.indexOf(domain) > -1) {
603          return true;
604        }
605      }
606      st.log({
607        event: 'ibl',
608        title: "",
609        url: href
610      });
611    }
612    return true;
613  };
614
615  st.img = function(name) {
616    var alt;
617    if (!name) {
618      return;
619    }
620    alt = (name.replace('.svg', '').replace('.png', '')) + " sharing button";
621    return "<img alt='" + alt + "' src='https://platform-cdn.sharethis.com/img/" + name + "' />";
622  };
623
624  st.incLocalStorageShares = function(network, count_url) {
625    var all_counts, network_count, ref, ref1, ref2, ref3, ref4, ref5, total;
626    all_counts = st.storage.get("st_shares_" + count_url);
627    if (all_counts) {
628      network_count = (((ref = all_counts[network]) != null ? ref.value : void 0) + 1) || 0;
629      total = (((ref1 = all_counts["total"]) != null ? ref1.value : void 0) + 1) || 0;
630      if ((ref2 = all_counts[network]) != null) {
631        ref2.value = network_count;
632      }
633      if ((ref3 = all_counts[network]) != null) {
634        ref3.label = st.formatNumber(network_count);
635      }
636      if ((ref4 = all_counts["total"]) != null) {
637        ref4.value = total;
638      }
639      if ((ref5 = all_counts["total"]) != null) {
640        ref5.label = st.formatNumber(total);
641      }
642      all_counts["update_time"] = Math.round(new Date() / 1000);
643      return st.storage.set("st_shares_" + count_url, all_counts);
644    }
645  };
646
647  st.inc = function($el) {
648    var value;
649    value = st.parseNumber($el.innerText);
650    $el.innerText = st.formatNumber(value + 1);
651    st.addClass($el, 'st-grow');
652    return setTimeout((function() {
653      return st.removeClass($el, 'st-grow');
654    }), 400);
655  };
656
657  st.isEnter = function(e) {
658    return e.which === 13 || e.keyCode === 13;
659  };
660
661  st.isEsc = function(e) {
662    var ref;
663    return ((ref = e.key) === 'Escape' || ref === 'Esc') || e.keyCode === 27;
664  };
665
666  st.isValidEmail = function(email) {
667    var re;
668    re = /[^\.\s@][^\s@]*(?!\.)@[^\.\s@]+(?:\.[^\.\s@]+)*/;
669    return re.test(email);
670  };
671
672  st.js = function(url, id) {
673    var $el, first;
674    $el = document.createElement('script');
675    $el.async = 1;
676    $el.src = url;
677    if (id) {
678      $el.id = id;
679    }
680    first = document.getElementsByTagName('script')[0];
681    return first.parentNode.insertBefore($el, first);
682  };
683
684  st.ldjson = (function() {
685    var el, i, item, len, raw;
686    el = document.querySelector('script[type="application/ld+json"]');
687    if (el) {
688      try {
689        raw = JSON.parse(el.innerText);
690        if (!Array.isArray(raw)) {
691          raw = [raw];
692        }
693        for (i = 0, len = raw.length; i < len; i++) {
694          item = raw[i];
695          if (item["@type"] === "Product") {
696            if (item.offers && !Array.isArray(item.offers)) {
697              item.offers = [item.offers];
698            }
699            if (item.brand) {
700              item.brand = item.brand.name || item.brand;
701            }
702            if (item.category && Array.isArray(item.category)) {
703              item.category = item.category.join(";");
704            }
705            return item;
706          }
707        }
708        return null;
709      } catch (error1) {
710
711      }
712    }
713    return null;
714  })();
715
716  st.loadPixel = function() {
717    var domain, rnd, src;
718    domain = window.location.hostname;
719    rnd = (new Date()).getTime();
720    src = "https://t.sharethis.com/1/k/t.dhj?" + st.qs({
721      cid: 'c010',
722      cls: 'B',
723      dmn: domain,
724      gdpr_consent: st.gdpr_consent,
725      gdpr_domain: st.gdpr_consent && st.gdpr_domain,
726      rnd: rnd
727    });
728    return st.js(src, 'pxscrpt');
729  };
730
731  if (st.loader == null) {
732    st.loader = {};
733  }
734
735  st.load = function(product, config) {
736    var base;
737    return typeof (base = st.loader)[product] === "function" ? base[product](config) : void 0;
738  };
739
740  if (st.load_counts_cache == null) {
741    st.load_counts_cache = {};
742  }
743
744  st.loadCounts = function(options, next) {
745    var base, ourl, ref, ref1, ref2;
746    if (!next) {
747      ref = [{}, options], options = ref[0], next = ref[1];
748    }
749    if (options.url == null) {
750      options.url = st.href;
751    }
752    ourl = options.url;
753    if ((base = st.load_counts_cache)[ourl] == null) {
754      base[ourl] = {
755        callbacks: [next],
756        response: null,
757        status: 'init'
758      };
759    }
760    if (((ref1 = st.load_counts_cache[ourl]) != null ? ref1.status : void 0) === 'complete') {
761      return next(st.load_counts_cache[ourl].response);
762    }
763    if (((ref2 = st.load_counts_cache[ourl]) != null ? ref2.status : void 0) === 'in-progress') {
764      return st.load_counts_cache[ourl].callbacks.push(next);
765    }
766    st.load_counts_cache[ourl].status = 'in-progress';
767    return st.js("https://count-server.sharethis.com/v2.0/get_counts?" + st.qs({
768      cb: "window.__sharethis__.cb",
769      url: ourl
770    }));
771  };
772
773  st.cb = function(resp) {
774    var callback, clicks, counts, i, j, len, len1, local_count, network, ourl, reaction, reactions, ref, ref1, shares, total, update_time, value;
775    if (resp == null) {
776      resp = {};
777    }
778    clicks = resp.clicks, ourl = resp.ourl, reactions = resp.reactions, shares = resp.shares, total = resp.total, update_time = resp.update_time;
779    counts = {};
780    for (reaction in st.REACTIONS || {}) {
781      value = (reactions != null ? reactions[reaction] : void 0) || 0;
782      counts[reaction] = {
783        value: value,
784        label: st.formatNumber(value)
785      };
786    }
787    ref = st.networks || [];
788    for (i = 0, len = ref.length; i < len; i++) {
789      network = ref[i];
790      value = ((clicks != null ? clicks[network] : void 0) || 0) + ((shares != null ? shares[network] : void 0) || 0);
791      counts[network] = {
792        value: value,
793        label: st.formatNumber(value)
794      };
795    }
796    counts['total'] = {
797      value: total,
798      label: st.formatNumber(total)
799    };
800    counts["update_time"] = update_time;
801    local_count = st.storage.get("st_shares_" + ourl);
802    if (update_time < (local_count != null ? local_count.update_time : void 0)) {
803      counts = local_count;
804    }
805    st.load_counts_cache[ourl].response = counts;
806    st.load_counts_cache[ourl].status = 'complete';
807    st.storage.set("st_shares_" + ourl, counts);
808    ref1 = st.load_counts_cache[ourl].callbacks;
809    for (j = 0, len1 = ref1.length; j < len1; j++) {
810      callback = ref1[j];
811      callback(counts);
812    }
813    return st.load_counts_cache[ourl].callbacks = [];
814  };
815
816  st.log = function(data, url) {
817    var log, ref;
818    if (url == null) {
819      url = "https://l.sharethis.com/log";
820    }
821    log = function() {
822      var fpestid, page_info, ref, ref1, ref2, ref3, ref4, ref5, ref6, ref7;
823      data.fcmp = typeof window.__cmp === 'function';
824      data.fcmpv2 = typeof window.__tcfapi === 'function';
825      data.has_segmentio = typeof (window.analytics && window.analytics.identify) === 'function';
826      data.product = st.product;
827      data.publisher = st.property;
828      data.account = st.account;
829      data.ssb = st.ssb;
830      data.refDomain = st.hostname(window.document.referrer);
831      data.refQuery = st.getQuerystring(window.document.referrer);
832      data.source = 'sharethis.js';
833      if (data.title == null) {
834        data.title = st.getTitle();
835      }
836      data.ts = Date.now();
837      data.sop = true;
838      data.cms = st.cms;
839      data.gdpr_consent = st.gdpr_consent;
840      data.gdpr_domain = st.gdpr_domain;
841      data.gdpr_method = st.gdpr_method;
842      data.usprivacy = st.usprivacy;
843      fpestid = st.getCookie("fpestid");
844      try {
845        if (!fpestid) {
846          fpestid = localStorage.getItem("fpestid");
847        }
848      } catch (error1) {}
849      if (fpestid) {
850        data.fpestid = fpestid;
851      }
852      if (data.description == null) {
853        data.description = st.getDescription();
854      }
855      data.ua = (ref = st.ua_fields) != null ? ref.ua : void 0;
856      data.ua_full_version_list = (ref1 = st.ua_fields) != null ? ref1.ua_full_version_list : void 0;
857      data.ua_mobile = (ref2 = st.ua_fields) != null ? ref2.ua_mobile : void 0;
858      data.ua_model = (ref3 = st.ua_fields) != null ? ref3.ua_model : void 0;
859      data.ua_platform = (ref4 = st.ua_fields) != null ? ref4.ua_platform : void 0;
860      data.ua_platform_version = (ref5 = st.ua_fields) != null ? ref5.ua_platform_version : void 0;
861      page_info = ((ref6 = window.__stdos__) != null ? (ref7 = ref6.data) != null ? ref7.pageInfo : void 0 : void 0) || {};
862      if (page_info.override) {
863        data.override = page_info.override;
864      }
865      return st.send(url + "?" + st.qs(data));
866    };
867    if (st != null ? (ref = st.consent_queue) != null ? ref.initialized : void 0 : void 0) {
868      log();
869      return;
870    }
871    if (st.consent_queue == null) {
872      st.consent_queue = {
873        functions: []
874      };
875    }
876    return st.consent_queue.functions.push(log);
877  };
878
879  st.logGoogleAnalyticsEvent = function(category, action, label) {
880    var _gaq, ga;
881    ga = window.ga, _gaq = window._gaq;
882    if (ga) {
883      return ga('send', 'event', category, action, label);
884    } else if (_gaq) {
885      return _gaq.push(['_trackEvent', category, action, label]);
886    }
887  };
888
889  st.meta = (function() {
890    var el, i, item, j, k, key, len, len1, offer, ref, ref1, ref2, v;
891    item = {};
892    ref = document.querySelectorAll("meta,[itemprop]");
893    for (i = 0, len = ref.length; i < len; i++) {
894      el = ref[i];
895      key = el.getAttribute('property') || el.getAttribute('name') || el.getAttribute('itemprop');
896      if (key) {
897        if (item[key] == null) {
898          item[key] = el.getAttribute('content') || el.getAttribute("href") || el.innerText;
899        }
900      }
901    }
902    try {
903      if (st.ldjson) {
904        ref1 = st.ldjson;
905        for (k in ref1) {
906          v = ref1[k];
907          if (item[k] == null) {
908            item[k] = v;
909          }
910        }
911        if (st.ldjson.offers) {
912          ref2 = st.ldjson.offers;
913          for (j = 0, len1 = ref2.length; j < len1; j++) {
914            offer = ref2[j];
915            for (k in offer) {
916              v = offer[k];
917              if (item[k] == null) {
918                item[k] = v;
919              }
920            }
921          }
922        }
923      }
924    } catch (error1) {
925
926    }
927    return item;
928  })();
929
930  st.newElement = function(parent) {
931    var $el, id;
932    if (parent === void 0) {
933      parent = document.body;
934    }
935    $el = document.createElement('div');
936    id = "st-el-" + (st.uid());
937    $el.setAttribute('id', id);
938    if (parent) {
939      parent.appendChild($el);
940    }
941    return {
942      $el: $el,
943      id: id
944    };
945  };
946
947  st.obl = function(e) {
948    var href, prefix, ref;
949    if ((e != null ? (ref = e.target) != null ? ref.tagName : void 0 : void 0) === 'A') {
950      href = e.target.getAttribute('href') || '';
951      prefix = href.slice(0, href.indexOf(':'));
952      if (href.slice(0, 4) === 'http' && e.target.hostname !== document.location.hostname) {
953        st.log({
954          event: 'obl',
955          title: "",
956          url: href
957        });
958      }
959    }
960    return true;
961  };
962
963  st.omit = function(obj) {
964    var k, res, v;
965    res = {};
966    for (k in obj) {
967      v = obj[k];
968      if (v) {
969        res[k] = v;
970      }
971    }
972    return res;
973  };
974
975  st.on = function(event, callback) {
976    var base;
977    if (st.handlers == null) {
978      st.handlers = [];
979    }
980    if ((base = st.handlers)[event] == null) {
981      base[event] = [];
982    }
983    return st.handlers[event].push(callback);
984  };
985
986  st.open = function(url) {
987    var h, w, wh, ww;
988    if (!url) {
989      return;
990    }
991    if (st.mobile) {
992      return window.open(url, '_blank');
993    } else if (url.indexOf('mailto:') > -1 || url.indexOf('viber') > -1) {
994      return document.location = url;
995    } else {
996      wh = st.getWindowSize().height;
997      ww = st.getWindowSize().width;
998      h = Math.min(600, .6 * wh);
999      w = Math.min(800, .8 * ww);
1000      return window.open(url, '', ["height=" + h, "left=" + ((ww - w) / 2), "top=" + ((wh - h) / 2), "width=" + w, 'status=1', 'toolbar=0'].join(','));
1001    }
1002  };
1003
1004  st.parseNumber = function(value) {
1005    var multiplier;
1006    multiplier = 1;
1007    if (value.indexOf('k') > -1) {
1008      multiplier = 1000;
1009    }
1010    if (value.indexOf('m') > -1) {
1011      multiplier = 1000000;
1012    }
1013    value = value.replace(/[km,]/g, '');
1014    return multiplier * parseInt(value, 10) || 0;
1015  };
1016
1017  st.position = function($el, container) {
1018    var _container, _el;
1019    if (container == null) {
1020      container = window;
1021    }
1022    _el = $el.getBoundingClientRect();
1023    if (container === window) {
1024      return {
1025        left: _el.left + window.scrollX,
1026        top: _el.top + window.scrollY
1027      };
1028    } else {
1029      _container = container.getBoundingClientRect();
1030      return {
1031        left: _el.left - _container.left + container.scrollLeft,
1032        top: _el.top - _container.top + container.scrollTop
1033      };
1034    }
1035  };
1036
1037  st.protocol = function(url) {
1038    var a;
1039    if (url == null) {
1040      url = st.href;
1041    }
1042    a = document.createElement('a');
1043    a.setAttribute('href', url);
1044    return a.protocol;
1045  };
1046
1047  st.px = function(value) {
1048    if (typeof value === 'string') {
1049      return value;
1050    }
1051    return (Math.floor(value)) + "px";
1052  };
1053
1054  st.qs = function(params) {
1055    var k, v;
1056    return ((function() {
1057      var results;
1058      results = [];
1059      for (k in params) {
1060        v = params[k];
1061        if (v != null) {
1062          results.push(k + "=" + (encodeURIComponent(v)));
1063        }
1064      }
1065      return results;
1066    })()).join('&');
1067  };
1068
1069  st.react = function(arg) {
1070    var reaction, url;
1071    reaction = arg.reaction, url = arg.url;
1072    if (url == null) {
1073      url = st.href;
1074    }
1075    st.logGoogleAnalyticsEvent('ShareThis', reaction, url);
1076    return st.log({
1077      event: 'reaction',
1078      reactionType: reaction,
1079      url: url
1080    });
1081  };
1082
1083  st.remove = function($el) {
1084    if (!($el != null ? $el.parentNode : void 0)) {
1085      return;
1086    }
1087    return $el.parentNode.removeChild($el);
1088  };
1089
1090  st.removeClass = function($el, name) {
1091    return $el.className = $el.className.replace(name, '');
1092  };
1093
1094  st.removeEventListener = function($el, event, callback) {
1095    if (!($el && event && callback)) {
1096      return;
1097    }
1098    if ($el.removeEventListener) {
1099      return $el.removeEventListener(event, callback, false);
1100    } else if ($el.detachEvent) {
1101      return $el.detachEvent("on" + event, callback);
1102    } else {
1103      return $el["on" + event] = null;
1104    }
1105  };
1106
1107  st.send = function(resource, params, next) {
1108    var img;
1109    if (params) {
1110      resource = resource + "?" + (st.qs(params));
1111    }
1112    img = new Image(1, 1);
1113    img.src = resource;
1114    img.onload = function() {
1115      return typeof next === "function" ? next(true) : void 0;
1116    };
1117    return img.onerror = function() {
1118      return typeof next === "function" ? next(false) : void 0;
1119    };
1120  };
1121
1122  st.setCookie = function(name, value, days) {
1123    var date, expires;
1124    if (days) {
1125      date = new Date();
1126      date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
1127      expires = "; expires=" + (date.toGMTString());
1128    } else {
1129      expires = "";
1130    }
1131    return document.cookie = name + "=" + value + expires + "; path=/";
1132  };
1133
1134  st.share = function(config) {
1135    var channel_is_ssb, channels_displayed, copybutton, copymessage, count_url, description, hostname, image, is_android, is_ios, message, network, product, redirects, run, share_url, short_url, subject, title, url, username, wechat;
1136    if (config == null) {
1137      config = {};
1138    }
1139    channel_is_ssb = config.channel_is_ssb, channels_displayed = config.channels_displayed, count_url = config.count_url, subject = config.subject, share_url = config.share_url, short_url = config.short_url, url = config.url, description = config.description, image = config.image, message = config.message, network = config.network, title = config.title, username = config.username;
1140    channel_is_ssb = false;
1141    if (channels_displayed == null) {
1142      channels_displayed = JSON.stringify([]);
1143    }
1144    count_url = count_url || url || st.href;
1145    if (description == null) {
1146      description = st.getDescription();
1147    }
1148    if (image == null) {
1149      image = st.getImage();
1150    }
1151    share_url = share_url || short_url || url || st.href;
1152    if (title == null) {
1153      title = st.getTitle();
1154    }
1155    if (url == null) {
1156      url = count_url;
1157    }
1158    if (network === 'sharethis') {
1159      return st.load('share-all', {
1160        count_url: count_url,
1161        description: description,
1162        image: image,
1163        share_url: share_url,
1164        short_url: short_url,
1165        title: title,
1166        url: url,
1167        username: username
1168      });
1169    }
1170    st.incLocalStorageShares(network, count_url);
1171    st.logGoogleAnalyticsEvent('ShareThis', network, count_url);
1172    st.log({
1173      channel_is_ssb: channel_is_ssb,
1174      channels_displayed: channels_displayed,
1175      destinations: network,
1176      event: 'share',
1177      title: title,
1178      url: count_url
1179    });
1180    st.emit('share', {
1181      count_url: count_url,
1182      description: description,
1183      image: image,
1184      message: message,
1185      share_url: share_url,
1186      title: title,
1187      url: url,
1188      username: username
1189    });
1190    if (network === 'wechat') {
1191      if (st.mobile) {
1192        return st.load('share-wechat-mobile', {
1193          url: share_url
1194        });
1195      } else {
1196        wechat = "https://api.qrserver.com/v1/create-qr-code/?" + st.qs({
1197          size: "154x154",
1198          data: share_url
1199        });
1200        st.open(wechat);
1201      }
1202    }
1203    if (network === 'print') {
1204      st.emit('print', {
1205        count_url: count_url,
1206        description: description,
1207        image: image,
1208        message: message,
1209        share_url: share_url,
1210        title: title,
1211        url: url,
1212        username: username
1213      });
1214      return window.print();
1215    }
1216    if (network === 'copy') {
1217      navigator.clipboard.writeText(window.location.href);
1218      copybutton = document.querySelector('div[data-network="copy"]');
1219      if (copybutton) {
1220        copymessage = document.createElement('span');
1221        copymessage.innerText = 'URL Copied!';
1222        copymessage.className = 'copy-notify';
1223        copymessage.style.opacity = '1';
1224        copymessage.style.width = '100px';
1225        copymessage.style.transition = 'all .6s';
1226        copybutton.append(copymessage);
1227        run = function() {
1228          copymessage.style.opacity = '0';
1229          copymessage.style.minWidth = '0';
1230          copymessage.style.width = '0';
1231          copymessage.style.padding = '0';
1232          copymessage.style.overflow = 'hidden';
1233          run = function() {
1234            return copymessage.remove();
1235          };
1236          return setTimeout(run, 1000);
1237        };
1238        setTimeout(run, 1500);
1239      }
1240    }
1241    hostname = document.location.hostname;
1242    product = st.product;
1243    is_ios = /iPad|iPhone|iPod/.test(navigator.userAgent);
1244    is_android = /Android/i.test(navigator.userAgent);
1245    redirects = {
1246      blm: "https://secure.actblue.com/donate/ms_blm_homepage_2019",
1247      blogger: "https://www.blogger.com/blog-this.g?" + st.qs({
1248        n: title,
1249        t: description,
1250        u: share_url
1251      }),
1252      bluesky: "https://bsky.app/intent/compose?" + st.qs({
1253        text: title + ' url:' + share_url
1254      }),
1255      buffer: "https://buffer.com/add?" + st.qs({
1256        text: title,
1257        url: share_url
1258      }),
1259      diaspora: "https://share.diasporafoundation.org/?" + st.qs({
1260        title: title,
1261        url: share_url
1262      }),
1263      delicious: "https://del.icio.us/save?" + st.qs({
1264        provider: 'sharethis',
1265        title: title,
1266        url: share_url,
1267        v: 5
1268      }),
1269      digg: "https://digg.com/submit?" + st.qs({
1270        url: share_url
1271      }),
1272      diigo: "https://www.diigo.com/post?" + st.qs({
1273        title: title,
1274        url: share_url
1275      }),
1276      douban: "http://www.douban.com/recommend/?" + st.qs({
1277        title: title,
1278        url: share_url
1279      }),
1280      email: "mailto:?" + st.qs({
1281        subject: subject || "I'd like to share a link with you",
1282        body: message || ("" + url)
1283      }),
1284      evernote: "http://www.evernote.com/clip.action?" + st.qs({
1285        title: title,
1286        url: share_url
1287      }),
1288      facebook: "https://www.facebook.com/sharer.php?" + st.qs({
1289        t: title,
1290        u: share_url
1291      }),
1292      fark: "https://www.fark.com/submit?" + st.qs({
1293        new_url: share_url
1294      }),
1295      flipboard: "https://share.flipboard.com/bookmarklet/popout?" + st.qs({
1296        ext: 'sharethis',
1297        title: title,
1298        url: share_url,
1299        utm_campaign: 'widgets',
1300        utm_content: hostname,
1301        utm_source: 'sharethis',
1302        v: 2
1303      }),
1304      foursquare: 'https://foursquare.com/intent/venue/' + title,
1305      gab: "https://gab.com/compose?url=" + share_url,
1306      getpocket: "https://getpocket.com/edit?" + st.qs({
1307        url: share_url
1308      }),
1309      gmail: "https://mail.google.com/mail/?view=cm&" + st.qs({
1310        to: '',
1311        su: title,
1312        body: share_url,
1313        bcc: '',
1314        cc: ''
1315      }),
1316      goodreads: "https://www.goodreads.com/quotes?" + st.qs({
1317        'quote[url]': share_url
1318      }),
1319      googlebookmarks: "https://www.google.com/bookmarks/mark?" + st.qs({
1320        op: 'edit',
1321        bkmk: share_url,
1322        title: title,
1323        annotation: description
1324      }),
1325      hackernews: "https://news.ycombinator.com/submitlink?" + st.qs({
1326        u: share_url,
1327        t: title
1328      }),
1329      houzz: "https://www.houzz.com/imageClipperUpload?" + st.qs({
1330        link: share_url,
1331        source: 'link',
1332        hzid: ''
1333      }),
1334      instapaper: "http://www.instapaper.com/edit?" + st.qs({
1335        url: share_url,
1336        title: title,
1337        description: description
1338      }),
1339      iorbix: "https://iorbix.com/m-share?" + st.qs({
1340        url: share_url,
1341        title: title
1342      }),
1343      kakao: "https://story.kakao.com/share?" + st.qs({
1344        url: share_url
1345      }),
1346      kindleit: "https://pushtokindle.fivefilters.org/send.php?" + st.qs({
1347        url: share_url
1348      }),
1349      kooapp: "https://www.kooapp.com/create?" + st.qs({
1350        title: title,
1351        link: share_url
1352      }),
1353      line: "https://lineit.line.me/share/ui?" + st.qs({
1354        url: share_url,
1355        text: title || description
1356      }),
1357      linkedin: "https://www.linkedin.com/shareArticle?" + st.qs({
1358        title: title,
1359        url: share_url
1360      }),
1361      livejournal: "https://www.livejournal.com/update.bml?" + st.qs({
1362        event: share_url,
1363        subject: title
1364      }),
1365      mailru: "https://connect.mail.ru/share?" + st.qs({
1366        share_url: share_url
1367      }),
1368      mailru: "https://connect.mail.ru/share?" + st.qs({
1369        share_url: share_url
1370      }),
1371      meneame: "https://meneame.net/submit.php?" + st.qs({
1372        url: share_url
1373      }),
1374      messenger: {
1375        "true": "fb-messenger://share/?" + st.qs({
1376          link: share_url,
1377          app_id: 291494419107518
1378        }),
1379        "false": "https://www.facebook.com/dialog/send?" + st.qs({
1380          link: share_url,
1381          app_id: 291494419107518,
1382          redirect_uri: "https://www.sharethis.com"
1383        })
1384      }[st.mobile],
1385      microsoftteams: "https://teams.microsoft.com/l/entity/com.microsoft.teamspace.tab.url.share?" + st.qs({
1386        webUrl: share_url,
1387        appName: title
1388      }),
1389      naver: "http://share.naver.com/web/shareView.nhn?" + st.qs({
1390        url: share_url,
1391        title: title
1392      }),
1393      nextdoor: "https://nextdoor.com/sharekit/?" + st.qs({
1394        source: share_url,
1395        body: title
1396      }),
1397      odnoklassniki: "https://connect.ok.ru/dk?" + st.qs({
1398        'st.cmd': 'WidgetSharePreview',
1399        'st.shareUrl': share_url
1400      }),
1401      outlook: "https://outlook.live.com/mail/deeplink/compose?" + st.qs({
1402        path: 'mail inbox',
1403        subject: subject || "I'd like to share a link with you",
1404        body: message || ("" + url)
1405      }),
1406      pinboard: "https://pinboard.in/add?" + st.qs({
1407        url: share_url,
1408        title: title
1409      }),
1410      pinterest: "https://pinterest.com/pin/create/button/?" + st.qs({
1411        description: title,
1412        media: image,
1413        url: share_url
1414      }),
1415      plurk: "http://www.plurk.com/?" + st.qs({
1416        qualifier: 'shares',
1417        status: share_url
1418      }),
1419      qzone: "http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?" + st.qs({
1420        url: share_url
1421      }),
1422      reddit: "https://reddit.com/submit?" + st.qs({
1423        title: title,
1424        url: share_url
1425      }),
1426      refind: "https://refind.com?" + st.qs({
1427        url: share_url
1428      }),
1429      renren: "http://widget.renren.com/dialog/share?" + st.qs({
1430        resourceUrl: share_url,
1431        srcUrl: share_url,
1432        title: title,
1433        description: description || title
1434      }),
1435      skype: "https://web.skype.com/share?" + st.qs({
1436        url: share_url,
1437        text: title
1438      }),
1439      sms: "sms:" + (is_ios ? '&' : '?') + "body=" + (encodeURIComponent(share_url)),
1440      snapchat: "https://snapchat.com/scan?" + st.qs({
1441        attachmentUrl: share_url,
1442        utm_source: 'sharethis'
1443      }),
1444      surfingbird: "http://surfingbird.ru/share?" + st.qs({
1445        url: share_url,
1446        description: description || title,
1447        title: title
1448      }),
1449      telegram: "https://t.me/share/url?" + st.qs({
1450        url: share_url,
1451        text: title,
1452        to: ''
1453      }),
1454      tencentqq: "https://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?" + st.qs({
1455        url: share_url,
1456        title: title,
1457        summary: share_url,
1458        desc: description,
1459        pics: image
1460      }),
1461      threads: "https://threads.net/intent/post?" + st.qs({
1462        text: share_url
1463      }),
1464      threema: "threema://compose?" + st.qs({
1465        text: share_url,
1466        id: ''
1467      }),
1468      trello: "https://trello.com/add-card?" + st.qs({
1469        mode: 'popup',
1470        url: share_url,
1471        desc: description || title
1472      }),
1473      tumblr: "https://www.tumblr.com/share?" + st.qs({
1474        t: title,
1475        u: share_url,
1476        v: 3
1477      }),
1478      twitter: "https://twitter.com/intent/tweet?" + st.qs({
1479        text: title || description,
1480        url: share_url,
1481        via: username
1482      }),
1483      vk: "https://vk.com/share.php?" + st.qs({
1484        url: share_url
1485      }),
1486      viber: "viber://forward?" + st.qs({
1487        text: share_url,
1488        url: 'viber'
1489      }),
1490      weibo: "http://service.weibo.com/share/share.php?" + st.qs({
1491        title: title,
1492        url: share_url,
1493        pic: image
1494      }),
1495      whatsapp: (!st.mobile ? "https://web.whatsapp.com/send?" : "whatsapp://send?") + st.qs({
1496        text: share_url
1497      }),
1498      wordpress: "http://wordpress.com/wp-admin/press-this.php?" + st.qs({
1499        u: share_url,
1500        t: title,
1501        s: description || title,
1502        i: ''
1503      }),
1504      yahoomail: "http://compose.mail.yahoo.com/?" + st.qs({
1505        to: '',
1506        subject: title,
1507        body: share_url
1508      }),
1509      yummly: "https://www.yummly.com/urb/verify?" + st.qs({
1510        url: share_url,
1511        title: title,
1512        urbtype: 'bookmarklet',
1513        type: 'agg',
1514        vendor: 'sharethis',
1515        image: image
1516      }),
1517      xing: "https://www.xing.com/app/user?" + st.qs({
1518        op: 'share',
1519        title: title,
1520        url: share_url
1521      })
1522    };
1523    return st.open(redirects[network]);
1524  };
1525
1526  st.follow = (function(_this) {
1527    return function(config) {
1528      var follow_url, network, url;
1529      if (config == null) {
1530        config = {};
1531      }
1532      follow_url = config.follow_url, network = config.network, url = config.url;
1533      if (url == null) {
1534        url = st.href;
1535      }
1536      st.log({
1537        destinations: network,
1538        event: 'follow',
1539        followUrl: follow_url,
1540        url: url
1541      });
1542      return window.open(follow_url, '_blank');
1543    };
1544  })(this);
1545
1546  st.storage = {
1547    get: function(key) {
1548      if (st.hasLocalStorage) {
1549        try {
1550          return JSON.parse(localStorage.getItem(key));
1551        } catch (error1) {}
1552      }
1553      if (st.hasCookies) {
1554        return st.getCookie(key);
1555      }
1556      return st.get(key);
1557    },
1558    set: function(key, value) {
1559      if (st.hasLocalStorage) {
1560        return localStorage.setItem(key, JSON.stringify(value));
1561      }
1562      if (st.hasCookies) {
1563        return st.setCookie(key, value);
1564      }
1565      return st.set(key, value);
1566    }
1567  };
1568
1569  st.svg = function(paths, size) {
1570    var d;
1571    if (size == null) {
1572      size = 40;
1573    }
1574    if (typeof paths === 'string') {
1575      paths = [paths];
1576    }
1577    return "<svg fill=\"#fff\" preserveAspectRatio=\"xMidYMid meet\" height=\"1em\" width=\"1em\" viewBox=\"0 0 " + size + " " + size + "\">\n  <g>\n    " + (((function() {
1578      var i, len, results;
1579      results = [];
1580      for (i = 0, len = paths.length; i < len; i++) {
1581        d = paths[i];
1582        results.push("<path d='" + d + "'></path>");
1583      }
1584      return results;
1585    })()).join('')) + "\n  </g>\n</svg>";
1586  };
1587
1588  st.toggleClass = function($el, name) {
1589    if (st.hasClass($el, name)) {
1590      return st.removeClass($el, name);
1591    } else {
1592      return st.addClass($el, name);
1593    }
1594  };
1595
1596  st.filterInvalidNetworks = function(networks, valid) {
1597    var n;
1598    if (valid == null) {
1599      valid = st.networks;
1600    }
1601    return (function() {
1602      var i, len, results;
1603      results = [];
1604      for (i = 0, len = networks.length; i < len; i++) {
1605        n = networks[i];
1606        if (valid.indexOf(n) !== -1) {
1607          results.push(n);
1608        }
1609      }
1610      return results;
1611    })();
1612  };
1613
1614  st.tcfapi_listener = (function() {
1615    var interval, start;
1616    start = Date.now();
1617    return interval = setInterval((function() {
1618      var e;
1619      if (window.__tcfapi) {
1620        try {
1621          window.__tcfapi("addEventListener", 2, function(data) {
1622            if ((data != null ? data.eventStatus : void 0) === "useractioncomplete") {
1623              st.gdpr_consent = data.tcString;
1624              st.gdpr_domain = data.isServiceSpecific ? document.location.hostname : ".sharethis.com";
1625              st.gdpr_method = "api";
1626              return st.log({
1627                event: "updated_consent",
1628                pview_had_consent: st.pview_had_consent
1629              });
1630            }
1631          });
1632        } catch (error1) {
1633          e = error1;
1634        }
1635        clearInterval(interval);
1636      }
1637      if (Date.now() - start > 10000) {
1638        return clearInterval(interval);
1639      }
1640    }), 1000);
1641  })();
1642
1643  st.floc = function() {
1644    var error;
1645    try {
1646      if (document.interestCohort) {
1647        return document.interestCohort().then(function(cohort) {
1648          if (cohort) {
1649            return st.log({
1650              event: 'floc',
1651              floc: JSON.stringify(cohort)
1652            });
1653          }
1654        });
1655      }
1656    } catch (error1) {
1657      error = error1;
1658    }
1659  };
1660
1661
1662  /*
1663   * Add Listeners
1664   */
1665
1666  st.addEventListener(document, "click", st.obl);
1667
1668  st.addEventListener(document, "copy", st.copy);
1669
1670}).call(this);
1671
1672(function(){
1673  st = window.__sharethis__
1674
1675  st.CustomColor = class CustomColor {
1676    constructor(r, g, b) {
1677      this.set(r, g, b);
1678    }
1679    
1680    toString() {
1681      return `rgb(${Math.round(this.r)}, ${Math.round(this.g)}, ${Math.round(this.b)})`;
1682    }
1683  
1684    set(r, g, b) {
1685      this.r = this.clamp(r);
1686      this.g = this.clamp(g);
1687      this.b = this.clamp(b);
1688    }
1689  
1690    hueRotate(angle = 0) {
1691      angle = angle / 180 * Math.PI;
1692      const sin = Math.sin(angle);
1693      const cos = Math.cos(angle);
1694  
1695      this.multiply([
1696        0.213 + cos * 0.787 - sin * 0.213,
1697        0.715 - cos * 0.715 - sin * 0.715,
1698        0.072 - cos * 0.072 + sin * 0.928,
1699        0.213 - cos * 0.213 + sin * 0.143,
1700        0.715 + cos * 0.285 + sin * 0.140,
1701        0.072 - cos * 0.072 - sin * 0.283,
1702        0.213 - cos * 0.213 - sin * 0.787,
1703        0.715 - cos * 0.715 + sin * 0.715,
1704        0.072 + cos * 0.928 + sin * 0.072,
1705      ]);
1706    }
1707  
1708    grayscale(value = 1) {
1709      this.multiply([
1710        0.2126 + 0.7874 * (1 - value),
1711        0.7152 - 0.7152 * (1 - value),
1712        0.0722 - 0.0722 * (1 - value),
1713        0.2126 - 0.2126 * (1 - value),
1714        0.7152 + 0.2848 * (1 - value),
1715        0.0722 - 0.0722 * (1 - value),
1716        0.2126 - 0.2126 * (1 - value),
1717        0.7152 - 0.7152 * (1 - value),
1718        0.0722 + 0.9278 * (1 - value),
1719      ]);
1720    }
1721  
1722    sepia(value = 1) {
1723      this.multiply([
1724        0.393 + 0.607 * (1 - value),
1725        0.769 - 0.769 * (1 - value),
1726        0.189 - 0.189 * (1 - value),
1727        0.349 - 0.349 * (1 - value),
1728        0.686 + 0.314 * (1 - value),
1729        0.168 - 0.168 * (1 - value),
1730        0.272 - 0.272 * (1 - value),
1731        0.534 - 0.534 * (1 - value),
1732        0.131 + 0.869 * (1 - value),
1733      ]);
1734    }
1735  
1736    saturate(value = 1) {
1737      this.multiply([
1738        0.213 + 0.787 * value,
1739        0.715 - 0.715 * value,
1740        0.072 - 0.072 * value,
1741        0.213 - 0.213 * value,
1742        0.715 + 0.285 * value,
1743        0.072 - 0.072 * value,
1744        0.213 - 0.213 * value,
1745        0.715 - 0.715 * value,
1746        0.072 + 0.928 * value,
1747      ]);
1748    }
1749  
1750    multiply(matrix) {
1751      const newR = this.clamp(this.r * matrix[0] + this.g * matrix[1] + this.b * matrix[2]);
1752      const newG = this.clamp(this.r * matrix[3] + this.g * matrix[4] + this.b * matrix[5]);
1753      const newB = this.clamp(this.r * matrix[6] + this.g * matrix[7] + this.b * matrix[8]);
1754      this.r = newR;
1755      this.g = newG;
1756      this.b = newB;
1757    }
1758  
1759    brightness(value = 1) {
1760      this.linear(value);
1761    }
1762    contrast(value = 1) {
1763      this.linear(value, -(0.5 * value) + 0.5);
1764    }
1765  
1766    linear(slope = 1, intercept = 0) {
1767      this.r = this.clamp(this.r * slope + intercept * 255);
1768      this.g = this.clamp(this.g * slope + intercept * 255);
1769      this.b = this.clamp(this.b * slope + intercept * 255);
1770    }
1771  
1772    invert(value = 1) {
1773      this.r = this.clamp((value + this.r / 255 * (1 - 2 * value)) * 255);
1774      this.g = this.clamp((value + this.g / 255 * (1 - 2 * value)) * 255);
1775      this.b = this.clamp((value + this.b / 255 * (1 - 2 * value)) * 255);
1776    }
1777  
1778    hsl() {
1779      // Code taken from https://stackoverflow.com/a/9493060/2688027, licensed under CC BY-SA.
1780      const r = this.r / 255;
1781      const g = this.g / 255;
1782      const b = this.b / 255;
1783      const max = Math.max(r, g, b);
1784      const min = Math.min(r, g, b);
1785      let h, s, l = (max + min) / 2;
1786  
1787      if (max === min) {
1788        h = s = 0;
1789      } else {
1790        const d = max - min;
1791        s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
1792        switch (max) {
1793          case r:
1794            h = (g - b) / d + (g < b ? 6 : 0);
1795            break;
1796  
1797          case g:
1798            h = (b - r) / d + 2;
1799            break;
1800  
1801          case b:
1802            h = (r - g) / d + 4;
1803            break;
1804        }
1805        h /= 6;
1806      }
1807  
1808      return {
1809        h: h * 100,
1810        s: s * 100,
1811        l: l * 100,
1812      };
1813    }
1814  
1815    clamp(value) {
1816      if (value > 255) {
1817        value = 255;
1818      } else if (value < 0) {
1819        value = 0;
1820      }
1821      return value;
1822    }
1823  }
1824  
1825  st.Solver = class Solver {
1826    constructor(target, baseColor) {
1827      this.target = target;
1828      this.targetHSL = target.hsl();
1829      this.reusedColor = new st.CustomColor(0, 0, 0);
1830    }
1831  
1832    solve() {
1833      const result = this.solveNarrow(this.solveWide());
1834      return {
1835        values: result.values,
1836        loss: result.loss,
1837        filter: this.css(result.values),
1838      };
1839    }
1840  
1841    solveWide() {
1842      const A = 5;
1843      const c = 15;
1844      const a = [60, 180, 18000, 600, 1.2, 1.2];
1845  
1846      let best = { loss: Infinity };
1847      for (let i = 0; best.loss > 25 && i < 3; i++) {
1848        const initial = [50, 20, 3750, 50, 100, 100];
1849        const result = this.spsa(A, a, c, initial, 1000);
1850        if (result.loss < best.loss) {
1851          best = result;
1852        }
1853      }
1854      return best;
1855    }
1856  
1857    solveNarrow(wide) {
1858      const A = wide.loss;
1859      const c = 2;
1860      const A1 = A + 1;
1861      const a = [0.25 * A1, 0.25 * A1, A1, 0.25 * A1, 0.2 * A1, 0.2 * A1];
1862      return this.spsa(A, a, c, wide.values, 500);
1863    }
1864  
1865    spsa(A, a, c, values, iters) {
1866      const alpha = 1;
1867      const gamma = 0.16666666666666666;
1868  
1869      let best = null;
1870      let bestLoss = Infinity;
1871      const deltas = new Array(6);
1872      const highArgs = new Array(6);
1873      const lowArgs = new Array(6);
1874  
1875      for (let k = 0; k < iters; k++) {
1876        const ck = c / Math.pow(k + 1, gamma);
1877        for (let i = 0; i < 6; i++) {
1878          deltas[i] = Math.random() > 0.5 ? 1 : -1;
1879          highArgs[i] = values[i] + ck * deltas[i];
1880          lowArgs[i] = values[i] - ck * deltas[i];
1881        }
1882  
1883        const lossDiff = this.loss(highArgs) - this.loss(lowArgs);
1884        for (let i = 0; i < 6; i++) {
1885          const g = lossDiff / (2 * ck) * deltas[i];
1886          const ak = a[i] / Math.pow(A + k + 1, alpha);
1887          values[i] = fix(values[i] - ak * g, i);
1888        }
1889  
1890        const loss = this.loss(values);
1891        if (loss < bestLoss) {
1892          best = values.slice(0);
1893          bestLoss = loss;
1894        }
1895      }
1896      return { values: best, loss: bestLoss };
1897  
1898      function fix(value, idx) {
1899        let max = 100;
1900        if (idx === 2 /* saturate */) {
1901          max = 7500;
1902        } else if (idx === 4 /* brightness */ || idx === 5 /* contrast */) {
1903          max = 200;
1904        }
1905  
1906        if (idx === 3 /* hue-rotate */) {
1907          if (value > max) {
1908            value %= max;
1909          } else if (value < 0) {
1910            value = max + value % max;
1911          }
1912        } else if (value < 0) {
1913          value = 0;
1914        } else if (value > max) {
1915          value = max;
1916        }
1917        return value;
1918      }
1919    }
1920  
1921    loss(filters) {
1922      // Argument is array of percentages.
1923      const color = this.reusedColor;
1924      color.set(0, 0, 0);
1925  
1926      color.invert(filters[0] / 100);
1927      color.sepia(filters[1] / 100);
1928      color.saturate(filters[2] / 100);
1929      color.hueRotate(filters[3] * 3.6);
1930      color.brightness(filters[4] / 100);
1931      color.contrast(filters[5] / 100);
1932  
1933      const colorHSL = color.hsl();
1934      return (
1935        Math.abs(color.r - this.target.r) +
1936        Math.abs(color.g - this.target.g) +
1937        Math.abs(color.b - this.target.b) +
1938        Math.abs(colorHSL.h - this.targetHSL.h) +
1939        Math.abs(colorHSL.s - this.targetHSL.s) +
1940        Math.abs(colorHSL.l - this.targetHSL.l)
1941      );
1942    }
1943  
1944    css(filters) {
1945      function fmt(idx, multiplier = 1) {
1946        if (idx == 0) {
1947          return Math.round(100 - (filters[idx] * multiplier))
1948        }
1949        return Math.round(filters[idx] * multiplier);
1950      }
1951      return `filter: invert(${fmt(0)}%) sepia(${fmt(1)}%) saturate(${fmt(2)}%) hue-rotate(${fmt(3, 3.6)}deg) brightness(${fmt(4)}%) contrast(${fmt(5)}%);`;
1952    }
1953  }
1954  
1955})();
1956
1957(function() {
1958  var st;
1959
1960  st = window.__sharethis__;
1961
1962  st.hexToRgb = function(hex) {
1963    var result, shorthandRegex;
1964    if (!hex) {
1965      return;
1966    }
1967    if (typeof hex !== 'string') {
1968      return 'Wrong type input';
1969    }
1970    shorthandRegex = /^#?([a-f\d])([a-f\d])([a-f\d])$/i;
1971    hex = hex.replace(shorthandRegex, (function(_this) {
1972      return function(m, r, g, b) {
1973        return r + r + g + g + b + b;
1974      };
1975    })(this));
1976    result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
1977    if (result) {
1978      return [parseInt(result[1], 16), parseInt(result[2], 16), parseInt(result[3], 16)];
1979    }
1980  };
1981
1982  st.getFilter = function(rgb_hex) {
1983    var color, result, rgb, solver;
1984    rgb = st.hexToRgb(rgb_hex);
1985    if (!rgb) {
1986      return 'Invalid hex';
1987    }
1988    if (rgb.length !== 3) {
1989      return 'Invalid hex format!';
1990    }
1991    color = new st.CustomColor(rgb[0], rgb[1], rgb[2]);
1992    solver = new st.Solver(color);
1993    result = solver.solve();
1994    return result.filter.split(': ')[1];
1995  };
1996
1997}).call(this);
1998
1999(function(a,b){window.__sharethis__.mobile = /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|
1999sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0,4))})(navigator.userAgent||navigator.vendor||window.opera);
2000
2001(function(){
2002  window.__sharethis__.is_ie = /(MSIE|Trident|Edge)/i.test(navigator.userAgent);
2003  window.__sharethis__.is_ie8 = /MSIE 8/i.test(navigator.userAgent);
2004})();
2005
2006/**
2007 * none: https://goop.com/wellness/
2008 * anchor.fm: https://www.podcastinsights.com/podcast-embed-players/
2009 * consensu.org:
2010 * embed.ly: https://embed.ly/code?url=http%3A%2F%2Fgoogle.com
2011 * gfycat: https://developers.gfycat.com/iframe/#gfycat-iframe
2012 * giphy: https://giphy.com/posts/how-to-embed-giphy-gifs-on-your-website
2013 * imgur: https://help.imgur.com/hc/en-us/articles/211273743-Embed-Unit
2014 * instagram: https://www.bbc.com/news/uk-wales-51311320
2015 * megaphone: https://www.podcastinsights.com/podcast-embed-players/
2016 * reddit: https://redditblog.com/2017/06/14/why-publishers-should-use-reddit-embeds/
2017 * redditmedia: https://redditblog.com/2017/06/14/why-publishers-should-use-reddit-embeds/
2018 * soundcloud: https://en.support.wordpress.com/soundcloud-audio-player/
2019 * spotify: https://www.usmagazine.com/entertainment/news/kim-kardashian-north-asks-if-she-can-visit-prisons-with-me/
2020 * tiktok: https://jezebel.com/15-tiktoks-that-deserve-academy-awards-1838371668
2021 * twitch: https://www.dexerto.com/entertainment/top-10-most-viewed-twitch-clips-of-all-time-2-310900
2022 * twitter: https://time.com/4128887/kobe-bryant-retirement-celebrities-reaction/
2023 * vimeo: https://vimeo.zendesk.com/hc/en-us/articles/224969968-Embedding-videos-overview
2024 * youtube: https://electricbikereview.com/gocycle/gs/
2025 */
2026
2027/**
2028 * anchor.fm
2029 * tags: iframe
2030 * format: anchor.fm/{content}/embed
2031 * suggestions: add requirement for iframe
2032 */
2033
2034/**
2035 * facebook.com
2036 * tags: iframe
2037 * format: facebook.com/plugins/{plugin_type}
2038 * exclude: /plugins/like, /plugins/page, /plugins/comment, /plugins/group, /plugins/follow, /plugins/customerchat, /plugins/messenger_checkbox, /plugins/send_to_messenger
2039 * require: /plugins/post, /plugins/video, /plugins/share_button
2040 * even though rhombus collects plugins/share_button i'm not sold we should, doesn't seem to embed to any outside content
2041 * suggestions: add requirement for iframe and update exclude/require statements
2042 */
2043
2044/**
2045 * gfycat.com
2046 * tags: iframe
2047 * format: gfycat.com/ifr
2048 * suggestions: add requirement for iframe
2049 */
2050
2051/**
2052 * giphy.com
2053 * tags: iframe
2054 * format: giphy.com/embed
2055 * questions: what happens when we remove the requirement for /embed and introduce a requirement for iframe?
2056 * suggestions: add requirement for iframe
2057 */
2058
2059/**
2060 * imgur.com
2061 * tags: iframe
2062 * format: imgur.com/{hash}/embed
2063 * suggestions: add requirement for iframe
2064 */
2065
2066/**
2067 * instagram.com
2068 * tags: iframe, blockquote
2069 * format: www.instagram.com/p
2070 * questions: what happens when we remove the requirement for /p and introduce a requirement for iframe and blockquote?
2071 * suggestions: add requirement for either iframe or blockquote
2072 */
2073
2074/**
2075 * megaphone.fm
2076 * tags: iframe
2077 * format: player.megaphone.fm
2078 * questions: what happens when we remove the requirement for player and introduce a requirement for iframe?
2079 * suggestions: add requirement for iframe
2080 */
2081
2082/**
2083 * redditmedia.com
2084 * it's difficult to find any records with redditmedia.com embeds
2085 * we may want to remove the requirment for /r and also look for reddit.com
2086 * suggestions: add requirement for iframe, remove requirement for /r
2087 */
2088
2089/**
2090 * soundcloud.com
2091 * tags: iframe
2092 * format: w.soundcloud.com/player
2093 * questions: whats happens when we remove the requirement for /player and introduce a requirement for iframe?
2094 * suggestions: add requirement for iframe
2095 */
2096
2097/**
2098 * spotify.com
2099 * tags: iframe
2100 * format: open.spotify.com/{endpoint}
2101 * exlude: /follow
2102 * require: /embed
2103 * suggestions: add requirement for iframe and update exclude/require statements
2104 */
2105
2106/**
2107 * tiktok.com
2108 * tags: iframe
2109 * format: tiktok.com/embed/
2110 * questions: what happens when we remove the requirement for /embed and introduce a requirement for iframe?
2111 * suggestions: add requirement for iframe
2112 */
2113
2114/**
2115 * twitch.tv
2116 * tags: iframe
2117 * format: clips.twitch.tv/embed
2118 * questions: what happens when we remove the requirement for clips and introduce a requirement for iframe?
2119 * suggestions: add requirement for iframe
2120 */
2121
2122/**
2123 * twitter.com
2124 * tags: div, blockquote
2125 * format: twitter.com/{user}/status
2126 * questions: this one is difficult because twitter doesn't use iframes (at least in the data we collected)
2127 * questions: it looks like for every embed we pull identical srcs from a div and blockquote
2128 * questions: we probably only need to pull just div
2129 * questions: what happens when we remove the /status requirement?
2130 * suggestions: add requirement for div
2131 */
2132
2133/**
2134 * vimeo.com
2135 * tags: iframe
2136 * format: player.vimeo.com/video
2137 * questions: what happens when we remove the player requirement and introduce a requirement for iframe?
2138 * suggestions: add requirement for iframe
2139 */
2140
2141/**
2142 * youtube.com
2143 * tags: iframe
2144 * format: youtube.com/embed
2145 * questions: what happens when we remove the requirement for /embed and introduce a requirement for iframe?
2146 * suggestions: add requirement for iframe
2147 */
2148
2149// service list
2150var st = window.__sharethis__ || {};
2151st.getEmbeds = function (next) {
2152
2153  var selectors = [
2154    '.embed-twitter',
2155    '.embedly-card',
2156    '.fb-post',
2157    '.fb-video',
2158    '.instagram-media',
2159    '.reddit',
2160    '.reddit-card',
2161    '.rm-shortcode',
2162    '.spotify',
2163    '.tumblr-embed',
2164    '.twitter-embed',
2165    '.twitter-follow',
2166    '.twitter-tweet',
2167    '.twitter-video',
2168    '.twitter-widget',
2169    'embed',
2170    'iframe',
2171    '[class^="PIN"]'
2172  ];
2173
2174  var config = [
2175    { type: "audio", url: "anchor.fm" },
2176    { type: "audio", url: "open.spotify.com/embed" },
2177    { type: "audio", url: "player.megaphone.fm" },
2178    { type: "audio", url: "playlist.megaphone.fm" },
2179    { type: "audio", url: "w.soundcloud.com" },
2180    { type: "image", url: "gfycat.com" },
2181    { type: "image", url: "giphy.com/embed" },
2182    { type: "image", url: "imgur.com" },
2183    { type: "image", url: /(pinterest.com\/pin\/\d+\/)(?!.\S)/, span: true },
2184    { type: "post", url: "facebook.com/plugins/post" },
2185    { type: "post", url: "instagram.com/p", blockquote: true },
2186    { type: "post", url: "linkedin.com/embed" },
2187    { type: "post", url: "embed.tumblr.com/embed/post" },
2188    { type: "post", url: /twitter.com\/.*\/status\/[0-9]+$/, blockquote: true },
2189    { type: "video", url: /facebook.com\/.[^\/]*\/plugins\/video/ },
2190    { type: "video", url: "facebook.com/plugins/video" },
2191    { type: "video", url: /tiktok.com\/.[^\/]*\/video/, blockquote: true },
2192    { type: "video", url: "player.vimeo.com" },
2193    { type: "video", url: "youtube.com/embed" },
2194    { type: "video", url: "clips.twitch.tv" },
2195    { type: "video", url: "player.twitch.tv" }
2196  ];
2197
2198  var sources = [
2199    'cite',
2200    'data-click-to-open-target',
2201    'data-href',
2202    'data-instgrm-permalink',
2203    'data-lazy-src',
2204    'data-permalink',
2205    'data-pin-href',
2206    'data-src',
2207    'data-src-2x',
2208    'href',
2209    'src'
2210  ];
2211
2212  // returns false if element is not an embed
2213  function getEmbedRule(tag, url) {
2214    // ensure the url has a proper prefix
2215    if (url.indexOf('http') != 0 && url.indexOf('//') != 0) {
2216      return false;
2217    }
2218    for (var i in config) {
2219      var rule = config[i];
2220      var match = url.match(rule.url);
2221      if (match && match.length) {
2222        if (tag == 'iframe' || rule[tag]) {
2223          return rule;
2224        }
2225        return false;
2226      }
2227    }
2228    return false;
2229  }
2230
2231  // find elements
2232  var embeds = {};
2233  var embed_els = document.querySelectorAll(selectors.join(','));
2234  for (var i = 0; i < embed_els.length; i++) {
2235    var embed_el = embed_els[i];
2236    try {
2237      var container = embed_el.shadowRoot || embed_el.parentElement;
2238      // find a valid url
2239      for (var j = 0; j < sources.length; j++) {
2240        var source = sources[j];
2241        var source_els = container.querySelectorAll("[" + source + "]");
2242        for (var k = 0; k < source_els.length; k++) {
2243          var source_el = source_els[k];
2244          var tag = source_el.tagName.toLowerCase();
2245          if (tag == 'iframe' || tag == 'blockquote' || tag == 'span') {
2246            var url = source_el.getAttribute(source);
2247            var rule = getEmbedRule(tag, url);
2248            if (rule) {
2249              if (url[url.length - 1] == '/') {
2250                url = url.substring(0, url.length - 1);
2251              }
2252              embeds[url] = { el: source_el, type: rule.type };
2253            }
2254          }
2255        }
2256      }
2257    }
2258    catch (err) {
2259    }
2260  }
2261
2262  // gather output
2263  var result = [];
2264  for (var url in embeds) {
2265    if (next) {
2266      next(embeds[url].el, embeds[url].type, url);
2267    }
2268    result.push(url);
2269  }
2270
2271  return result;
2272}
2273st.embeds = st.getEmbeds();
2274
2275(function() {
2276  window.__sharethis__.COLORS = {
2277    airbnb: '#FF5A5F',
2278    amazon: '#FFB300',
2279    bandcamp: '#1ca0c3',
2280    behance: '#135bf3',
2281    bitbucket: '#2584ff',
2282    blogger: '#ff8000',
2283    blm: '#000000',
2284    bluesky: '#097AFE',
2285    buffer: '#323B43',
2286    copy: '#14682B',
2287    delicious: '#205cc0',
2288    deviantart: '#21ce4e',
2289    diaspora: '#000000',
2290    discord: "#8c9eff",
2291    digg: '#262626',
2292    diigo: '#5285c4',
2293    douban: '#2E963D',
2294    dribbble: '#e44786',
2295    email: '#7d7d7d',
2296    evernote: '#5BA525',
2297    etsy: '#E67E22',
2298    facebook: '#4267B2',
2299    fark: '#6a6a9c',
2300    flickr: '#ff0084',
2301    flipboard: '#e12828',
2302    foursquare: '#0732A2',
2303    gab: '#1acf79',
2304    getpocket: '#ef4056',
2305    gitlab: '#ff492c',
2306    gmail: '#D44638',
2307    goodreads: '#382110',
2308    googlebookmarks: '#4285F4',
2309    googlemaps: '#4185f3',
2310    github: '#333333',
2311    hackernews: '#ff4000',
2312    houzz: '#4DBC15',
2313    instagram: '#bc2a8d',
2314    instapaper: '#000000',
2315    iorbix: '#364447',
2316    kakao: '#F9DD4A',
2317    kindleit: '#363C3D',
2318    kooapp: '#FACD00',
2319    line: '#00c300',
2320    linkedin: '#0077b5',
2321    livejournal: '#00b0ea',
2322    mailru: '#168de2',
2323    medium: '#333333',
2324    meetup: '#e61b3e',
2325    meneame: '#ff6400',
2326    messenger: '#448AFF',
2327    microsoftteams: '#515bc1',
2328    mix: '#ff8226',
2329    naver: '#07bc5e',
2330    nextdoor: '#8ed500',
2331    odnoklassniki: '#d7772d',
2332    outlook: '#3070CB',
2333    patreon: '#F96854',
2334    pinboard: '#1f36f2',
2335    pinterest: '#CB2027',
2336    plurk: '#FF574D',
2337    print: '#222222',
2338    qzone: '#F1C40F',
2339    quora: '#a62100',
2340    refind: '#4286f4',
2341    reddit: '#ff4500',
2342    renren: '#005baa',
2343    sharethis: '#95D03A',
2344    shares: '#0eb2b2',
2345    skype: '#00aff0',
2346    sms: '#ffbd00',
2347    snapchat: '#fffc00',
2348    slideshare: '#057eb0',
2349    soundcloud: '#ff8800',
2350    spotify: '#1ED760',
2351    stackoverflow: '#c66516',
2352    surfingbird: '#6dd3ff',
2353    telegram: '#0088cc',
2354    tencentqq: '#5790F7',
2355    threads: '#000000',
2356    threema: '#000000',
2357    trello: '#0D63DE',
2358    tiktok: '#4c4c4c',
2359    tripadvisor: '#1ABC9C',
2360    tumblr: '#32506d',
2361    twitch: '#6441A4',
2362    twitter: '#000000',
2363    vk: '#4c6c91',
2364    viber: '#645EA4',
2365    vimeo: '#29B6F6',
2366    wechat: '#4EC034',
2367    weibo: '#ff9933',
2368    whatsapp: '#25d366',
2369    wordpress: '#21759b',
2370    xing: '#1a7576',
2371    yelp: '#d32323',
2372    youtube: '#FF0000',
2373    yahoomail: '#720e9e',
2374    yummly: '#E16120',
2375    zillow: '#006aff',
2376    zomato: '#e23844'
2377  };
2378
2379}).call(this);
2380
2381(function() {
2382  window.__sharethis__.PRODUCTS = ['custom-share-buttons', 'ecommerce', 'email-list-builder', 'ga', 'gdpr-compliance-tool', 'gdpr-compliance-tool-v2', 'image-share-buttons', 'image-share-buttons-wp', 'inline-follow-buttons', 'inline-reaction-buttons', 'inline-share-buttons', 'inline-share-buttons-wp', 'powr-form-builder', 'powr-popup', 'powr-social-feed', 'privacy-policy-generator', 'privy-share-buttons', 'reviews', 'sop', 'sop-wordpress-plugin', 'sticky-share-buttons', 'sticky-share-buttons-wp', 'top-content', 'unknown', 'video-share-buttons', 'viral-notifications'];
2383
2384}).call(this);
2385
2386(function() {
2387  var st;
2388
2389  st = window.__sharethis__;
2390
2391  st.i18n = {
2392    'angry': {
2393      de: 'wütend',
2394      en: 'angry',
2395      es: 'me enoja',
2396      fr: 'grrr',
2397      it: 'grrr',
2398      ja: 'ひどいね',
2399      ko: '화나요',
2400      pt: 'ira',
2401      ru: 'bозмутительно',
2402      zh: '怒'
2403    },
2404    'Support BLM': {
2405      de: 'Steun BLM',
2406      en: 'Support BLM',
2407      es: 'Subtenu BLM',
2408      fr: 'Soutenir BLM',
2409      it: 'Supporta BLM',
2410      ja: 'BLMをサポート',
2411      ko: 'BLM 지원',
2412      pt: 'Suporte BLM',
2413      ru: 'Поддержка BLM',
2414      zh: '支持BLM',
2415      nl: 'Steun BLM',
2416      ar: 'تبرع لصالح BLM',
2417      bn: 'BLM কে সাপোর্ট করুন',
2418      hi: 'बीएलएम को सहयोग',
2419      tr: 'BLM yi Destekle',
2420      vi: 'Ủng hộ BLM'
2421    },
2422    'bookmark': {
2423      de: 'lesezeichen',
2424      en: 'mark',
2425      es: 'marcador',
2426      fr: 'signet',
2427      it: 'segnalibro',
2428      ja: 'しおり',
2429      ko: '서표',
2430      pt: 'marca páginas',
2431      ru: 'закладка',
2432      zh: '书签',
2433      nl: 'Markeer',
2434      ar: 'تثبيت',
2435      bn: 'মার্ক',
2436      hi: 'मार्क',
2437      tr: 'İşaretle',
2438      vi: 'Đánh dấu'
2439    },
2440    'email': {
2441      de: 'emailen',
2442      en: 'email',
2443      es: 'correo electrónico',
2444      fr: 'email',
2445      it: 'e-mail',
2446      ja: 'Eメール',
2447      ko: '이메일',
2448      pt: 'o email',
2449      ru: 'Эл. адрес',
2450      zh: '电子邮件',
2451      nl: 'E-mail',
2452      ar: 'إرسال',
2453      bn: 'ইমেল',
2454      hi: 'ईमेल',
2455      tr: 'E-posta',
2456      vi: 'Email'
2457    },
2458    'flip': {
2459      de: 'flip',
2460      en: 'flip',
2461      es: 'Flipear',
2462      fr: 'Ajouter',
2463      it: 'Flip',
2464      ja: 'フリップ',
2465      ko: '공유하기',
2466      pt: 'partilhar',
2467      ru: 'Флипнуть',
2468      zh: '翻转',
2469      nl: 'Flip',
2470      ar: 'تغيير',
2471      bn: 'ওল্টান',
2472      hi: 'फ़्लिप',
2473      tr: 'Döndür',
2474      vi: 'Lật'
2475    },
2476    'gmail': {
2477      de: 'emailen',
2478      en: 'email',
2479      es: 'correo electrónico',
2480      fr: 'email',
2481      it: 'e-mail',
2482      ja: 'Eメール',
2483      ko: '이메일',
2484      pt: 'o email',
2485      ru: 'Эл. адрес',
2486      zh: '电子邮件'
2487    },
2488    'like': {
2489      de: 'mögen',
2490      en: 'like',
2491      es: 'me gusta',
2492      fr: "j'aime",
2493      it: 'mi piace',
2494      ja: 'いいね!',
2495      ko: '좋아요',
2496      pt: 'gosto',
2497      ru: 'hравится',
2498      zh: '赞'
2499    },
2500    'lol': {
2501      de: 'lol',
2502      en: 'lol',
2503      es: 'me divierte',
2504      fr: 'haha',
2505      it: 'ahah',
2506      ja: 'うけるね',
2507      ko: '웃겨요',
2508      pt: 'riso',
2509      ru: 'xа-ха',
2510      zh: '笑趴'
2511    },
2512    'love': {
2513      de: 'lieben',
2514      en: 'love',
2515      es: 'me encanta',
2516      fr: "j’adore",
2517      it: 'love',
2518      ja: '超いいね!',
2519      ko: '최고예요',
2520      pt: 'adoro',
2521      ru: 'cупер',
2522      zh: '大爱'
2523    },
2524    'pin': {
2525      de: 'pin',
2526      en: 'pin',
2527      es: 'pin',
2528      fr: 'épingle',
2529      it: 'pin',
2530      ja: 'ピン',
2531      ko: '핀',
2532      pt: 'pin',
2533      ru: 'Пин',
2534      zh: '针',
2535      nl: 'Pin',
2536      ar: 'بنترست',
2537      bn: 'পিন',
2538      hi: 'पिन',
2539      tr: 'Pinle',
2540      vi: 'Ghim'
2541    },
2542    'print': {
2543      de: 'drucken',
2544      en: 'print',
2545      es: 'impresión',
2546      fr: 'mpression',
2547      it: 'stampa',
2548      ja: 'プリント',
2549      ko: '인쇄',
2550      pt: 'impressão',
2551      ru: 'Распечатать',
2552      zh: '打印',
2553      nl: 'Print',
2554      ar: 'طباعة',
2555      bn: 'প্রিন্ট করুন',
2556      hi: 'प्रिंट',
2557      tr: 'Yazdır',
2558      vi: 'In'
2559    },
2560    'sad': {
2561      de: 'traurig',
2562      en: 'sad',
2563      es: 'me entristece',
2564      fr: 'triste',
2565      it: 'sigh',
2566      ja: '悲しいね',
2567      ko: '슬퍼요',
2568      pt: 'tristeza',
2569      ru: 'cочувствую',
2570      zh: '心碎'
2571    },
2572    'send message': {
2573      zh: '发信息'
2574    },
2575    'share': {
2576      de: 'teilen',
2577      en: 'share',
2578      es: 'compartir',
2579      fr: 'partager',
2580      it: 'condividi',
2581      ja: 'シェアする',
2582      ko: '공유하기',
2583      pt: 'partilhar',
2584      ru: 'Поделиться',
2585      zh: '分享',
2586      nl: 'Deel',
2587      ar: 'مشاركة',
2588      bn: 'শেয়ার',
2589      hi: 'शेयर',
2590      tr: 'Paylaş',
2591      vi: 'Chia sẻ'
2592    },
2593    'shares': {
2594      de: 'teilen',
2595      en: 'shares',
2596      es: 'veces compartido',
2597      fr: 'partages',
2598      it: 'condivisioni',
2599      ja: 'シェア数',
2600      ko: '재생회',
2601      pt: 'partilhas',
2602      ru: 'Перепосты',
2603      zh: '次转发',
2604      nl: 'Deel',
2605      ar: 'مشاركة',
2606      bn: 'শেয়ার',
2607      hi: 'शेयर',
2608      tr: 'Paylaş',
2609      vi: 'Chia sẻ'
2610    },
2611    'snapchat': {
2612      de: 'schnappen',
2613      en: 'snap',
2614      es: 'quebrar',
2615      fr: 'se casser',
2616      it: 'affrettato',
2617      ja: 'スナップ',
2618      ko: '스냅',
2619      pt: 'foto',
2620      ru: 'щелчок',
2621      zh: '快照',
2622      nl: 'snap',
2623      ar: 'يفرقع، ينفجر',
2624      bn: 'аснастка',
2625      hi: 'चटकाना',
2626      tr: 'patlatmak',
2627      vi: 'búng tay'
2628    },
2629    'sticky-width': {
2630      de: 120,
2631      en: 120,
2632      es: 140,
2633      fr: 130,
2634      it: 140,
2635      ja: 160,
2636      ko: 120,
2637      pt: 130,
2638      ru: 160,
2639      zh: 120
2640    },
2641    'subjects': {
2642      'en': "I'd like to share a link with you",
2643      'es': "Me gustaría compartir este enlace contigo",
2644      'ru': "Я хотел бы поделиться с вами ссылкой",
2645      'zh': "我想和你分享一个信息"
2646    },
2647    'tweet': {
2648      de: 'tweeten',
2649      en: 'tweet',
2650      es: 'twittear',
2651      fr: 'tweeter',
2652      it: 'twittare',
2653      ja: 'ツイートする',
2654      ko: '트윗하기',
2655      pt: 'tweetar',
2656      ru: 'tвитнуть',
2657      zh: '发推',
2658      nl: 'Tweet',
2659      ar: 'تويتر',
2660      bn: 'টুইট',
2661      hi: 'ट्वीट',
2662      tr: 'Tweet',
2663      vi: 'Tweet'
2664    },
2665    'wow': {
2666      de: 'wow',
2667      en: 'wow',
2668      es: 'me asombra',
2669      fr: 'wouah',
2670      it: 'wow',
2671      ja: 'すごいね',
2672      ko: '멋져요',
2673      pt: 'surpresa',
2674      ru: 'yх ты!',
2675      zh: '哇'
2676    },
2677    'yahoomail': {
2678      de: 'emailen',
2679      en: 'email',
2680      es: 'correo electrónico',
2681      fr: 'email',
2682      it: 'e-mail',
2683      ja: 'Eメール',
2684      ko: '이메일',
2685      pt: 'o email',
2686      ru: 'Эл. адрес',
2687      zh: '电子邮件'
2688    }
2689  };
2690
2691}).call(this);
2692
2693(function() {
2694  var img, is_ie8;
2695
2696  img = window.__sharethis__.img;
2697
2698  is_ie8 = /MSIE 8.0/.test(navigator.userAgent);
2699
2700  window.__sharethis__.cdn = 'https://platform-cdn.sharethis.com';
2701
2702  window.__sharethis__.ICONS = {
2703    airbnb: img('airbnb.svg'),
2704    amazon: img('amazon.svg'),
2705    arrow_left: img('arrow_left.svg'),
2706    arrow_right: img('arrow_right.svg'),
2707    bandcamp: img('bandcamp.svg'),
2708    behance: img('behance.svg'),
2709    blogger: img('blogger.svg'),
2710    blm: img('blm.svg'),
2711    bluesky: img('bluesky.svg'),
2712    bitbucket: img('bitbucket.svg'),
2713    buffer: img('buffer.svg'),
2714    close: img('close.svg'),
2715    copy: img('copy.svg'),
2716    delicious: img('delicious.svg'),
2717    deviantart: img('deviantart.svg'),
2718    diaspora: img('diaspora.svg'),
2719    digg: img('digg.svg'),
2720    diigo: img('diigo.svg'),
2721    discord: img('discord.svg'),
2722    douban: img('douban.svg'),
2723    dribbble: img('dribbble.svg'),
2724    email: img('email.svg'),
2725    evernote: img('evernote.svg'),
2726    etsy: img('etsy.svg'),
2727    facebook: img('facebook.svg'),
2728    fark: img('fark.svg'),
2729    flickr: img('flickr.svg'),
2730    flipboard: img('flipboard.svg'),
2731    gab: img('gab.svg'),
2732    getpocket: img('pocket.svg'),
2733    github: img('github.svg'),
2734    gitlab: img('gitlab.svg'),
2735    gmail: img('gmail.svg'),
2736    googlebookmarks: img('googlebookmarks.svg'),
2737    googlemaps: img('googlemaps.svg'),
2738    hackernews: img('hackernews.svg'),
2739    houzz: img('houzz.svg'),
2740    instagram: img('instagram.svg'),
2741    instapaper: img('instapaper.svg'),
2742    iorbix: img('iorbix.svg'),
2743    kakao: img('kakao.svg'),
2744    kindleit: img('kindleit.svg'),
2745    kooapp: img('kooapp.svg'),
2746    line: img('line.svg'),
2747    linkedin: img('linkedin.svg'),
2748    livejournal: img('livejournal.svg'),
2749    mailru: img('mailru.svg'),
2750    medium: img('medium.svg'),
2751    meneame: img('meneame.svg'),
2752    messenger: img('messenger.svg'),
2753    meetup: img('meetup.svg'),
2754    microsoftteams: img('microsoftteams.svg'),
2755    mix: img('mix.svg'),
2756    naver: img('naver.svg'),
2757    nextdoor: img('nextdoor.svg'),
2758    odnoklassniki: img('odnoklassniki.svg'),
2759    outlook: img('outlook.svg'),
2760    patreon: img('patreon.svg'),
2761    pinboard: img('pinboard.svg'),
2762    pinterest: img('pinterest.svg'),
2763    plurk: img('plurk.svg'),
2764    print: img('print.svg'),
2765    quora: img('quora.svg'),
2766    qzone: img('qzone.svg'),
2767    reddit: img('reddit.svg'),
2768    refind: img('refind.svg'),
2769    renren: img('renren.svg'),
2770    sharethis: img('sharethis.svg'),
2771    skype: img('skype.svg'),
2772    slideshare: img('slideshare.svg'),
2773    sms: img('sms.svg'),
2774    snapchat: img('snapchat.svg'),
2775    soundcloud: img('soundcloud.svg'),
2776    spotify: img('spotify.svg'),
2777    stackoverflow: img('stackoverflow.svg'),
2778    surfingbird: img('surfingbird.svg'),
2779    telegram: img('telegram.svg'),
2780    tencentqq: img('tencentqq.svg'),
2781    threads: img('threads.svg'),
2782    threema: img('threema.svg'),
2783    trello: img('trello.svg'),
2784    tiktok: img('tiktok.svg'),
2785    tripadvisor: img('tripadvisor.svg'),
2786    tumblr: img('tumblr.svg'),
2787    twitch: img('twitch.svg'),
2788    twitter: img('twitter.svg'),
2789    vk: img('vk.svg'),
2790    viber: img('viber.svg'),
2791    vimeo: img('vimeo.svg'),
2792    wechat: img('wechat.svg'),
2793    weibo: img('weibo.svg'),
2794    whatsapp: img('whatsapp.svg'),
2795    wordpress: img('wordpress.svg'),
2796    xing: img('xing.svg'),
2797    yahoomail: img('yahoomail.svg'),
2798    yelp: img('yelp.svg'),
2799    youtube: img('youtube.svg'),
2800    yummly: img('yummly.svg'),
2801    zillow: img('zillow.svg'),
2802    zomato: img('zomato.svg')
2803  };
2804
2805  window.__sharethis__.ICONS_WHITE = {
2806    airbnb: img('airbnb-white.svg'),
2807    amazon: img('amazon-white.svg'),
2808    bandcamp: img('bandcamp-white.svg'),
2809    behance: img('behance-white.svg'),
2810    blogger: img('blogger-white.svg'),
2811    blm: img('blm-white.svg'),
2812    bluesky: img('bluesky-white.svg'),
2813    bitbucket: img('bitbucket-white.svg'),
2814    buffer: img('buffer-white.svg'),
2815    copy: img('copy-white.svg'),
2816    delicious: img('delicious-white.svg'),
2817    deviantart: img('deviantart-white.svg'),
2818    diaspora: img('diaspora-white.svg'),
2819    digg: img('digg-white.svg'),
2820    diigo: img('diigo-white.svg'),
2821    discord: img('discord-white.svg'),
2822    douban: img('douban-white.svg'),
2823    dribbble: img('dribbble-white.svg'),
2824    email: img('email-white.svg'),
2825    etsy: img('etsy-white.svg'),
2826    evernote: img('evernote-white.svg'),
2827    facebook: img('facebook-white.svg'),
2828    fark: img('fark-white.svg'),
2829    flickr: img('flickr-white.svg'),
2830    flipboard: img('flipboard-white.svg'),
2831    gab: img('gab-white.svg'),
2832    getpocket: img('pocket-white.svg'),
2833    github: img('github-white.svg'),
2834    gitlab: img('gitlab-white.svg'),
2835    gmail: img('gmail-white.svg'),
2836    googlebookmarks: img('googlebookmarks-white.svg'),
2837    googlemaps: img('googlemaps-white.svg'),
2838    hackernews: img('hackernews-white.svg'),
2839    houzz: img('houzz-white.svg'),
2840    instagram: img('instagram-white.svg'),
2841    instapaper: img('instapaper-white.svg'),
2842    iorbix: img('iorbix-white.svg'),
2843    kakao: img('kakao-white.svg'),
2844    kindleit: img('kindleit-white.svg'),
2845    kooapp: img('kooapp-white.svg'),
2846    line: img('line-white.svg'),
2847    linkedin: img('linkedin-white.svg'),
2848    livejournal: img('livejournal-white.svg'),
2849    mailru: img('mailru-white.svg'),
2850    medium: img('medium-white.svg'),
2851    meetup: img('meetup-white.svg'),
2852    meneame: img('meneame-white.svg'),
2853    messenger: img('messenger-white.svg'),
2854    microsoftteams: img('microsoftteams-white.svg'),
2855    mix: img('mix-white.svg'),
2856    naver: img('naver-white.svg'),
2857    nextdoor: img('nextdoor-white.svg'),
2858    odnoklassniki: img('odnoklassniki-white.svg'),
2859    outlook: img('outlook-white.svg'),
2860    patreon: img('patreon-white.svg'),
2861    pinboard: img('pinboard-white.svg'),
2862    pinterest: img('pinterest-white.svg'),
2863    plurk: img('plurk-white.svg'),
2864    print: img('print-white.svg'),
2865    quora: img('quora-white.svg'),
2866    qzone: img('qzone-white.svg'),
2867    reddit: img('reddit-white.svg'),
2868    refind: img('refind-white.svg'),
2869    renren: img('renren-white.svg'),
2870    sharethis: img('sharethis-white.svg'),
2871    skype: img('skype-white.svg'),
2872    slideshare: img('slideshare-white.svg'),
2873    sms: img('sms-white.svg'),
2874    snapchat: img('snapchat-white.svg'),
2875    soundcloud: img('soundcloud-white.svg'),
2876    spotify: img('spotify-white.svg'),
2877    stackoverflow: img('stackoverflow-white.svg'),
2878    surfingbird: img('surfingbird-white.svg'),
2879    telegram: img('telegram-white.svg'),
2880    telegram: img('telegram-white.svg'),
2881    tencentqq: img('tencentqq-white.svg'),
2882    threads: img('threads-white.svg'),
2883    threema: img('threema-white.svg'),
2884    trello: img('trello-white.svg'),
2885    tiktok: img('tiktok-white.svg'),
2886    tripadvisor: img('tripadvisor-white.svg'),
2887    tumblr: img('tumblr-white.svg'),
2888    twitch: img('twitch-white.svg'),
2889    twitter: img('twitter-white.svg'),
2890    vk: img('vk-white.svg'),
2891    viber: img('viber-white.svg'),
2892    vimeo: img('vimeo-white.svg'),
2893    wechat: img('wechat-white.svg'),
2894    weibo: img('weibo-white.svg'),
2895    whatsapp: img('whatsapp-white.svg'),
2896    wordpress: img('wordpress-white.svg'),
2897    xing: img('xing-white.svg'),
2898    yahoomail: img('yahoomail-white.svg'),
2899    ycombinator: img('ycombinator-white.svg'),
2900    yelp: img('yelp-white.svg'),
2901    youtube: img('youtube-white.svg'),
2902    yummly: img('yummly-white.svg'),
2903    zillow: img('zillow-white.svg'),
2904    zomato: img('zomato-white.svg')
2905  };
2906
2907  if (is_ie8) {
2908    window.__sharethis__.ICONS = {
2909      arrow_left: img('left-arrow.png'),
2910      arrow_right: img('right-arrow.png'),
2911      blogger: img('blogger.png'),
2912      bluesky: img('bluesky.png'),
2913      delicious: img('delicious.png'),
2914      digg: img('digg.png'),
2915      email: img('email.png'),
2916      facebook: img('facebook.png'),
2917      flipboard: img('flipboard.png'),
2918      linkedin: img('linkedin.png'),
2919      livejournal: img('livejournal.png'),
2920      mailru: img('mailru.png'),
2921      meneame: img('mename.png'),
2922      odnoklassniki: img('odnoklassniki.png'),
2923      pinterest: img('pinterest.png'),
2924      print: img('print.png'),
2925      reddit: img('reddit.png'),
2926      sharethis: img('sharethis.png'),
2927      sms: img('sms.png'),
2928      tumblr: img('tumblr.png'),
2929      twitter: img('twitter.png'),
2930      vk: img('vk.png'),
2931      weibo: img('weibo.png'),
2932      whatsapp: img('whatsapp.png'),
2933      xing: img('xing.png'),
2934      wechat: img('wechat.png')
2935    };
2936  }
2937
2938}).call(this);
2939
2940(function() {
2941  var st;
2942
2943  st = window.__sharethis__;
2944
2945  st.networks = ['airbnb', 'amazon', 'blogger', 'blm', 'bluesky', 'buffer', 'copy', 'diaspora', 'diigo', 'digg', 'discord', 'douban', 'email', 'evernote', 'etsy', 'facebook', 'fark', 'flipboard', 'foursquare', 'gab', 'getpocket', 'github', 'gmail', 'googlebookmarks', 'hackernews', 'houzz', 'instapaper', 'iorbix', 'kakao', 'kindleit', 'kooapp', 'line', 'linkedin', 'livejournal', 'mailru', 'meneame', 'messenger', 'microsoftteams', 'naver', 'nextdoor', 'odnoklassniki', 'outlook', 'pinboard', 'pinterest', 'plurk', 'print', 'qzone', 'reddit', 'refind', 'renren', 'sharethis', 'skype', 'sms', 'snapchat', 'surfingbird', 'telegram', 'tencentqq', 'threads', 'threema', 'tiktok', 'trello', 'tripadvisor', 'tumblr', 'twitter', 'vk', 'viber', 'vimeo', 'wechat', 'weibo', 'whatsapp', 'wordpress', 'xing', 'yahoomail', 'yummly', 'zillow'];
2946
2947  st.shareNetworks = ['blm', 'blogger', 'bluesky', 'buffer', 'copy', 'diaspora', 'digg', 'diigo', 'douban', 'email', 'evernote', 'facebook', 'fark', 'flipboard', 'gab', 'getpocket', 'gmail', 'googlebookmarks', 'hackernews', 'houzz', 'instapaper', 'iorbix', 'kakao', 'kindleit', 'kooapp', 'line', 'linkedin', 'livejournal', 'mailru', 'meneame', 'messenger', 'microsoftteam
2947s', 'naver', 'nextdoor', 'odnoklassniki', 'outlook', 'pinboard', 'pinterest', 'plurk', 'print', 'qzone', 'reddit', 'refind', 'renren', 'sharethis', 'skype', 'sms', 'surfingbird', 'telegram', 'tencentqq', 'threema', 'trello', 'tumblr', 'twitter', 'vk', 'viber', 'wechat', 'weibo', 'whatsapp', 'wordpress', 'xing', 'yahoomail', 'yummly'];
2948
2949  st.followNetworks = ['airbnb', 'amazon', 'bandcamp', 'behance', 'bitbucket', 'blogger', 'bluesky', 'deviantart', 'digg', 'discord', 'dribbble', 'etsy', 'facebook', 'flickr', 'flipboard', 'foursquare', 'github', 'gitlab', 'goodreads', 'googlemaps', 'houzz', 'instagram', 'linkedin', 'medium', 'meetup', 'messenger', 'mix', 'odnoklassniki', 'patreon', 'pinterest', 'quora', 'reddit', 'shares', 'skype', 'slideshare', 'snapchat', 'soundcloud', 'spotify', 'stackoverflow', 'telegram', 'threads', 'tiktok', 'trello', 'tripadvisor', 'tumblr', 'twitch', 'twitter', 'vimeo', 'vk', 'wechat', 'weibo', 'whatsapp', 'xing', 'yelp', 'youtube', 'zillow', 'zomato'];
2950
2951}).call(this);
2952
2953(function() {
2954  var st;
2955
2956  st = window.__sharethis__;
2957
2958  st.loader['share-all'] = function(config) {
2959    var $backdrop, $button, $buttons, $close, $el, common_css, count_url, css, description, html, i, id, image, j, len, len1, logo_link, message, network, network_css, ref, ref1, share_url, src, title, url, username;
2960    if (config == null) {
2961      config = {};
2962    }
2963    count_url = config.count_url, share_url = config.share_url, url = config.url, description = config.description, image = config.image, message = config.message, network = config.network, title = config.title, username = config.username;
2964    ref = st.newElement(), $el = ref.$el, id = ref.id;
2965    st.addClass($el, 'st-hidden');
2966    common_css = "body.st-body-no-scroll {\n  bottom: 0;\n  left: 0;\n  overflow: hidden;\n  position: fixed;\n  right: 0;\n  top: 0;\n}\n#" + id + " {\n  " + st.FONT_FAMILY + "\n  " + (st.TRANSITION()) + "\n  height: 100%;\n  left: 0;\n  opacity: 1;\n  position: fixed;\n  top: 0;\n  width: 100%;\n  z-index: 99999;\n}\n#" + id + ".st-hidden {\n  opacity: 0;\n  top: 100%;\n}\n#" + id + " .st-backdrop {\n  background: rgba(0, 0, 0, 0.8);\n  bottom: 0;\n  left: 0;\n  position: absolute;\n  right: 0;\n  top: 0;\n  z-index: 10;\n}\n#" + id + " .st-btns {\n  bottom: 56px;\n  left: 0;\n  margin: 100px auto 0;\n  max-width: 90%;\n  position: absolute;\n  right: 0;\n  text-align: center;\n  top: 10px;\n  z-index: 20;\n  overflow-y: auto;\n}\n#" + id + " .st-logo {\n  background: #4c4c4c;\n  bottom: 0;\n  cursor: pointer;\n  padding: 20px;\n  position: absolute;\n  text-align: center;\n  width: 100%;\n  z-index: 30;\n}\n#" + id + " .st-close {\n  " + (st.BORDER_RADIUS(28)) + "\n  " + st.BORDER_BOX + "\n  background: #999;\n  bottom: 28px;\n  color: #fff;\n  cursor: pointer;\n  font-size: 36px;\n  height: 56px;\n  line-height: 28px;\n  padding: 10px;\n  position: absolute;\n  right: 14px;\n  width: 56px;\n  z-index: 40;\n}\n#" + id + " .st-disclaimer {\n  bottom: 72px;\n  color: white;\n  font-size: 12px;\n  left: 50%;\n  position: absolute;\n  transform: translate(-50%, 0);\n  z-index: 30;\n}\n#" + id + " .st-close > img {\n  height: 40px;\n  width: 40px;\n}\n#" + id + " .st-btn {\n  " + (st.BORDER_RADIUS(4)) + "\n  " + st.BORDER_BOX + "\n  " + (st.TRANSITION()) + "\n  color: white;\n  cursor: pointer;\n  display: inline-block;\n  font-size: 12px;\n  font-weight: 400;\n  height: 48px;\n  line-height: 30px;\n  margin: 4px;\n  opacity: 1;\n  overflow: hidden;\n  padding: 8px 12px;\n  position: relative;\n  text-align: left;\n  top: 0;\n  vertical-align: top;\n  width: 148px;\n}\n#" + id + " .st-btn::before {\n  " + (st.BORDER_RADIUS(4)) + "\n  " + (st.TRANSITION()) + "\n  background: #fff;\n  content: '';\n  height: 100%;\n  left: 0;\n  opacity: 0;\n  position: absolute;\n  top: 0;\n  width: 100%;\n}\n#" + id + " .st-btn:hover::before {\n  opacity: .2;\n}\n#" + id + " .st-btn > svg {\n  display: inline-block;\n  height: 20px;\n  margin-top: 6px;\n  vertical-align: top;\n  width: 20px;\n}\n#" + id + " .st-btn > img {\n  display: inline-block;\n  height: 20px;\n  margin-top: 6px;\n  vertical-align: top;
2966\n  width: 20px;\n}\n#" + id + " .st-btn > span {\n  display: inline-block;\n  letter-spacing: 0.5px;\n  text-align: center;\n  vertical-align: top;\n  width: 96px;\n}\n@media(max-width: 1200px) {\n  #" + id + " .st-btns {\n    margin-top: 50px;\n  }\n}\n@media(max-width: 800px) {\n  #" + id + " .st-btns {\n    margin: 0 auto;\n    max-width: 100%;\n    padding: 32px 10px 50px;\n  }\n  #" + id + " .st-btn {\n    width: 130px;\n  }\n  #" + id + " .st-btn > span {\n    width: 74px;\n  }\n  #" + id + " .st-disclaimer {\n    background: #000;\n    bottom: 44px;\n    font-size: 10px;\n    padding: 8px;\n    text-align: center;\n    width: 100%\n  }\n}";
2967    network_css = ((function() {
2968      var i, len, ref1, results;
2969      ref1 = st.shareNetworks;
2970      results = [];
2971      for (i = 0, len = ref1.length; i < len; i++) {
2972        network = ref1[i];
2973        results.push("#" + id + " .st-btn[data-network='" + network + "'] {\n  background-color: " + st.COLORS[network] + ";\n}");
2974      }
2975      return results;
2976    })()).join('\n');
2977    css = common_css;
2978    css += network_css;
2979    st.css(css);
2980    html = "<div class='st-backdrop'></div>";
2981    html += "<div class='st-btns'>";
2982    ref1 = st.shareNetworks;
2983    for (i = 0, len = ref1.length; i < len; i++) {
2984      network = ref1[i];
2985      if (network === 'sharethis') {
2986        continue;
2987      }
2988      if (!st.mobile && (network === 'sms')) {
2989        continue;
2990      }
2991      html += "<div class='st-btn' data-network='" + network + "'>\n  " + st.ICONS[network] + "\n  <span>" + network + "</span>\n</div>";
2992    }
2993    html += "</div>";
2994    src = 'https://platform-cdn.sharethis.com/img/share-this-logo%402x.png';
2995    logo_link = "https://sharethis.com/platform/share-buttons?" + st.qs({
2996      utm_source: "share-buttons",
2997      utm_medium: "referral",
2998      utm_campaign: "sharethis-button-referral"
2999    });
3000    html += "<div class=\"st-logo\">\n  <a href=\"" + logo_link + "\" target=\"_blank\">\n    <img height=\"16\" width=\"96\" src=\"" + src + "\">\n  </a>\n</div>";
3001    html += "<div class=\"st-close\">\n  " + st.ICONS['close'] + "\n</div>";
3002    html += "<div class=\"st-disclaimer\">\n  Third-party platform trademarks and logos appearing here are owned by the\n  respective third parties, link to those referenced platforms, and are not\n  affiliated with ShareThis.\n</div>";
3003    $el.innerHTML = html;
3004    $backdrop = $el.querySelector('.st-backdrop');
3005    $buttons = $el.querySelectorAll('.st-btn');
3006    $close = $el.querySelector('.st-close');
3007    st.addEventListener($backdrop, 'click', function() {
3008      return st.close($el);
3009    });
3010    st.addEventListener($close, 'click', function() {
3011      return st.close($el);
3012    });
3013    st.addEventListener(document, 'keydown', function(e) {
3014      if (st.isEsc(e)) {
3015        return st.close($el);
3016      }
3017    });
3018    for (j = 0, len1 = $buttons.length; j < len1; j++) {
3019      $button = $buttons[j];
3020      st.addEventListener($button, 'click', function() {
3021        st.close($el);
3022        return st.share({
3023          description: description,
3024          image: image,
3025          network: this.getAttribute('data-network'),
3026          share_url: share_url,
3027          title: title,
3028          url: url,
3029          username: username
3030        });
3031      });
3032    }
3033    return setTimeout((function() {
3034      st.removeClass($el, 'st-hidden');
3035      return st.addClass(document.body, 'st-body-no-scroll');
3036    }), 10);
3037  };
3038
3039}).call(this);
3040
3041(function() {
3042  var st;
3043
3044  st = window.__sharethis__;
3045
3046  st.loader['share-wechat-mobile'] = function(config) {
3047    var $backdrop, $close, $copy, $el, $form_input, $open, html, id, mobile_css, ref, src, url;
3048    if (config == null) {
3049      config = {};
3050    }
3051    url = config.url;
3052    ref = st.newElement(), $el = ref.$el, id = ref.id;
3053    st.addClass($el, 'st-hidden');
3054    mobile_css = "body.st-body-no-scroll {\n  bottom: 0;\n  left: 0;\n  overflow: hidden;\n  position: fixed;\n  right: 0;\n  top: 0;\n}\n#" + id + " {\n  " + (st.TRANSITION()) + "\n  " + st.FONT_FAMILY + "\n  bottom: 0;\n  left: 0;\n  opacity: 1;\n  overflow-y: auto;\n  padding-bottom: 100px;\n  position: fixed;\n  right: 0;\n  text-align: center;\n  top: 0;\n  width: 100%;\n  z-index: 99999;\n}\n\n#" + id + ".st-hidden {\n  opacity: 0;\n  top: 100%;\n}\n#" + id + " .st-backdrop {\n  background: rgba(0, 0, 0, 0.8);\n  bottom: 0;\n  left: 0;\n  position: fixed;\n  right: 0;\n  top: 0;\n  z-index: 10;\n}\n#" + id + " .st-wechat {\n  margin-top: 120px;\n  height: 64px;\n  width: 220px;\n  display: inline-block;\n  position: relative;\n  z-index: 10;\n}\n#" + id + " .st-form {\n  margin: 20px auto;\n  max-width: 80%;\n  position: relative;\n  width: 320px;\n  z-index: 20;\n}\n#" + id + " .st-form > input {\n  " + st.BORDER_BOX + "\n  " + (st.BORDER_RADIUS(4)) + "\n  background-color: #fff;\n  border: 0;\n  color: #333;\n  display: block;\n  font-size: 16px;\n  height: 48px;\n  margin-bottom: 15px;\n  padding: 12px;\n  width: 100%;\n}\n#" + id + " .st-form > textarea {\n  " + st.BORDER_BOX + "\n  " + (st.BORDER_RADIUS(4)) + "\n  background-color: #fff;\n  border: 0;\n  color: #333;\n  display: block;\n  font-size: 16px;\n  height: 96px;\n  margin-bottom: 15px;\n  padding: 12px;\n  width: 100%;\n}\n#" + id + " .st-copy {\n  " + (st.BORDER_RADIUS(2)) + "\n  background: #4EC034;\n  color: #fff;
3054\n  cursor: pointer;\n  display: inline-block;\n  height: 36px;\n  letter-spacing: .5px;\n  line-height: 36px;\n  margin: 15px auto 0 auto;\n  padding: 0 10px;\n  position: relative;\n  text-align: center;\n  min-width: 120px;\n  z-index: 20;\n}\n#" + id + " .st-open {\n  " + (st.BORDER_RADIUS(2)) + "\n  background: #4EC034;\n  color: #fff;\n  cursor: pointer;\n  display: inline-block;\n  height: 36px;\n  letter-spacing: .5px;\n  line-height: 36px;\n  margin: 15px auto 0 auto;\n  padding: 0 10px;\n  position: relative;\n  text-align: center;\n  min-width: 120px;\n  z-index: 20;\n}\n#" + id + " .st-logo {\n  background: #4c4c4c;\n  bottom: 0;\n  padding: 20px;\n  position: fixed;\n  text-align: center;\n  width: 100%;\n  z-index: 30;\n}\n#" + id + " .st-close {\n  " + (st.BORDER_RADIUS(28)) + "\n  " + st.BORDER_BOX + "\n  background: #999;\n  bottom: 28px;\n  color: #fff;\n  cursor: pointer;\n  font-size: 36px;\n  height: 56px;\n  line-height: 28px;\n  padding: 10px;\n  position: fixed;\n  right: 14px;\n  width: 56px;\n  z-index: 40;\n}";
3055    st.css(mobile_css);
3056    html = "<div class='st-backdrop'></div>";
3057    html += "<div class='st-wechat'>" + st.ICONS['wechatIcon'] + "</div>";
3058    html += "<div class='st-form'>\n  <input class=\"st-url\" type=\"text\" value=\"\" />\n</div>";
3059    html += "<div class=\"st-copy\">Copy URL</div>\n<div class=\"st-open\" style=\"display: none\">Open WeChat</div>";
3060    src = 'https://platform-cdn.sharethis.com/img/share-this-logo%402x.png';
3061    html += "<div class=\"st-logo\">\n  <img height=\"16\" width=\"96\" src=\"" + src + "\">\n</div>";
3062    html += "<div class=\"st-close\">\n  " + st.ICONS['close'] + "\n</div>";
3063    $el.innerHTML = html;
3064    $form_input = $el.querySelector('.st-form > input');
3065    $backdrop = $el.querySelector('.st-backdrop');
3066    $close = $el.querySelector('.st-close');
3067    $copy = $el.querySelector('.st-copy');
3068    $open = $el.querySelector('.st-open');
3069    $form_input.value = url;
3070    st.addEventListener($backdrop, 'click', function() {
3071      return st.close($el);
3072    });
3073    st.addEventListener($close, 'click', function() {
3074      return st.close($el);
3075    });
3076    st.addEventListener($copy, 'click', function() {
3077      var succeed;
3078      $form_input.setSelectionRange(0, $form_input.value.length);
3079      succeed = document.execCommand('copy');
3080      if (succeed) {
3081        $copy.innerText = 'Copied!';
3082        $copy.style.background = '#f9a825';
3083        return $open.style.display = 'inline-block';
3084      }
3085    });
3086    st.addEventListener($open, 'click', function() {
3087      var onError;
3088      onError = function(err) {
3089        $open.innerText = err;
3090        $open.style.background = '#c62828';
3091        if (st.__share_email_timeout) {
3092          clearTimeout(st.__share_email_timeout);
3093        }
3094        return st.__share_email_timeout = setTimeout((function() {
3095          $open.innerText = 'Open';
3096          return $open.style.background = '#00c853';
3097        }), 2000);
3098      };
3099      $open.innerText = 'Opening...';
3100      $open.style.background = '#f9a825';
3101      url = 'weixin://';
3102      return st.open(url);
3103    });
3104    st.addEventListener(document, 'keydown', function(e) {
3105      if (st.isEsc(e)) {
3106        return st.close($el);
3107      }
3108    });
3109    return setTimeout((function() {
3110      st.removeClass($el, 'st-hidden');
3111      return st.addClass(document.body, 'st-body-no-scroll');
3112    }), 10);
3113  };
3114
3115}).call(this);
3116
3117(function() {
3118  var st;
3119
3120  st = window.__sharethis__;
3121
3122  st.REACTIONS = {
3123    slight_smile: {
3124      icon: "<circle cx=\"32\" cy=\"32\" r=\"30\" fill=\"#ffdd67\"/><g fill=\"#664e27\"><circle cx=\"20.5\" cy=\"26.6\" r=\"5\"/><circle cx=\"43.5\" cy=\"26.6\" r=\"5\"/><path d=\"m44.6 40.3c-8.1 5.7-17.1 5.6-25.2 0-1-.7-1.8.5-1.2 1.6 2.5 4 7.4 7.7 13.8 7.7s11.3-3.6 13.8-7.7c.6-1.1-.2-2.3-1.2-1.6\"/></g>",
3125      label: 'like'
3126    },
3127    heart_eyes: {
3128      icon: "<path d=\"M62,32c0,16.6-13.4,30-30,30C15.4,62,2,48.6,2,32C2,15.4,15.4,2,32,2C48.6,2,62,15.4,62,32z\" fill=\"#ffdd67\"/><g fill=\"#f46767\"><path d=\"m61.8 13.2c-.5-2.7-2-4.9-4.5-5.6-2.7-.7-5.1.3-7.4 2.7-1.3-3.6-3.3-6.3-6.5-7.7-3.2-1.4-6.4-.4-8.4 2.1-2.1 2.6-2.9 6.7-.7 12 2.1 5 11.4 15 11.7 15.3.4-.2 10.8-6.7 13.3-9.9 2.5-3.1 3-6.2 2.5-8.9\"/><path d=\"m29 4.7c-2-2.5-5.2-3.5-8.4-2.1-3.2 1.4-5.2 4.1-6.5 7.7-2.4-2.3-4.8-3.4-7.5-2.6-2.4.7-4 2.9-4.5 5.6-.5 2.6.1 5.8 2.5 8.9 2.6 3.1 13 9.6 13.4 9.8.3-.3 9.6-10.3 11.7-15.3 2.2-5.3 1.4-9.3-.7-12\"/></g><path d=\"m49 38.1c0-.8-.5-1.8-1.8-2.1-3.5-.7-8.6-1.3-15.2-1.3-6.6 0-11.7.7-1
31285.2 1.3-1.4.3-1.8 1.3-1.8 2.1 0 7.3 5.6 14.6 17 14.6 11.4-.1 17-7.4 17-14.6\" fill=\"#664e27\"/><path d=\"m44.7 38.3c-2.2-.4-6.8-1-12.7-1-5.9 0-10.5.6-12.7 1-1.3.2-1.4.7-1.3 1.5.1.4.1 1 .3 1.6.1.6.3.9 1.3.8 1.9-.2 23-.2 24.9 0 1 .1 1.1-.2 1.3-.8.1-.6.2-1.1.3-1.6 0-.8-.1-1.3-1.4-1.5\" fill=\"#fff\"/>",
3129      label: 'love'
3130    },
3131    laughing: {
3132      icon: "<circle cx=\"32\" cy=\"32\" r=\"30\" fill=\"#ffdd67\"/><g fill=\"#664e27\"><path d=\"m51.7 19.4c.6.3.3 1-.2 1.1-2.7.4-5.5.9-8.3 2.4 4 .7 7.2 2.7 9 4.8.4.5-.1 1.1-.5 1-4.8-1.7-9.7-2.7-15.8-2-.5 0-.9-.2-.8-.7 1.6-7.3 10.9-10 16.6-6.6\"/><path d=\"m12.3 19.4c-.6.3-.3 1 .2 1.1 2.7.4 5.5.9 8.3 2.4-4 .7-7.2 2.7-9 4.8-.4.5.1 1.1.5 1 4.8-1.7 9.7-2.7 15.8-2 .5 0 .9-.2.8-.7-1.6-7.3-10.9-10-16.6-6.6\"/><path d=\"m49.7 34.4c-.4-.5-1.1-.4-1.9-.4-15.8 0-15.8 0-31.6 0-.8 0-1.5-.1-1.9.4-3.9 5 .7 19.6 17.7 19.6 17 0 21.6-14.6 17.7-19.6\"/></g><path d=\"m33.8 41.7c-.6 0-1.5.5-1.1 2 .2.7 1.2 1.6 1.2 2.8 0 2.4-3.8 2.4-3.8 0 0-1.2 1-2 1.2-2.8.3-1.4-.6-2-1.1-2-1.6 0-4.1 1.7-4.1 4.6 0 3.2 2.7 5.8 6 5.8s6-2.6 6-5.8c-.1-2.8-2.7-4.5-4.3-4.6\" fill=\"#4c3526\"/><path d=\"m24.3 50.7c2.2 1 4.8 1.5 7.7 1.5s5.5-.6 7.7-1.5c-2.1-1.1-4.7-1.7-7.7-1.7s-5.6.6-7.7 1.7\" fill=\"#ff717f\"/><path d=\"m47 36c-15 0-15 0-29.9 0-2.1 0-2.1 4-.1 4 10.4 0 19.6 0 30 0 2 0 2-4 0-4\" fill=\"#fff\"/>",
3133      label: 'lol'
3134    },
3135    astonished: {
3136      icon: "<circle cx=\"32\" cy=\"32\" r=\"30\" fill=\"#ffdd67\"/><circle cx=\"19\" cy=\"29\" r=\"11\" fill=\"#fff\"/><path d=\"m24 29c0 2.8-2.2 5-5 5-2.8 0-5-2.2-5-5s2.2-5 5-5c2.8 0 5 2.2 5 5\" fill=\"#664e27\"/><path d=\"m56 29c0 6.1-4.9 11-11 11-6.1 0-11-4.9-11-11 0-6.1 4.9-11 11-11 6.1 0 11 4.9 11 11\" fill=\"#fff\"/><path d=\"m50 29c0 2.8-2.2 5-5 5-2.8 0-5-2.2-5-5s2.2-5 5-5c2.8 0 5 2.2 5 5\" fill=\"#664e27\"/><g fill=\"#917524\"><path d=\"m50.2 15.8c-3.2-2.7-7.5-3.9-11.7-3.1-.6.1-1.1-2-.4-2.2 4.8-.9 9.8.5 13.5 3.6.6.5-1 2.1-1.4 1.7\"/><path d=\"m25.5 12.5c-4.2-.7-8.5.4-11.7 3.1-.4.4-2-1.2-1.4-1.7 3.7-3.2 8.7-4.5 13.5-3.6.7.2.2 2.3-.4 2.2\"/></g><circle cx=\"32\" cy=\"49\" r=\"9\" fill=\"#664e27\"/><path d=\"m26 46c1.2-2.4 3.4-4 6-4 2.6 0 4.8 1.6 6 4h-12\" fill=\"#fff\"/>",
3137      label: 'wow'
3138    },
3139    sob: {
3140      icon: "<g fill=\"#65b1ef\"><ellipse cx=\"17.5\" cy=\"59.9\" rx=\"12.5\" ry=\"1.5\"/><ellipse cx=\"44\" cy=\"60.2\" rx=\"18\" ry=\"1.8\"/></g><circle cx=\"32\" cy=\"32\" r=\"30\" fill=\"#ffdd67\"/><path d=\"m44.7 46c-1.4-3.6-4.8-6-12.7-6-8 0-11.3 2.4-12.7 6-.7 1.9.3 5 .3 5 1.3 3.9 1.1 5 12.4 5 11.3 0 11.1-1.1 12.4-5 0 0 1.1-3.1.3-5\" fill=\"#664e27\"/><path d=\"m41 45c.1-.3 0-.6-.2-.8 0 0-2-2.2-8.8-2.2-6.8 0-8.8 2.2-8.8 2.2-.2.1-.2.5-.2.8l.2.6c.1.3.3.5.5.5h16.6c.2 0 .5-.2.5-.5l.2-.6\" fill=\"#fff\"/><g fill=\"#65b1ef\"><path d=\"m44.5 60.5c2.3 0 4.6 0 6.8 0 8.2-9.9-1.5-20 .9-29.8-2.3 0-4.6 2.5-6.8 2.5-3.2 9.5 7.3 17.4-.9 27.3\"/><path d=\"m19.5 60.5c-2.3 0-4.6 0-6.8 0-8.2-9.9 1.5-20-.9-29.8 2.3 0 4.6 2.5 6.8 2.5 3.2 9.5-7.3 17.4.9 27.3\"/></g><g fill=\"#917524\"><path d=\"m40.7 18.3c3 3 7.2 4.5 11.4 4.1.6-.1.9 2.1.2 2.2-4.9.4-9.7-1.3-13.1-4.8-.6-.5 1.1-1.9 1.5-1.5\"/><path d=\"m12 22.4c4.2.4 8.4-1.1 11.4-4.1.4-.4 2.1 1 1.6 1.5-3.4 3.5-8.3 5.2-13.1 4.8-.9 0-.5-2.2.1-2.2\"/></g><g fill=\"#664e27\"><path d=\"m35.9 30.3c4.2 8 12.7 8 16.9 0 .2-.4-.3-.6-1-1-4.2 3.3-11.1 3-14.9 0-.6.4-1.2.6-1 1\"/><path d=\"m11.2 30.3c4.2 8 12.7 8 16.9 0 .2-.4-.3-.6-1-1-4.2 3.3-11.1 3-14.9 0-.7.4-1.2.6-1 1\"/></g>",
3141      label: 'sad'
3142    },
3143    rage: {
3144      icon: "<circle cx=\"32\" cy=\"32\" r=\"30\" fill=\"#ef5350\"/><path d=\"m41 49.7c-5.8-4.8-12.2-4.8-18 0-.7.6-1.3-.4-.8-1.3 1.8-3.4 5.3-6.5 9.8-6.5s8.1 3.1 9.8 6.5c.5.8-.1 1.8-.8 1.3\" fill=\"#302424\"/><path d=\"m10.2 24.9c-1.5 4.7.6 10 5.3 12.1 4.6 2.2 10 .5 12.7-3.7l-6.9-7.7-11.1-.7\" fill=\"#fff\"/><g fill=\"#302424\"><path d=\"m14.2 25.8c-1.4 2.9-.1 6.4 2.8 7.7 2.9 1.4 6.4.1 7.7-2.8 1-1.9-9.6-6.8-10.5-4.9\"/><path d=\"m10.2 24.9c1.6-1 3.5-1.5 5.4-1.5 1.9 0 3.8.5 5.6 1.3 1.7.8 3.3 2 4.6 3.4 1.2 1.5 2.2 3.2 2.4 5.1-1.3-1.3-2.6-2.4-4-3.4-1.4-1-2.8-1.8-4.2-2.4-1.5-.7-3-1.2-4.6-1.7-1.8-.3-3.4-.6-5.2-.8\"/></g><path d=\"m53.8 24.9c1.5 4.7-.6 10-5.3 12.1-4.6 2.2-10 .5-12.7-3.7l6.9-7.7 11.1-.7\" fill=\"#fff\"/><g fill=\"#302424\"><path d=\"m49.8 25.8c1.4 2.9.1 6.4-2.8 7.7-2.9 1.4-6.4.1-7.7-2.8-1-1.9 9.6-6.8 10.5-4.9\"/><path d=\"m53.8 24.9c-1.6-1-3.5-1.5-5.4-1.5-1.9 0-3.8.5-5.6 1.3-1.7.8-3.3 2-4.6 3.4-1.2 1.5-2.2 3.2-2.4 5.1 1.3-1.3 2.6-2.4 4-3.4 1.4-1 2.8-1.8 4.2-2.4 1.5-.7 3-1.2 4.6-1.7 1.8-.3 3.4-.6 5.2-.8\"/></g>",
3145      label: 'angry'
3146    }
3147  };
3148
3149}).call(this);
3150
3151(function() {
3152  var i, len, ref, ref1, ref2, ref3, ref4, ref5, ref6, script, scripts, src, st,
3153    indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };
3154
3155  st = window.__sharethis__;
3156
3157  if (st.loaded) {
3158    return;
3159  }
3160
3161  st.loaded = true;
3162
3163  scripts = document.getElementsByTagName('script') || [];
3164
3165  for (i = 0, len = scripts.length; i < len; i++) {
3166    script = scripts[i];
3167    src = script.getAttribute('src');
3168    if (/\/js\/sharethis.js/.test(src)) {
3169      st.src = src;
3170      st.cms = (ref = /cms=([a-zA-Z0-9]+)/.exec(src)) != null ? ref[1] : void 0;
3171      st.product = (ref1 = /product=([a-zA-Z0-9-]+)/.exec(src)) != null ? ref1[1] : void 0;
3172      st.property = (ref2 = /property=([a-zA-Z0-9]+)/.exec(src)) != null ? ref2[1] : void 0;
3173      st.source = (ref3 = /source=([a-zA-Z0-9-]+)/.exec(src)) != null ? ref3[1] : void 0;
3174      st.ssb = (ref4 = /ssb=([a-zA-Z0-9-]+)/.exec(src)) != null ? ref4[1] : void 0;
3175      st.account = (ref5 = /account=([a-zA-Z0-9-]+)/.exec(src)) != null ? ref5[1] : void 0;
3176    }
3177  }
3178
3179  if (st.cms == null) {
3180    st.cms = 'unknown';
3181  }
3182
3183  st.href = document.location.href;
3184
3185  if (st.source == null) {
3186    st.source = 'sharethis.js';
3187  }
3188
3189  if (st.ssb == null) {
3190    st.ssb = 'false';
3191  }
3192
3193  if (st.account == null) {
3194    st.account = 'true';
3195  }
3196
3197  if (st.property == null) {
3198    st.property = 'anonymous';
3199  }
3200
3201  if (st.product == null) {
3202    st.product = 'unknown';
3203  }
3204
3205  if (ref6 = st.product, indexOf.call(st.PRODUCTS, ref6) < 0) {
3206    st.product = 'unknown';
3207  }
3208
3209  st.initialize = function(options) {
3210    st.init = function(config) {
3211      st.config = config;
3212      return window.__sharethis__docReady(function() {
3213        var j, len1, product, ref7, results;
3214        if (typeof window.onShareThisLoaded === "function") {
3215          window.onShareThisLoaded();
3216        }
3217        ref7 = st.PRODUCTS;
3218        results = [];
3219        for (j = 0, len1 = ref7.length; j < len1; j++) {
3220          product = ref7[j];
3221          results.push(st.load(product, config[product]));
3222        }
3223        return results;
3224      });
3225    };
3226    if (st.config) {
3227      return st.init(st.config);
3228    }
3229    if (st.property !== 'anonymous') {
3230      return st.js("https://buttons-config.sharethis.com/js/" + st.property + ".js");
3231    } else {
3232      if (st.account === 'false') {
3233        return setTimeout((function() {
3234          return st.load(st.product, {
3235            enabled: true,
3236            is_ssb: st.ssb === 'true',
3237            num_ssb_networks: 6
3238          });
3239        }), 10);
3240      } else {
3241        return setTimeout((function() {
3242          return st.init({});
3243        }), 10);
3244      }
3245    }
3246  };
3247
3248  st.initialize();
3249
3250  st.ibl();
3251
3252  st.ecommerce();
3253
3254  st.floc();
3255
3256}).call(this);
3257
3258var __stdos__ = __stdos__ || {};
3259
3260var tpcCookiesEnableCheckingDone = false;
3261var tpcCookiesEnabledStatus = true;
3262
3263if (typeof(__stdos__.data) == "undefined") {
3264    __stdos__.data = {
3265        bInit: false,
3266        pageInfo: {},
3267        resetPageData: function() {
3268            __stdos__.data.pageInfo.hostname = "";
3269            __stdos__.data.pageInfo.location = "";
3270            __stdos__.data.pageInfo.product = "DOS2"
3271            __stdos__.data.pageInfo.url = "";
3272            __stdos__.data.pageInfo.source = ""
3273
3274        },
3275        init: function() {
3276            if (!__stdos__.data.bInit) {
3277                __stdos__.data.bInit = true;
3278                __stdos__.data.resetPageData();
3279                var b = document.location.href;
3280                var a = "",
3281                    c = "";
3282                __stdos__.data.set("fcmp", typeof(window.__cmp) == 'function', "pageInfo");
3283                __stdos__.data.set("fcmpv2", typeof(window.__tcfapi) == 'function', "pageInfo");
3284                __stdos__.data.set("has_segmentio", typeof(window.analytics && window.analytics.identify) == 'function', "pageInfo");
3285                __stdos__.data.set("url", b, "pageInfo");
3286                __stdos__.data.set("title", document.title, "pageInfo");
3287                a = (new Date()).getTime().toString();
3288                c = Number(Math.random().toPrecision(5).toString().substr(2)).toString();
3289                __stdos__.data.validateRefDomain();
3290                __stdos__.data.set("hostname", document.location.hostname, "pageInfo");
3291                __stdos__.data.set("location", document.location.pathname, "pageInfo")
3292            }
3293        },
3294        validateRefDomain: function() {
3295            var a = __stdos__.data.get("refDomain", "pageInfo");
3296            if (!a) {
3297                this.setRefDomain(window.document.referrer)
3298            }
3299        },
3300        setRefDomain: function(a) {
3301            if (a.length == 0) {
3302                return
3303            }
3304            var b = a.replace("http://", "").replace("https://", "").split("/");
3305            if (b.length > 0) {
3306                a = (typeof(b[0]) != "undefined") ? b[0] : a;
3307                var refQuery = (typeof(b[1]) != "undefined") ? b[1] : "";
3308                __stdos__.data.set("refQuery", refQuery, "pageInfo");
3309                __stdos__.data.set("refDomain", a, "pageInfo")
3310            }
3311        },
3312        set: function(a, c, b) {
3313            if (typeof(c) == "number" || typeof(c) == "boolean") {
3314                __stdos__.data[b][a] = c
3315            } else {
3316                if (typeof(c) == "undefined" || c == null) {} else {
3317                    __stdos__.data[b][a] = encodeURIComponent(decodeURIComponent(unescape(c.replace(/<[^<>]*>/gi, " ")).replace(/%/gi, "%25")));
3318                    if (a == "url" || a == "location" || a == "image") {
3319                        try {
3320                            __stdos__.data[b][a] = encodeURIComponent(decodeURIComponent(decodeURI(c.replace(/<[^<>]*>/gi, " ")).replace(/%/gi, "%25")))
3321                        } catch (d) {
3322                            __stdos__.data[b][a] = encodeURIComponent(decodeURIComponent(unescape(c.replace(/<[^<>]*>/gi, " ")).replace(/%/gi, "%25")))
3323                        }
3324                    }
3325                }
3326            }
3327        },
3328        get: function(a, b) {
3329            try {
3330                if (__stdos__.data[b] && __stdos__.data[b][a]) {
3331                    return decodeURIComponent(__stdos__.data[b][a])
3332                } else {
3333                    return false
3334                }
3335            } catch (c) {
3336                return false
3337            }
3338        },
3339        unset: function(a, b) {
3340            if (__stdos__.data[b] && typeof(__stdos__.data[b][a]) != "undefined") {
3341                delete __stdos__.data[b][a]
3342            }
3343        },
3344        bindEvent: function(element, eventName, eventHandler) {
3345            if (element.addEventListener) {
3346                element.addEventListener(eventName, eventHandler, false);
3347            } else if (element.attachEvent) {
3348                element.attachEvent('on' + eventName, eventHandler);
3349            }
3350        },
3351        debug: function(endpoint, event) {
3352          __stdos__.data.init();
3353          var a = __stdos__.data.pageInfo;
3354          var c = "";
3355          var b;
3356          for (b in a) {
3357              c += b + "=" + a[b] + "&"
3358          }
3359          c = c.substring(0, c.length - 1);
3360
3361          var loggerUrl = "https://l.sharethis.com/";
3362          loggerUrl += endpoint;
3363          loggerUrl += "?event=" + event;
3364          loggerUrl += "&" + c;
3365
3366          var e = new Image(1, 1);
3367          e.src = loggerUrl;
3368          e.onload = function() {
3369              return
3370          };
3371        },
3372        parseCookie: function(name, cookie) {
3373            cookie = "; " + cookie
3374            var parts = cookie.split("; "+name+"=");
3375            if(parts.length === 2) {
3376                return parts.pop().split(';').shift();
3377            }else {
3378                return null;
3379            }
3380        },
3381        writeCookie: function(name, value, max_age)  {
3382          if (!max_age) {
3383            max_age = 33696000
3384          }
3385          var host = (window && window.location && window.location.hostname) || '';
3386          var parts = host.split('.');
3387          var domain = "";
3388          if (parts.length > 1) {
3389            domain = "domain=." + parts.slice(-2).join('.');
3390          }
3391          var samesite_secure = "";
3392          try {
3393            document.cookie = "st_samesite=1;SameSite=None;Secure";
3394            if (__stdos__.data.parseCookie("st_samesite", document.cookie)) {
3395              samesite_secure = "SameSite=None;Secure"
3396              document.cookie = "st_samesite=1;max-age=0;SameSite=None;Secure";
3397            }
3398          } catch (e) {}
3399          document.cookie = name + "=" + value + ";" + domain + ";path=/;max-age=" + max_age + ";" + samesite_secure;
3400        },
3401        setConsent: function(consent) {
3402            for(var consent_key in consent) {
3403                 __stdos__.data.set(consent_key,consent[consent_key],"pageInfo");
3404                 window.__sharethis__[consent_key] = consent[consent_key];
3405            }
3406        },
3407        getEUConsent: function(c) {
3408
3409          function once(fn, context) { 
3410            var result;
3411            return function() { 
3412              if(fn) {
3413                result = fn.apply(context || this, arguments);
3414                fn = null;
3415              }
3416              return result;
3417            };
3418          }
3419
3420          var done = once(c);
3421
3422          // set usprivacy first if we have it
3423          var usprivacy = __stdos__.data.parseCookie("usprivacy", document.cookie);
3424          if (usprivacy) __stdos__.data.setConsent({
3425            usprivacy: usprivacy
3426          });
3427
3428          // keep track of how long it takes to get consent
3429          var start = Date.now();
3430          
3431          var useCookie = once(function() {
3432
3433            // check for first party cookies
3434            var euconsent_v2 = __stdos__.data.parseCookie("euconsent-v2", document.cookie);
3435            if (euconsent_v2 !== null) {
3436
3437              // use the first party cookie if it exists
3438              __stdos__.data.setConsent({
3439                gdpr_consent: euconsent_v2,
3440                gdpr_domain: document.location.hostname,
3441                gdpr_method: "cookie"
3442              });
3443            }
3444            done();
3445          });
3446
3447          if (typeof window.__tcfapi == "function") {
3448
3449            // fallback to cookie in case the tcf api is too slow or unavailable
3450            var timeout = setTimeout(useCookie, 5000);
3451
3452            // first we try to get the data from the cmp
3453            // wrap in a try catch since we don't control the tcfapi code on page
3454            try {
3455
3456              const tcfapi_callback = (data) => {
3457                if (data && data.tcString) {
3458                  var gdpr_domain = (data.isServiceSpecific)
3459                    ? document.location.hostname : ".sharethis.com";
3460                  __stdos__.data.setConsent({
3461                    consent_duration: Date.now() - start,
3462                    gdpr_consent: data.tcString,
3463                    gdpr_domain: gdpr_domain,
3464                    gdpr_method: "api"
3465                  });
3466                  clearTimeout(timeout);
3467                  done();
3468                  __tcfapi('removeEventListener', 2, () => {}, data.listenerId);
3469                } 
3470              }
3471              __tcfapi('addEventListener', 2, tcfapi_callback);
3472
3473            } catch (e) {
3474
3475              // fallback to cookie if there is an error
3476              useCookie();
3477            }
3478          } else {
3479
3480            // fallback to cookie if the tcfapi doesn't exist
3481            useCookie();
3482          }
3483        }
3484    };
3485    __stdos__.data.resetPageData()
3486}
3487__stdos__.logger = {
3488  loggerUrl: "https://l.sharethis.com/",
3489    version: "st_sop.js",
3490    lang: "en",
3491    constructParamString: function() {
3492        var a = __stdos__.data.pageInfo;
3493        var c = "";
3494        var b;
3495        for (b in a) {
3496          if (a[b] == null || a[b] === "") continue;
3497          c += b + "=" + a[b] + "&"
3498        }
3499        return c.substring(0, c.length - 1)
3500    },
3501    log: function(a, h, j) {
3502        __stdos__.data.set("ts" + new Date().getTime(), "", "pageInfo")
3503        h = __stdos__.logger.loggerUrl
3504
3505        __stdos__.data.getEUConsent(function(consent){
3506          if (!window.__sharethis__.consent_queue) {
3507            window.__sharethis__.consent_queue = {} 
3508          }
3509          window.__sharethis__.consent_queue.initialized = true;
3510          if (window.__sharethis__.consent_queue.functions) {
3511            for (var i = 0; i < window.__sharethis__.consent_queue.functions.length; i++) {
3512              window.__sharethis__.consent_queue.functions[i]();
3513            }
3514            window.__sharethis__.consent_queue.functions = null;
3515          }
3516          var g = [
3517            h,
3518            a,
3519            "?event=" + a,
3520            "&" + __stdos__.logger.constructParamString(),
3521            "&version=" + __stdos__.logger.version,
3522            "&lang=" + __stdos__.logger.lang
3523          ].join('');
3524          var fpestid = __stdos__.data.parseCookie("fpestid", document.cookie);
3525          if (!fpestid) {
3526            try { fpestid = localStorage.getItem("fpestid") } catch(e) {}
3527          }
3528          if (fpestid) {
3529            g += "&fpestid=" + fpestid;
3530          }
3531          var description = window.__sharethis__.getDescription();
3532          if (description) {
3533            g += "&description=" + encodeURIComponent(description);
3534          }
3535          var gdpr_consent = __stdos__.data.get("gdpr_consent", "pageInfo");
3536          __stdos__.data.setConsent({
3537            pview_had_consent: (gdpr_consent) ? true : false
3538          });
3539          
3540          ua_fields = {}
3541          var user_agent_data = {}
3542          window.__sharethis__.ua_fields = ua_fields
3543          try {
3544            if (navigator.userAgentData) {
3545              user_agent_data = navigator.userAgentData;
3546            }
3547
3548            if (Array.isArray(user_agent_data.brands)) {
3549              var ua = ""
3550              user_agent_data.brands.forEach((brand) => {
3551                if (ua) {
3552                  ua += ", "
3553                }
3554                ua += `"${brand.brand}";v="${brand.version}"`
3555              });
3556              g += "&ua=" + encodeURIComponent(ua);
3557              ua_fields.ua = ua
3558            }
3559
3560            if (user_agent_data.mobile !== undefined) {
3561              var ua_mobile = (user_agent_data.mobile) ? "true" : "false";
3562              g += "&ua_mobile=" + encodeURIComponent(ua_mobile);
3563              ua_fields.ua_mobile = ua_mobile
3564            }
3565
3566            if (user_agent_data.platform) {
3567              var ua_platform = user_agent_data.platform
3568              g += "&ua_platform=" + encodeURIComponent(ua_platform);
3569              ua_fields.ua_platform = ua_platform
3570            }
3571
3572          } catch (e) {
3573            // do nothing for now if it fails
3574          }
3575
3576          // if there is no getHighEntropyValues function create a shell function
3577          // in order to keep the workflow unified 
3578          if (!user_agent_data.getHighEntropyValues) {
3579            user_agent_data.getHighEntropyValues = () => {
3580              return new Promise((resolve) => {
3581                resolve({});
3582              });
3583            }
3584          }
3585
3586          function once(fn, context) { 
3587            var result;
3588            return function() { 
3589              if(fn) {
3590                result = fn.apply(context || this, arguments);
3591                fn = null;
3592              }
3593              return result;
3594            };
3595          }
3596         
3597          var sendPageView = once(function() {
3598
3599            try {
3600                try {
3601                  if (crypto && crypto.randomUUID) {
3602                    g += "&uuid=" + crypto.randomUUID()
3603                  }
3604                  __stdos__.data.pageInfo.pview_url = g
3605                } catch (e) {}
3606                var c = new XMLHttpRequest();
3607                c.open("GET", g, true);
3608                c.withCredentials = true;
3609                c.onreadystatechange = function() {
3610                    if (this.readyState == this.DONE) {
3611                        try {
3612                          var res = JSON.parse(c.responseText);
3613                          if (typeof(res) !== "undefined") {
3614                            __stdos__.data.set("stid", res.stid, "pageInfo");
3615                            if(res.fpestid) {
3616                              __stdos__.data.writeCookie("fpestid", res.fpestid, res.fpestid_maxage);
3617                              var fpestid_cookie = __stdos__.data.parseCookie("fpestid", document.cookie);
3618                              try {
3619                                if (!fpestid_cookie) {
3620                                  localStorage.setItem("fpestid", res.fpestid,);
3621                                  var timestamp = Math.floor(Date.now() / 1000);
3622                                  localStorage.setItem("fpestid_timestamp", timestamp.toString());
3623                                }
3624                              }
3625                              catch(e) {}
3626                            }
3627                            if(res.status === "true") {
3628                              var product = __stdos__.data.get("product", "pageInfo")
3629
3630                              if ((product === "ecommerce") ||
3631                                (product === "privy-share-buttons") ||
3632                                (product === "ga")) {
3633                                return;
3634                              }
3635                              window.__sharethis__.loadPixel();
3636                              
3637                              var st_debug = false;
3638
3639                              try {
3640                                
3641                                if (window && window.location && window.location.href && window.location.href.endsWith("st_debug=true")) {
3642                                  st_debug = true
3643                                }
3644
3645                                // run lotame's panorama id code if indicated by the content rule
3646                                if(res.lotame === "true" ) {
3647                                  !function() {
3648
3649                                    if (st_debug) {
3650                                      console.log("lotame firing 1");
3651                                    }
3652
3653                                    // Callback that will be triggered after each call to sync()
3654                                    // and let you have access to the profile and/or panorama ids
3655                                    var syncCallback = function (profile) {
3656
3657                                        if (st_debug) {
3658                                          console.log("lotame firing 2");
3659                                        }
3660                                
3661                                        // sync the panorama id
3662                                        var panorama_id = profile.getPanoramaId();
3663                                        if (st_debug) {
3664                                          console.log(panorama_id);
3665                                          console.log(res.stid);
3666                                        }
3667                                        if (panorama_id && res.stid) {
3668                                          var url = "https://sync.sharethis.com/panorama"
3669                                          url += "?uid=" + encodeURIComponent(panorama_id)
3670                                          url += "&stid=" + encodeURIComponent(res.stid)
3671                                          st.send(url)
3672                                        }
3673    
3674                                    };
3675                                
3676                                    var lotame_client_id = '16621';
3677                                    var lotame_tag_input = {
3678                                        config: {
3679                                            onProfileReady: syncCallback
3680                                        }
3681                                    };
3682                                
3683                                    // Lotame initialization
3684                                    var lotame_config = lotame_tag_input.config || {};
3685                                    var namespace = window['lotame_sync_' + lotame_client_id] = {};
3686                                    namespace.config = lotame_config;
3687                                    namespace.data = {};
3688                                    namespace.cmd = namespace.cmd || [];
3689                                  } ();
3690    
3691                                  window.lotame_sync_16621.cmd.push(function() {
3692                                    window.lotame_sync_16621.sync();
3693                                  });
3694    
3695                                  window.__sharethis__.js("https://platform-api.sharethis.com/panorama.js")
3696                                }
3697                              } catch (e) {
3698                                if (st_debug) {
3699                                  console.log(e)
3700                                }
3701                              }
3702
3703                            }
3704
3705                            if(res.dmd === "true") {
3706                              window.__sharethis__.js("https://platform-api.sharethis.com/dmd.js")
3707                            }
3708
3709                            if(res.atlas) {
3710                              window.__sharethis__.js("https://platform-api.sharethis.com/atlas-exp.js")
3711                            }
3712
3713                          }
3714                          j ? j() : null
3715                        } catch(e) {
3716                        }
3717                    }
3718                };
3719                c.send()
3720            } catch (d) {
3721                var e = new Image(1, 1);
3722                e.src = g;
3723                e.onload = function() {
3724                    return
3725                };
3726                j ? j() : null
3727            }
3728
3729          })
3730
3731          var getOverride = function() {
3732            var is_safari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
3733            if (is_safari) {
3734              var req = new XMLHttpRequest();
3735              req.open("GET", "https://data.stbuttons.click/data", true);
3736              req.onreadystatechange = function() {
3737                try {
3738                  if (this.readyState == this.DONE) {
3739                    var res = JSON.parse(req.responseText)
3740                    if (res.data) {
3741                      __stdos__.data.set("override", res.data,"pageInfo");
3742                      g += "&override=" + encodeURIComponent(res.data);
3743                    }
3744                    sendPageView()
3745                  }
3746                } catch(e) {
3747                  sendPageView()
3748                }
3749              }
3750              req.send()
3751              
3752              // send page view if request doesn't complete in 2 seconds
3753              setTimeout(sendPageView, 2000)
3754            } else {
3755              sendPageView()
3756            }
3757          }
3758
3759          var high_entropy_fields = [
3760            "model",
3761            "platformVersion",
3762            "fullVersionList"
3763          ]
3764          
3765          user_agent_data.getHighEntropyValues(high_entropy_fields).then((high_entropy_values) => {
3766
3767            try {
3768
3769              if (Array.isArray(high_entropy_values.fullVersionList)) {
3770                var  ua_full_version_list = ""
3771                high_entropy_values.fullVersionList.forEach((brand) => {
3772                  if (ua_full_version_list) {
3773                    ua_full_version_list += ", "
3774                  }
3775                  ua_full_version_list += `"${brand.brand}";v="${brand.version}"`
3776                });
3777                g += "&ua_full_version_list=" + encodeURIComponent(ua_full_version_list);
3778                ua_fields.ua_full_version_list = ua_full_version_list
3779              }
3780
3781              if (high_entropy_values.model) {
3782                var ua_model = high_entropy_values.model
3783                g += "&ua_model=" + encodeURIComponent(ua_model);
3784                ua_fields.ua_model = ua_model
3785              }
3786
3787              if (high_entropy_values.platformVersion) {
3788                var ua_platform_version = high_entropy_values.platformVersion
3789                g += "&ua_platform_version=" + encodeURIComponent(ua_platform_version);
3790                ua_fields.ua_platform_version = ua_platform_version
3791              }
3792
3793            } catch (e) {
3794              // do nothing for now
3795            }
3796
3797            getOverride()
3798            
3799          });
3800
3801        })
3802   }
3803};
3804
3805(function(){
3806  var _st = window.__sharethis__;
3807  var st_pview_logged = typeof stlib !== 'undefined' && stlib !== null && stlib.onscriptload;
3808
3809  if (!st_pview_logged && !__stdos__.onscriptload && document.URL.indexOf("edge.sharethis.com") == -1) {
3810      __stdos__.data.init();
3811      __stdos__.data.set("cms", _st.cms, "pageInfo");
3812      __stdos__.data.set("publisher", _st.property, "pageInfo")
3813      __stdos__.data.set("product", _st.product, "pageInfo")
3814      __stdos__.data.set("source", _st.source, "pageInfo")
3815      if (_st.embeds && st.embeds.length > 0 && !_st.is_ie) {
3816        __stdos__.data.set("embeds_csv", _st.embeds.join(','), "pageInfo")
3817        /*
3818        setTimeout(function(){
3819          //_st.js("https://platform-api.sharethis.com/rhombus.js")
3820        }, 3000)
3821        */
3822      }
3823      __stdos__.data.set("sop", true, "pageInfo")
3824      __stdos__.onscriptload = true;
3825      __stdos__.logger.log("pview");
3826  }
3827})();
3828
3829
3830
3831(function() {
3832  var st;
3833
3834  st = window.__sharethis__;
3835
3836  st.loadSsb = function($el, config, load) {
3837    var _xhr, is_preview, num_ssb_networks;
3838    num_ssb_networks = config.num_ssb_networks, is_preview = config.is_preview;
3839    if (num_ssb_networks == null) {
3840      num_ssb_networks = 6;
3841    }
3842    if (is_preview == null) {
3843      is_preview = false;
3844    }
3845    if (is_preview) {
3846      load($el, config);
3847      return;
3848    }
3849    _xhr = new XMLHttpRequest();
3850    _xhr.open("GET", "https://datasphere-sbsvc.sharethis.com?n=" + num_ssb_networks + "&debug");
3851    _xhr.responseType = "json";
3852    _xhr.onload = function() {
3853      var ref, ref1;
3854      if ((ref = _xhr.response) != null ? ref.buttons : void 0) {
3855        config.networks = (ref1 = _xhr.response) != null ? ref1.buttons : void 0;
3856      }
3857      return load($el, config);
3858    };
3859    return _xhr.send();
3860  };
3861
3862}).call(this);
3863
3864(function() {
3865  var st;
3866
3867  st = window.__sharethis__;
3868
3869  st.loader['custom-share-buttons'] = function() {
3870    var $button, $buttons, i, j, len, len1, results;
3871    $buttons = document.querySelectorAll('.st-custom-button');
3872    if ($buttons.length === 0) {
3873      return;
3874    }
3875    for (i = 0, len = $buttons.length; i < len; i++) {
3876      $button = $buttons[i];
3877      st.addEventListener($button, 'click', function() {
3878        return st.share({
3879          count_url: this.getAttribute('data-count-url'),
3880          description: this.getAttribute('data-description'),
3881          image: this.getAttribute('data-image'),
3882          message: this.getAttribute('data-message'),
3883          network: this.getAttribute('data-network'),
3884          share_url: this.getAttribute('data-share-url'),
3885          short_url: this.getAttribute('data-short-url'),
3886          subject: this.getAttribute('data-email-subject'),
3887          title: this.getAttribute('data-title'),
3888          url: this.getAttribute('data-url'),
3889          username: this.getAttribute('data-username')
3890        });
3891      });
3892    }
3893    results = [];
3894    for (j = 0, len1 = $buttons.length; j < len1; j++) {
3895      $button = $buttons[j];
3896      results.push((function($button) {
3897        var $count, data_count_url, data_url, network, url;
3898        network = $button.getAttribute('data-network');
3899        data_url = $button.getAttribute('data-url');
3900        data_count_url = $button.getAttribute('data-count-url');
3901        url = data_count_url || data_url || st.href;
3902        $count = $button.querySelector('.count');
3903        if ($count) {
3904          return st.loadCounts({
3905            url: url
3906          }, function(counts) {
3907            var label, ref, value;
3908            ref = counts[network] || {}, label = ref.label, value = ref.value;
3909            if (label && value > 0) {
3910              if ($count != null) {
3911                $count.innerHTML = label;
3912              }
3913              return st.removeClass($button, 'st-hide-label');
3914            } else {
3915              return st.addClass($button, 'st-hide-label');
3916            }
3917          });
3918        }
3919      })($button));
3920    }
3921    return results;
3922  };
3923
3924}).call(this);
3925
3926(function() {
3927  var st;
3928
3929  st = window.__sharethis__;
3930
3931  st.loader['email-list-builder'] = function(config) {
3932    var $backdrop, $button, $close, $el, $error, $input, $modal, behavior, button_label, color, common_css, container, css, fade_in, headline, hover_css, html, id, message, onClose, onScroll, onSubmit, property, ref, scroll_down, scroll_timeout, send, show, thanks;
3933    if (config == null) {
3934      config = {};
3935    }
3936    if (!config.enabled) {
3937      return;
3938    }
3939    color = config.color, button_label = config.button_label, headline = config.headline, message = config.message, property = config.property, thanks = config.thanks, scroll_down = config.scroll_down;
3940    behavior = config.behavior, container = config.container, fade_in = config.fade_in, onClose = config.onClose, onSubmit = config.onSubmit;
3941    if (behavior !== 'show') {
3942      if (st.storage.get('st_email_list_builder_email_collected')) {
3943        return;
3944      }
3945    }
3946    if (color == null) {
3947      color = st.COLORS['sharethis'];
3948    }
3949    if (behavior == null) {
3950      behavior = 'smart';
3951    }
3952    if (button_label == null) {
3953      button_label = 'Join';
3954    }
3955    if (fade_in == null) {
3956      fade_in = true;
3957    }
3958    if (headline == null) {
3959      headline = 'SUBSCRIBE VIA EMAIL';
3960    }
3961    if (message == null) {
3962      message = 'Subscribe to out mailing list to get updates!';
3963    }
3964    if (property == null) {
3965      property = st.property;
3966    }
3967    if (scroll_down == null) {
3968      scroll_down = 0;
3969    }
3970    if (thanks == null) {
3971      thanks = 'Thank you for subscribing!';
3972    }
3973    if (container == null) {
3974      container = document.body;
3975    }
3976    if (typeof container === 'string') {
3977      container = document.getElementById(container);
3978    }
3979    ref = st.newElement(null), $el = ref.$el, id = ref.id;
3980    st.addClass($el, 'st-email-list-builder');
3981    if (fade_in) {
3982      st.addClass($el, 'st-hidden');
3983    }
3984    common_css = "#" + id + " {\n  " + st.BORDER_BOX + "\n  " + (st.TRANSITION('opacity')) + "\n  bottom: 0;\n  display: block;\n  left: 0;\n  opacity: 1;\n  position: fixed;\n  right: 0;\n  text-align: center;\n  top: 0;\n  z-index: 9999;\n}\n#" + id + ".st-hidden {\n  opacity: 0;\n}\n#" + id + " .st-backdrop {\n  background: rgba(0, 0, 0, 0.8);\n  bottom: 0;\n  left: 0;\n  position: absolute;\n  right: 0;\n  top: 0;\n  z-index: 10;\n}\n#" + id + " .st-modal {\n  " + (st.BORDER_RADIUS(6)) + "\n  " + st.BORDER_BOX + "\n  " + (st.TRANSITION('opacity')) + "\n  background: #fff;\n  border-top: 10px solid " + color + ";\n  bottom: 0;\n  color: #333;\n  margin: 100px auto 0;\n  max-width: 90%;\n  opacity: 1;\n  padding: 20px 40px;\n  position: relative;\n  width: 600px;\n  z-index: 20;\n}\n#" + id + " .st-modal.st-hidden {\n  opacity: 0;\n}\n#" + id + " .st-headline {\n  margin-bottom: 5px;\n  font-size: 32px;\n  line-height: 38px;\n}\n#" + id + " .st-message {\n  margin-bottom: 25px;\n  font-size: 18px;\n  line-height: 24px;\n}\n#" + id + " .st-error {\n  color: red;\n  font-size: 14px;
3984\n  line-height: 26px;\n}\n#" + id + " input {\n  " + st.BORDER_BOX + "\n  " + (st.BORDER_RADIUS(4)) + "\n  background-color: #fff;\n  border: 1px solid #aeaeae;\n  color: #333;\n  display: block;\n  font-size: 15px;\n  height: 48px;\n  margin-bottom: 25px;\n  padding: 12px;\n  text-align: center;\n  width: 100%;\n}\n#" + id + " .st-btn {\n  " + st.BORDER_BOX + "\n  " + (st.BORDER_RADIUS(4)) + "\n  " + (st.TRANSITION()) + "\n  background-color: #fff;\n  border: 0;\n  background: " + color + ";\n  color: #fff;\n  cursor: pointer;\n  display: inline-block;\n  font-size: 18px;\n  height: 48px;\n  line-height: 48px;\n  min-width: 120px;\n  padding: 0 20px;\n}\n#" + id + " .st-close {\n  " + (st.BOX_SHADOW('0 0 20px black')) + "\n  " + (st.BORDER_RADIUS(18)) + "\n  background: #555;\n  border: 3px solid white;\n  cursor: pointer;\n  font-size: 24px;\n  height: 36px;\n  padding-top: 1px;\n  position: absolute;\n  right: -15px;\n  top: -23px;\n  width: 36px;\n}";
3985    hover_css = "#" + id + " .st-btn:hover {\n}";
3986    css = common_css;
3987    if (!st.mobile) {
3988      css += hover_css;
3989    }
3990    st.css(css);
3991    html = "<div class=\"st-backdrop\"></div>\n<div class=\"st-modal\">\n  <div class=\"st-headline\">" + headline + "</div>\n  <div class=\"st-message\">" + message + "</div>\n  <div class=\"st-error\"></div>\n  <input class=\"st-email\" type=\"text\" placeholder=\"[email protected]\" />\n  <div class=\"st-btn\">" + button_label + "</div>\n  <div class=\"st-close\">\n    " + st.ICONS['close'] + "\n  </div>\n</div>";
3992    $el.innerHTML = html;
3993    $backdrop = $el.querySelector('.st-backdrop');
3994    $button = $el.querySelector('.st-btn');
3995    $close = $el.querySelector('.st-close');
3996    $error = $el.querySelector('.st-error');
3997    $input = $el.querySelector('input');
3998    $modal = $el.querySelector('.st-modal');
3999    show = function() {
4000      var onScroll, seen_at;
4001      if (behavior !== 'show') {
4002        seen_at = st.storage.get('st_email_list_builder_seen_at');
4003        if (Date.now() - seen_at < st.WEEK) {
4004          return;
4005        }
4006        st.storage.set('st_email_list_builder_seen_at', Date.now());
4007      }
4008      if (container != null) {
4009        container.appendChild($el);
4010      }
4011      if (0 === scroll_down) {
4012        return setTimeout((function() {
4013          return st.removeClass($el, 'st-hidden');
4014        }), 10);
4015      } else {
4016        onScroll = function(e) {};
4017        st.addEventListener(document, 'scroll', function(e) {
4018          var scroll_timeout;
4019          if (scroll_timeout) {
4020            clearTimeout(scroll_timeout);
4021          }
4022          return scroll_timeout = setTimeout((function() {
4023            if (st.getScrollDepth() > scroll_down) {
4024              st.removeEventListener(document, 'scroll', onScroll);
4025              return st.removeClass($el, 'st-hidden');
4026            }
4027          }), 1000);
4028        });
4029        return st.addEventListener(document, 'scroll', onScroll);
4030      }
4031    };
4032    st.addEventListener($backdrop, 'click', function() {
4033      st.close($el);
4034      return typeof onClose === "function" ? onClose() : void 0;
4035    });
4036    st.addEventListener($close, 'click', function() {
4037      st.close($el);
4038      return typeof onClose === "function" ? onClose() : void 0;
4039    });
4040    st.addEventListener($input, 'keydown', function(e) {
4041      if (st.isEnter(e)) {
4042        send();
4043      }
4044      return $error.innerHTML = '';
4045    });
4046    st.addEventListener($button, 'click', function() {
4047      return send();
4048    });
4049    st.addEventListener(document, 'keydown', function(e) {
4050      if (st.isEsc(e)) {
4051        st.close($el);
4052        return typeof onClose === "function" ? onClose() : void 0;
4053      }
4054    });
4055    send = function() {
4056      var email, url;
4057      email = $el.querySelector('.st-email').value;
4058      url = st.href;
4059      if (!st.isValidEmail(email)) {
4060        $error.innerHTML = 'Please enter a valid email';
4061        return;
4062      }
4063      st.send(st.API + "/v1.0/email-list-builder/collect", {
4064        email: email,
4065        property: property
4066      });
4067      st.log({
4068        event: 'elb-submit',
4069        url: url
4070      });
4071      st.emit('email-submitted', {
4072        email: email,
4073        property: property,
4074        url: url
4075      });
4076      st.storage.set('st_email_list_builder_collected', true);
4077      st.addClass($modal, 'st-hidden');
4078      return setTimeout((function() {
4079        html = "<div class=\"st-headline\">" + thanks + "</div>";
4080        $modal.innerHTML = html;
4081        st.removeClass($modal, 'st-hidden');
4082        return setTimeout((function() {
4083          st.close($el);
4084          return typeof onSubmit === "function" ? onSubmit(email) : void 0;
4085        }), 2500);
4086      }), 500);
4087    };
4088    if (behavior === 'show' || 0 !== scroll_down) {
4089      return show();
4090    } else {
4091      setTimeout((function() {
4092        return show();
4093      }), 60 * 1000);
4094      scroll_timeout = null;
4095      onScroll = function(e) {
4096        return st.addEventListener(document, 'scroll', function(e) {
4097          if (scroll_timeout) {
4098            clearTimeout(scroll_timeout);
4099          }
4100          return scroll_timeout = setTimeout((function() {
4101            if (st.getScrollDepth() > 60) {
4102              st.removeEventListener(document, 'scroll', onScroll);
4103              return show();
4104            }
4105          }), 1000);
4106        });
4107      };
4108      return st.addEventListener(document, 'scroll', onScroll);
4109    }
4110  };
4111
4112}).call(this);
4113
4114(function() {
4115  var st;
4116
4117  st = window.__sharethis__;
4118
4119  st.loader['gdpr-compliance-tool'] = function(config) {
4120    var _xhr, color, commandQueue, display, publisher_name, publisher_purposes, scope;
4121    if (config == null) {
4122      config = {};
4123    }
4124    if (!config.enabled) {
4125      return;
4126    }
4127    if (window.__cmp) {
4128      return;
4129    }
4130    color = config.color, display = config.display, publisher_name = config.publisher_name, publisher_purposes = config.publisher_purposes, scope = config.scope;
4131    if (color == null) {
4132      color = '#2e7d32';
4133    }
4134    if (publisher_name == null) {
4135      publisher_name = '';
4136    }
4137    if (publisher_purposes == null) {
4138      publisher_purposes = [];
4139    }
4140    commandQueue = [];
4141    st.addEventListener('message', function(event) {
4142      return window.__cmp.receiveMessage(event);
4143    });
4144    window.__cmp = function(command, parameter, callback) {
4145      return commandQueue.push({
4146        command: command,
4147        paramter: parameter,
4148        callback: callback
4149      });
4150    };
4151    window.__cmp.commandQueue = commandQueue;
4152    window.__cmp.receiveMessage = function(event) {
4153      var data;
4154      data = event && event.data && event.data.__cmpCall;
4155      if (data) {
4156        return commandQueue.push({
4157          callId: data.callId,
4158          command: data.command,
4159          parameter: data.parameter,
4160          event: event
4161        });
4162      }
4163    };
4164    window.__cmp.config = {
4165      storeConsentGlobally: scope === 'global',
4166      publisherName: publisher_name,
4167      publisherPurposeList: publisher_purposes,
4168      color: color
4169    };
4170    if (display === "always") {
4171      __cmp('showConsentTool');
4172      return st.js("https://gdpr-api.sharethis.com/cmp.js");
4173    } else if (display === "eu") {
4174      _xhr = new XMLHttpRequest();
4175      _xhr.open("GET", "https://gdpr-api.sharethis.com/is_eu");
4176      _xhr.responseType = "json";
4177      _xhr.onload = (function(_this) {
4178        return function() {
4179          var ref;
4180          if ((ref = _xhr.response) != null ? ref.is_eu : void 0) {
4181            __cmp('showConsentTool');
4182            return st.js("https://gdpr-api.sharethis.com/cmp.js");
4183          }
4184        };
4185      })(this);
4186      return _xhr.send();
4187    }
4188  };
4189
4190}).call(this);
4191
4192(function() {
4193  var st;
4194
4195  st = window.__sharethis__;
4196
4197  st.loader['gdpr-compliance-tool-v2'] = function(config) {
4198    var _xhr, background_color, color, display, gear_color, gear_position, language, preview, publisher_name, publisher_purposes, publisher_restrictions, scope, text_color;
4199    if (config == null) {
4200      config = {};
4201    }
4202
4203    /*
4204    config = {
4205      background_color: '#000000'
4206      color: '#9900ef'
4207      display: 'always'
4208      enabled: true
4209      gear_color: ''
4210      gear_position: 'bottom_left'
4211      language: 'en'
4212      publisher_name: 'ShareThis'
4213      scope: 'global'
4214      text_color: '#ffffff'
4215    }
4216     */
4217    if (!config.enabled) {
4218      return;
4219    }
4220    preview = config.preview, background_color = config.background_color, color = config.color, display = config.display, gear_color = config.gear_color, gear_position = config.gear_position, language = config.language, publisher_name = config.publisher_name, publisher_purposes = config.publisher_purposes, publisher_restrictions = config.publisher_restrictions, scope = config.scope, text_color = config.text_color;
4221    if (language == null) {
4222      language = 'en';
4223    }
4224    if (publisher_name == null) {
4225      publisher_name = '';
4226    }
4227    if (publisher_purposes == null) {
4228      publisher_purposes = [];
4229    }
4230    if (publisher_restrictions == null) {
4231      publisher_restrictions = {};
4232    }
4233    if (preview == null) {
4234      preview = false;
4235    }
4236    if ((typeof Shopify !== "undefined" && Shopify !== null) && void 0 === (Shopify.designMode != null) && preview === true) {
4237      return;
4238    }
4239    window.__cmpconfig = {
4240      background_color: background_color,
4241      color: color,
4242      gear_color: gear_color,
4243      gear_position: gear_position,
4244      global: scope !== 'publisher',
4245      language: language,
4246      publisher_name: publisher_name,
4247      publisher_restrictions: publisher_restrictions,
4248      purposes: publisher_purposes,
4249      text_color: text_color,
4250      preview: preview
4251    };
4252    if (display === "always") {
4253      return st.js("https://gdpr-api.sharethis.com/cmp-v2.js");
4254    } else if (display === "eu") {
4255      _xhr = new XMLHttpRequest();
4256      _xhr.open("GET", "https://gdpr-api.sharethis.com/is_eu");
4257      _xhr.responseType = "json";
4258      _xhr.onload = (function(_this) {
4259        return function() {
4260          var ref;
4261          if ((ref = _xhr.response) != null ? ref.is_eu : void 0) {
4262            return st.js("https://gdpr-api.sharethis.com/cmp-v2.js");
4263          }
4264        };
4265      })(this);
4266      return _xhr.send();
4267    }
4268  };
4269
4270}).call(this);
4271
4272(function() {
4273  var st;
4274
4275  st = window.__sharethis__;
4276
4277  st.loader['image-share-buttons'] = function(config) {
4278    var $el, $image, $images, alignment, container, enter, exit, i, id, inline_buttons, len, networks, omit_class, onLoad, over_buttons, over_image, padding, radius, ref, size, spacing, src, timeout;
4279    if (config == null) {
4280      config = {};
4281    }
4282    if (!config.enabled) {
4283      return;
4284    }
4285    alignment = config.alignment, container = config.container, omit_class = config.omit_class, onLoad = config.onLoad, padding = config.padding, networks = config.networks, radius = config.radius, size = config.size, spacing = config.spacing;
4286    if (networks == null) {
4287      networks = ['facebook', 'twitter', 'pinterest', 'email'];
4288    }
4289    if (omit_class == null) {
4290      omit_class = '';
4291    }
4292    if (padding == null) {
4293      padding = 10;
4294    }
4295    if (radius == null) {
4296      radius = 0;
4297    }
4298    if (size == null) {
4299      size = 40;
4300    }
4301    if (spacing == null) {
4302      spacing = 8;
4303    }
4304    if (typeof container === 'string') {
4305      container = document.getElementById(container);
4306    }
4307    ref = st.newElement(container), $el = ref.$el, id = ref.id;
4308    st.addClass($el, 'st-image-share-buttons');
4309    $el.style.position = 'absolute';
4310    inline_buttons = st.load('inline-share-buttons', {
4311      alignment: alignment,
4312      id: id,
4313      enabled: true,
4314      networks: networks,
4315      padding: padding,
4316      radius: radius,
4317      size: size,
4318      spacing: spacing,
4319      onLoad: function() {
4320        st.addClass($el, 'st-hidden');
4321        return typeof onLoad === "function" ? onLoad() : void 0;
4322      }
4323    });
4324    timeout = null;
4325    over_buttons = false;
4326    over_image = false;
4327    enter = function($img) {
4328      var left, ref1, src, top;
4329      if (omit_class) {
4330        if (st.hasClass($img, omit_class)) {
4331          return;
4332        }
4333        if (st.hasClass($img.parentNode.parentNode, omit_class)) {
4334          return;
4335        }
4336        if (st.hasClass($img.parentNode, omit_class)) {
4337          return;
4338        }
4339      }
4340      ref1 = st.position($img, container), left = ref1.left, top = ref1.top;
4341      src = $img.getAttribute('src');
4342      $el.style.width = $img.width + 'px';
4343      if ($img.height < 200 || $img.width < 200) {
4344        return;
4345      }
4346      if (timeout) {
4347        clearTimeout(timeout);
4348      }
4349      return timeout = setTimeout((function() {
4350        if (inline_buttons != null) {
4351          inline_buttons.modify('image', src);
4352        }
4353        $el.style.left = st.px(left);
4354        $el.style.top = st.px(top);
4355        $el.style.padding = st.px(spacing);
4356        $el.style.boxSizing = 'border-box';
4357        st.removeClass($el, 'st-hide');
4358        st.removeClass($el, 'st-hidden');
4359        return inline_buttons != null ? inline_buttons.resize() : void 0;
4360      }), 10);
4361    };
4362    exit = function(next) {
4363      if (timeout) {
4364        clearTimeout(timeout);
4365      }
4366      return timeout = setTimeout((function() {
4367        if (over_image || over_buttons) {
4368          return;
4369        }
4370        st.addClass($el, 'st-hide');
4371        return typeof next === "function" ? next() : void 0;
4372      }), 10);
4373    };
4374    $images = document.querySelectorAll('img');
4375    for (i = 0, len = $images.length; i < len; i++) {
4376      $image = $images[i];
4377      src = $image.getAttribute('src');
4378      if (/\.(gif|jpg|jpeg|png)$/i.test(src)) {
4379        st.addEventListener($image, 'mouseenter', function() {
4380          over_image = true;
4381          return enter(this);
4382        });
4383        st.addEventListener($image, 'mouseleave', function() {
4384          over_image = false;
4385          return exit();
4386        });
4387      }
4388    }
4389    st.addEventListener($el, 'mouseenter', function() {
4390      return over_buttons = true;
4391    });
4392    return st.addEventListener($el, 'mouseleave', function() {
4393      over_buttons = false;
4394      return exit();
4395    });
4396  };
4397
4398}).call(this);
4399
4400(function() {
4401  var DOMAINS, load, st;
4402
4403  st = window.__sharethis__;
4404
4405  DOMAINS = {
4406    airbnb: 'https://www.airbnb.com/rooms/',
4407    amazon: 'https://www.amazon.com/gp/profile/',
4408    bandcamp: '',
4409    behance: 'https://www.behance.net/',
4410    bitbucket: 'https://bitbucket.org/',
4411    blogger: 'https://www.blogger.com/',
4412    bluesky: 'https://bsky.app/profile/',
4413    deviantart: '',
4414    digg: 'https://www.digg.com/',
4415    discord: 'https://discord.gg/',
4416    dribbble: 'https://dribbble.com/',
4417    etsy: 'https://www.etsy.com/shop/',
4418    facebook: 'https://www.facebook.com/',
4419    flickr: 'https://www.flickr.com/people/',
4420    flipboard: 'https://flipboard.com/',
4421    foursquare: 'https://foursquare.com/v/',
4422    houzz: 'https://www.houzz.com/user/',
4423    github: 'https://www.github.com/',
4424    gitlab: 'https://gitlab.com/',
4425    googlemaps: '',
4426    goodreads: '',
4427    instagram: 'https://www.instagram.com/',
4428    linkedin: 'https://www.linkedin.com/',
4429    medium: 'https://www.medium.com/',
4430    messenger: 'https://www.messenger.com/',
4431    meetup: 'https://www.meetup.com/members/',
4432    mix: 'https://mix.com/',
4433    odnoklassniki: 'https://ok.ru/',
4434    patreon: 'https://www.patreon.com/',
4435    pinterest: 'https://www.pinterest.com/',
4436    quora: 'https://www.quora.com/',
4437    reddit: 'https://www.reddit.com/',
4438    shares: 'https://shar.es/@',
4439    skype: '',
4440    slideshare: 'https://www.slideshare.net/',
4441    snapchat: 'https://www.snapchat.com/',
4442    soundcloud: 'https://soundcloud.com/',
4443    spotify: 'https://open.spotify.com/',
4444    stackoverflow: 'https://stackoverflow.com/users/',
4445    telegram: 'https://t.me/',
4446    threads: 'https://www.threads.net/@',
4447    tiktok: 'https://www.tiktok.com/@',
4448    trello: 'https://trello.com/',
4449    tripadvisor: 'https://www.tripadvisor.com/Profile/',
4450    tumblr: 'https://www.tumblr.com/',
4451    twitch: 'https://www.twitch.tv/',
4452    twitter: 'https://www.twitter.com/',
4453    vk: 'https://www.vk.com/',
4454    vimeo: 'https://vimeo.com/',
4455    wechat: 'https://web.wechat.com/',
4456    weibo: 'https://www.weibo.com/',
4457    whatsapp: 'https://wa.me/',
4458    xing: 'https://www.xing.com/profile/',
4459    yelp: 'https://www.yelp.com/',
4460    youtube: 'https://www.youtube.com/',
4461    zillow: 'https://www.zillow.com/profile/',
4462    zomato: ''
4463  };
4464
4465  st.loader['inline-follow-buttons'] = function(config) {
4466    var $el, $els, i, len, results;
4467    if (config == null) {
4468      config = {};
4469    }
4470    if (!config.enabled) {
4471      return;
4472    }
4473    if (config.id) {
4474      $el = document.getElementById(config.id);
4475      if ($el) {
4476        return load($el, config);
4477      }
4478    } else {
4479      $els = document.querySelectorAll('.sharethis-inline-follow-buttons');
4480      results = [];
4481      for (i = 0, len = $els.length; i < len; i++) {
4482        $el = $els[i];
4483        results.push(load($el, config));
4484      }
4485      return results;
4486    }
4487  };
4488
4489  load = function($el, config) {
4490    var $button, $buttons, action, action_enable, action_pos, alignment, alignment_opposite, background_color, class_names, color, common_css, css, fade_in, fn, hover_css, html, i, id, index, j, language, len, len1, network, network_css, networks, onLoad, padding, preview, profiles, radius, resize, size, spacing, text_color, text_color_filter, url;
4491    action = config.action, action_enable = config.action_enable, action_pos = config.action_pos, alignment = config.alignment, color = config.color, fade_in = config.fade_in, id = config.id, language = config.language, networks = config.networks, onLoad = config.onLoad, padding = config.padding, profiles = config.profiles, radius = config.radius, size = config.size, spacing = config.spacing, url = config.url, text_color = config.text_color, background_color = config.background_color, preview = config.preview;
4492    alignment_opposite = alignment === 'left' ? 'right' : 'left';
4493    if (action == null) {
4494      action = 'Follow us:';
4495    }
4496    if (action_enable == null) {
4497      action_enable = true;
4498    }
4499    if (action_pos == null) {
4500      action_pos = 'top';
4501    }
4502    if (alignment == null) {
4503      alignment = 'left';
4504    }
4505    if (color == null) {
4506      color = 'social';
4507    }
4508    if (fade_in == null) {
4509      fade_in = true;
4510    }
4511    if (language == null) {
4512      language = 'en';
4513    }
4514    if (networks == null) {
4515      networks = ['facebook', 'twitter', 'pinterest'];
4516    }
4517    if (padding == null) {
4518      padding = 10;
4519    }
4520    if (profiles == null) {
4521      profiles = {};
4522    }
4523    if (radius == null) {
4524      radius = 0;
4525    }
4526    if (size == null) {
4527      size = 40;
4528    }
4529    if (spacing == null) {
4530      spacing = 8;
4531    }
4532    if (preview == null) {
4533      preview = false;
4534    }
4535    if ((typeof Shopify !== "undefined" && Shopify !== null) && (Shopify.designMode != null)) {
4536      preview = false;
4537    }
4538    if (id == null) {
4539      id = "st-" + (st.uid());
4540    }
4541    $el.setAttribute('id', id);
4542    st.addClass($el, 'st-inline-follow-buttons');
4543    st.addClass($el, 'st-#{action_pos}');
4544    if (fade_in) {
4545      st.addClass($el, 'st-hidden');
4546    }
4547    if (true === preview) {
4548      st.addClass($el, 'st-preview');
4549    }
4550    common_css = "#" + id + " {\n  " + st.FONT_FAMILY + ";\n  direction: ltr;\n  display: block;\n  opacity: 1;\n  text-align: " + alignment + ";\n  z-index: 94034;\n}\n#" + id + ".st-animated {\n  " + (st.TRANSITION('opacity')) + "\n}\n#" + id + " .st-left {\n  display: inline-block;\n  padding-top: " + (st.px(size / 4)) + ";\n  padding-right: 6px;\n}\n#" + id + ".st-preview {\n  display: none!important;\n  opacity: 0!important;\n}\n#" + id + " .st-top {\n  padding-bottom: " + (st.px(size / 8)) + ";\n}\n#" + id + " .st-right {\n  display: inline-block;\n  padding-top: " + (st.px(size / 4)) + ";\n  padding-left: 4px;\n}\n#" + id + ".st-hidden {\n  opacity: " + (fade_in ? 0 : 1) + ";\n}\n#" + id + " .st-btn {\n  " + st.BORDER_BOX + "\n  " + (st.TRANSITION(['opacity', 'top'])) + "\n  " + (st.BORDER_RADIUS(radius)) + "\n  border: " + (color === 'white' ? 'solid 0.5px #ccc' : 'none') + ";\n  cursor: pointer;\n  display: inline-block;\n  height: " + (st.px(size)) + ";\n  line-height: " + (st.px(size)) + ";\n  margin-right: " + (spacing ? st.px(spacing) : 0) + ";\n  padding: 0 " + (st.px(padding)) + ";\n  position: relative;\n  text-align: center;\n  top: 0;\n  vertical-align: top;\n  white-space: nowrap;\n}\n#" + id + " .st-btn:last-child {\n  margin-right: 0;\n}\n#" + id + " .st-btn > svg {\n  height: " + (st.px(size / 2)) + ";\n  width: " + (st.px(size / 2)) + ";\n  position: relative;\n  top: " + (st.px(size / 4)) + ";\n  vertical-align: top;\n}\n#" + id + " .st-btn > img {\n  height: " + (st.px(size / 2)) + ";\n  width: " + (st.px(size / 2)) + ";\n  position: relative;\n  top: " + (st.px(size / 4)) + ";\n  vertical-align: top;\n}\n#" + id + " .st-btn > span {\n  " + (st.TRANSITION()) + "\n  color: #fff;\n  display: inline-block;\n  font-weight: 500;\n  letter-spacing: 0.5px;\n  min-width: " + (st.px(30 + Math.floor(size * 15 / 16))) + ";\n  opacity: 1;\n  padding: 0 6px;\n  position: relative;\n  vertical-align: top;\n}\n#" + id + ".st-justified {\n  display: flex;\n  text-align: center;\n}\n#" + id + ".st-justified .st-btn {\n  " + st.FLEX + "\n}";
4551    hover_css = "#" + id + " .st-btn:hover {\n  opacity: .8;\n  top: -4px;\n}";
4552    text_color_filter = st.getFilter(text_color);
4553    network_css = ((function() {
4554      var i, len, results;
4555      results = [];
4556      for (i = 0, len = networks.length; i < len; i++) {
4557        network = networks[i];
4558        results.push("#" + id + " .st-btn[data-network='" + network + "'] {\n  background-color: " + ((function() {
4559          switch (color) {
4560            case 'social':
4561              return st.COLORS[network];
4562            case 'black':
4563              return '#000';
4564            case 'gray':
4565              return '#eee';
4566            case 'custom':
4567              return background_color;
4568            case 'white':
4569              return '#fff';
4570            default:
4571              return '#fff';
4572          }
4573        })()) + "\n}\n#" + id + " .st-btn[data-network='" + network + "'] img {\n  filter: " + ((function() {
4574          switch (color) {
4575            case 'black':
4576              return 'invert(0%) sepia(100%) saturate(22%) hue-rotate(45deg) brightness(107%) contrast(105%)';
4577            case 'gray':
4578              return 'invert(100%) sepia(100%) saturate(22%) hue-rotate(45deg) brightness(107%) contrast(105%)';
4579            case 'custom':
4580              return text_color_filter;
4581            default:
4582              return '';
4583          }
4584        })()) + "\n}\n#" + id + " .st-btn[data-network='" + network + "'] > span {\n  color: " + ((function() {
4585          switch (color) {
4586            case 'white':
4587              return st.COLORS[network];
4588            case 'black':
4589              return '#fff';
4590            case 'gray':
4591              return '#000';
4592            case 'custom':
4593              return '#fff';
4594            case 'social':
4595              return '#fff';
4596            default:
4597              return '#fff';
4598          }
4599        })()) + "\n}");
4600      }
4601      return results;
4602    })()).join('\n');
4603    css = common_css;
4604    css += hover_css;
4605    css += network_css;
4606    st.css(css);
4607    html = '';
4608    networks = st.filterInvalidNetworks(networks, Object.keys(DOMAINS));
4609    if (action_enable && (action != null ? action.length : void 0) > 0 && action_pos !== 'right') {
4610      html += "<div class='st-" + action_pos + "'>\n  <span>" + action + "</span>\n</div>";
4611    }
4612    for (index = i = 0, len = networks.length; i < len; index = ++i) {
4613      network = networks[index];
4614      class_names = ['st-btn'];
4615      if (index === 0) {
4616        class_names.push('st-first');
4617      }
4618      if (index === networks.length - 1) {
4619        class_names.push('st-last');
4620      }
4621      html += "<div class='" + (class_names.join(' ')) + "' data-network='" + network + "'>\n  " + (color === 'white' ? st.ICONS_WHITE[network] : st.ICONS[network]) + "\n</div>";
4622    }
4623    if (action_enable && (action != null ? action.length : void 0) > 0 && action_pos === 'right') {
4624      html += "<div class='st-" + action_pos + "'>\n  <span>" + (st.capitalize(action)) + "</span>\n</div>";
4625    }
4626    $el.innerHTML = html;
4627    $buttons = $el.querySelectorAll('.st-btn');
4628    resize = function() {
4629      var $button, actual, available, j, k, len1, results;
4630      available = $el.offsetWidth;
4631      actual = function() {
4632        var $button, j, len1, width;
4633        width = action_enable ? 70 : 0;
4634        for (j = 0, len1 = $buttons.length; j < len1; j++) {
4635          $button = $buttons[j];
4636          if ($button.style.display === 'none') {
4637            continue;
4638          }
4639          if (alignment === 'justified') {
4640            width += 160;
4641          } else {
4642            width += $button.offsetWidth + spacing;
4643          }
4644        }
4645        return width;
4646      };
4647      for (j = 0, len1 = $buttons.length; j < len1; j++) {
4648        $button = $buttons[j];
4649        $button.style.display = 'inline-block';
4650      }
4651      results = [];
4652      for (index = k = $buttons.length - 1; k >= 0; index = k += -1) {
4653        $button = $buttons[index];
4654        if (actual() > available) {
4655          results.push($button.style.display = 'none');
4656        } else {
4657          results.push(void 0);
4658        }
4659      }
4660      return results;
4661    };
4662    st.addEventListener(window, 'resize', resize);
4663    fn = function($button) {
4664      return st.addEventListener($button, 'click', function() {
4665        var follow_url;
4666        network = $button.getAttribute('data-network');
4667        follow_url = DOMAINS[network] + (profiles[network] || '');
4668        if (network === 'youtube' && profiles[network]) {
4669          follow_url += '?sub_confirmation=1';
4670        }
4671        if (network === 'tumblr' && profiles[network]) {
4672          follow_url = DOMAINS[network].replace('www', profiles[network]);
4673        }
4674        st.follow({
4675          follow_url: follow_url,
4676          network: network,
4677          url: url || $el.getAttribute('data-url')
4678        });
4679        return typeof onLoad === "function" ? onLoad() : void 0;
4680      });
4681    };
4682    for (j = 0, len1 = $buttons.length; j < len1; j++) {
4683      $button = $buttons[j];
4684      fn($button);
4685    }
4686    resize();
4687    if (fade_in) {
4688      st.addClass($el, 'st-animated');
4689    }
4690    if (fade_in) {
4691      st.removeClass($el, 'st-hidden');
4692    }
4693    if (typeof onLoad === "function") {
4694      onLoad();
4695    }
4696    return {
4697      $buttons: $buttons,
4698      $el: $el,
4699      id: id,
4700      resize: resize
4701    };
4702  };
4703
4704}).call(this);
4705
4706(function() {
4707  var load, st;
4708
4709  st = window.__sharethis__;
4710
4711  st.loader['inline-reaction-buttons'] = function(config) {
4712    var $el, $els, i, len, results;
4713    if (config == null) {
4714      config = {};
4715    }
4716    if (!config.enabled) {
4717      return;
4718    }
4719    if (config.id) {
4720      $el = document.getElementById(config.id);
4721      return load($el, config);
4722    } else {
4723      $els = document.querySelectorAll('.sharethis-inline-reaction-buttons');
4724      results = [];
4725      for (i = 0, len = $els.length; i < len; i++) {
4726        $el = $els[i];
4727        results.push(load($el, config));
4728      }
4729      return results;
4730    }
4731  };
4732
4733  load = function($el, config) {
4734    var $buttons, alignment, class_names, common_css, css, data_url, fade_in, hover_css, html, i, id, index, item, k, label_span, language, len, min_count, onLoad, onReact, padding, reaction, reactions, ref, ref1, resize, selected_reaction, size, url;
4735    alignment = config.alignment, id = config.id, language = config.language, min_count = config.min_count, padding = config.padding, reactions = config.reactions, size = config.size, url = config.url;
4736    fade_in = config.fade_in, onLoad = config.onLoad, onReact = config.onReact;
4737    data_url = $el.getAttribute('data-url');
4738    if (fade_in == null) {
4739      fade_in = true;
4740    }
4741    if (min_count == null) {
4742      min_count = 0;
4743    }
4744    if (reactions == null) {
4745      reactions = (function() {
4746        var results;
4747        results = [];
4748        for (k in st.REACTIONS) {
4749          results.push(k);
4750        }
4751        return results;
4752      })();
4753    }
4754    if (padding == null) {
4755      padding = 10;
4756    }
4757    if (language == null) {
4758      language = 'en';
4759    }
4760    if (size == null) {
4761      size = 48;
4762    }
4763    if (url == null) {
4764      url = data_url || st.href;
4765    }
4766    selected_reaction = st.storage.get("st_reaction_" + url);
4767    if (id == null) {
4768      id = "st-" + (st.uid());
4769    }
4770    $el.setAttribute('id', id);
4771    st.addClass($el, ["st-inline-reaction-buttons", "st-" + alignment, selected_reaction ? "st-reacted" : void 0, fade_in ? 'st-hidden' : void 0, language ? 'st-has-labels' : void 0, language !== 'en' ? "st-lang-" + language : void 0]);
4772    common_css = "#" + id + " {\n  " + st.FONT_FAMILY + "\n  " + (st.TRANSITION('opacity')) + "\n  direction: ltr;\n  display: block;\n  opacity: 1;\n  text-align: " + alignment + ";\n}\n#" + id + ".st-hidden {\n  opacity: " + (fade_in ? 0 : 1) + ";\n}\n#" + id + " .st-btn {\n  " + st.BORDER_BOX + "\n  " + (st.TRANSITION()) + "\n  display: inline-block;\n  font-size: " + (st.px(size / 2)) + ";\n  line-height: " + (st.px(size / 2)) + ";\n  opacity: 1;\n  padding: " + (st.px(padding)) + ";\n  position: relative;\n  text-align: center;\n  vertical-align: top;\n  white-space: nowrap;\n  width: " + (st.px(size + 2 * padding)) + ";\n}\n#" + id + " .st-btn > svg {\n  display: block;\n  height: " + (st.px(size)) + ";\n  margin: auto;\n  width: " + (st.px(size)) + ";\n  vertical-align: top;\n}\n#" + id + " .st-btn > span {\n  " + (st.TRANSITION('font-size')) + ";\n  color: #555;\n  font-size: 14px;\n  font-weight: 400;\n  letter-spacing: 0.5px;\n  vertical-align: top;\n}\n#" + id + " .st-btn .st-count.st-grow {\n  font-size: 18px;\n}\n#" + id + " .st-btn.st-hide-count .st-count {\n  opacity: 0;\n}\n#" + id + " .st-btn .st-text {\n  display: none;\n  font-weight: bold;\n  line-height: 12px;\n  white-space: normal;\n  word-break: break-all;\n}\n#" + id + ".st-justified {\n  display: flex;\n  text-align: center;\n}\n#" + id + ".st-justified .st-btn {\n  " + st.FLEX + "\n}\n#" + id + " .st-btn.st-selected {\n  " + (st.TRANSFORM("scale(1.2)")) + "\n}\n#" + id + ".st-reacted .st-btn:not(.st-selected) {\n  filter: grayscale(100%);\n}";
4773    hover_css = "#" + id + ":not(.st-reacted) .st-btn:hover {\n  " + (st.TRANSFORM("scale(1.2)")) + "\n  cursor: pointer;\n}\n#" + id + ":not(.st-reacted) .st-btn:active {\n  " + (st.TRANSFORM("scale(1.4)")) + "\n}\n#" + id + ".st-has-labels:not(.st-reacted) .st-btn:hover .st-count {\n  display: none;\n}\n#" + id + ".st-has-labels:not(.st-reacted) .st-btn:hover .st-text {\n  display: block;\n}\n#" + id + ".st-has-labels:not(.st-reacted) .st-btn:hover span {\n  font-size: 10px;\n}";
4774    css = common_css;
4775    if (!st.mobile) {
4776      css += hover_css;
4777    }
4778    st.css(css);
4779    html = '';
4780    for (index = i = 0, len = reactions.length; i < len; index = ++i) {
4781      reaction = reactions[index];
4782      if (!st.REACTIONS[reaction]) {
4783        continue;
4784      }
4785      item = st.REACTIONS[reaction];
4786      class_names = ['st-btn'];
4787      if (reaction === selected_reaction) {
4788        class_names.push('st-selected');
4789      }
4790      if (index === 0) {
4791        class_names.push('st-first');
4792      }
4793      if (index === reactions.length - 1) {
4794        class_names.push('st-last');
4795      }
4796      if (language) {
4797        label_span = "<span class=\"st-text\">\n  " + ((ref = st.i18n[item.label]) != null ? (ref1 = ref[language]) != null ? ref1.toUpperCase() : void 0 : void 0) + "\n</span>";
4798      } else {
4799        label_span = '';
4800      }
4801      html += "<div class='" + (class_names.join(' ')) + "' data-reaction='" + reaction + "'>
4801\n  <svg\n    xmlns=\"http://www.w3.org/2000/svg\"\n    viewBox=\"0 0 64 64\"\n    enable-background=\"new 0 0 64 64\"\n  >\n    " + item.icon + "\n  </svg>\n  <span class=\"st-count\"></span>\n  " + label_span + "\n</div>";
4802    }
4803    $el.innerHTML = html;
4804    $buttons = $el.querySelectorAll('.st-btn');
4805    resize = function() {
4806      var $button, actual, available, j, len1, results, shrink_by;
4807      available = $el.offsetWidth;
4808      actual = function() {
4809        var $button, j, len1, width;
4810        width = 0;
4811        for (j = 0, len1 = $buttons.length; j < len1; j++) {
4812          $button = $buttons[j];
4813          width += size + 2 * padding;
4814        }
4815        return width;
4816      };
4817      if (actual() > available) {
4818        shrink_by = available / actual();
4819        results = [];
4820        for (j = 0, len1 = $buttons.length; j < len1; j++) {
4821          $button = $buttons[j];
4822          $button.style.padding = st.px(padding * shrink_by);
4823          $button.style.width = st.px((size + 2 * padding) * shrink_by);
4824          $button.querySelector('svg').style.width = st.px(size * shrink_by);
4825          results.push($button.querySelector('svg').style.height = st.px(size * shrink_by));
4826        }
4827        return results;
4828      }
4829    };
4830    return st.loadCounts({
4831      url: url
4832    }, function(counts) {
4833      var $button, fn, j, l, label, len1, len2, ref2, ref3, value;
4834      for (j = 0, len1 = $buttons.length; j < len1; j++) {
4835        $button = $buttons[j];
4836        reaction = $button.getAttribute('data-reaction');
4837        ref2 = counts[reaction] || {}, label = ref2.label, value = ref2.value;
4838        if ((ref3 = $button.querySelector('.st-count')) != null) {
4839          ref3.innerHTML = label;
4840        }
4841        if (label && value >= min_count) {
4842          st.removeClass($button, 'st-hide-count');
4843        } else {
4844          st.addClass($button, 'st-hide-count');
4845        }
4846      }
4847      resize();
4848      if (fade_in) {
4849        st.removeClass($el, 'st-hidden');
4850      }
4851      st.addEventListener(window, 'resize', resize);
4852      fn = function($button) {
4853        return st.addEventListener($button, 'click', function() {
4854          if (st.hasClass($el, 'st-reacted')) {
4855            return;
4856          }
4857          reaction = $button.getAttribute('data-reaction');
4858          st.addClass($el, 'st-reacted');
4859          st.addClass($button, 'st-selected');
4860          st.react({
4861            reaction: reaction,
4862            url: url
4863          });
4864          st.inc($button.querySelector('.st-count'));
4865          st.storage.set("st_reaction_" + url, reaction);
4866          return typeof onReact === "function" ? onReact(reaction) : void 0;
4867        });
4868      };
4869      for (l = 0, len2 = $buttons.length; l < len2; l++) {
4870        $button = $buttons[l];
4871        fn($button);
4872      }
4873      return typeof onLoad === "function" ? onLoad() : void 0;
4874    });
4875  };
4876
4877}).call(this);
4878
4879(function() {
4880  var load, st;
4881
4882  st = window.__sharethis__;
4883
4884  st.loader['inline-share-buttons'] = function(config) {
4885    var $el, $els, i, id, len, loadFn, ref, results;
4886    if (config == null) {
4887      config = {};
4888    }
4889    if (!config.enabled) {
4890      return;
4891    }
4892    loadFn = load;
4893    if (config.is_ssb) {
4894      loadFn = st.loadSsb;
4895    }
4896    if (config.id) {
4897      $el = document.getElementById(config.id);
4898      if ($el) {
4899        return loadFn($el, config, load);
4900      }
4901    } else if (config.container) {
4902      if (typeof config.container === 'string') {
4903        config.container = document.getElementById(config.container);
4904      }
4905      ref = st.newElement(config.container), $el = ref.$el, id = ref.id;
4906      config.id = id;
4907      if ($el) {
4908        return loadFn($el, config, load);
4909      }
4910    } else {
4911      $els = document.querySelectorAll('.sharethis-inline-share-buttons');
4912      results = [];
4913      for (i = 0, len = $els.length; i < len; i++) {
4914        $el = $els[i];
4915        results.push(loadFn($el, config, load));
4916      }
4917      return results;
4918    }
4919  };
4920
4921  load = function($el, config) {
4922    var $button, $buttons, $total, $total_label, alignment, alignment_opposite, background_color, class_names, color, common_css, css, description, fade_in, fn, font_size, hover_css, html, i, id, image, index, j, k, label, label_span, labels, language, len, len1, len2, message, min_count, mobile_css, modify, network, network_css, networks, onLoad, padding, preview, radius, ref, resize, show_mobile_buttons, show_total, size, spacing, subject, text_color, text_color_filter, title, url, use_native_counts, username;
4923    color = config.color, fade_in = config.fade_in, onLoad = config.onLoad, alignment = config.alignment, font_size = config.font_size, language = config.language, padding = config.padding, radius = config.radius, size = config.size, spacing = config.spacing, id = config.id, labels = config.labels, min_count = config.min_count, networks = config.networks, show_total = config.show_total, use_native_counts = config.use_native_counts, show_mobile_buttons = config.show_mobile_buttons, url = config.url, title = config.title, image = config.image, description = config.description, username = config.username, message = config.message, subject = config.subject, text_color = config.text_color, background_color = config.background_color, preview = config.preview;
4924    alignment_opposite = alignment === 'left' ? 'right' : 'left';
4925    if (alignment == null) {
4926      alignment = 'left';
4927    }
4928    if (background_color == null) {
4929      background_color = '#B581A3';
4930    }
4931    if (color == null) {
4932      color = 'social';
4933    }
4934    if (fade_in == null) {
4935      fade_in = true;
4936    }
4937    if (font_size == null) {
4938      font_size = 12;
4939    }
4940    if (text_color == null) {
4941      text_color = '#fff';
4942    }
4943    if (language == null) {
4944      language = 'en';
4945    }
4946    if (min_count == null) {
4947      min_count = 0;
4948    }
4949    if (networks == null) {
4950      networks = ['facebook', 'twitter', 'pinterest', 'email', 'sharethis'];
4951    }
4952    if (padding == null) {
4953      padding = 10;
4954    }
4955    if (radius == null) {
4956      radius = 0;
4957    }
4958    if (show_mobile_buttons == null) {
4959      show_mobile_buttons = st.mobile;
4960    }
4961    if (size == null) {
4962      size = 40;
4963    }
4964    if (spacing == null) {
4965      spacing = 8;
4966    }
4967    if (subject == null) {
4968      subject = st.i18n['subjects'][language];
4969    }
4970    if (use_native_counts == null) {
4971      use_native_counts = true;
4972    }
4973    if (preview == null) {
4974      preview = false;
4975    }
4976    if ((typeof Shopify !== "undefined" && Shopify !== null) && (Shopify.designMode != null)) {
4977      preview = false;
4978    }
4979    if (id == null) {
4980      id = "st-" + (st.uid());
4981    }
4982    $el.setAttribute('id', id);
4983    st.addClass($el, ["st-" + alignment, language !== 'en' ? "st-lang-" + language : void 0, labels === 'counts' || labels === 'cta' ? 'st-has-labels' : void 0, fade_in ? 'st-hidden' : void 0, true === preview ? 'st-preview' : void 0, 'st-inline-share-buttons']);
4984    common_css = "#" + id + " {\n  " + st.FONT_FAMILY + ";\n  direction: ltr;\n  display: block;\n  opacity: 1;\n  text-align: " + alignment + ";\n  z-index: 94034;\n}\n#" + id + ".st-animated {\n  " + (st.TRANSITION('opacity')) + "\n}\n#" + id + ".st-hidden {\n  opacity: " + (fade_in ? 0 : 1) + ";\n}\n\n#" + id + ".st-preview {\n  display: none!important;\n  opacity: 0!important;\n}\n#" + id + ".st-hide {\n  display: none;\n}\n#" + id + " .st-btn {\n  " + st.BORDER_BOX + "\n  " + (st.TRANSITION(['opacity', 'top'])) + "\n  " + (st.BORDER_RADIUS(radius)) + "\n  border: " + (color === 'white' ? 'solid 1px #ccc' : 'none') + ";\n  cursor: pointer;\n  display: inline-block;\n  font-size: " + (st.px(font_size)) + ";\n  height: " + (st.px(size)) + ";\n  line-height: " + (st.px(size)) + ";\n  margin-right: " + (spacing ? st.px(spacing) : 0) + ";\n  padding: 0 " + (st.px(padding)) + ";\n  position: relative;\n  text-align: center;\n  top: 0;\n  vertical-align: top;\n  white-space: nowrap;\n}\n#" + id + " .st-btn:last-child {\n  margin-right: 0;\n}\n#" + id + " .st-btn > svg {\n  height: " + (st.px(size / 2)) + ";\n  width: " + (st.px(size / 2)) + ";\n  position: relative;\n  top: " + (st.px(size / 4)) + ";\n  vertical-align: top;\n}\n#" + id + " .st-btn > img {\n  display: inline-block;\n  height: " + (st.px(size / 2)) + ";\n  width: " + (st.px(size / 2)) + ";\n  position: relative;\n  top: " + (st.px(size / 4)) + ";\n  vertical-align: top;\n}\n#" + id + " .st-btn > span {\n  " + (st.TRANSITION()) + "\n  color: #fff;\n  display: inline-block;\n  font-weight: 500;\n  letter-spacing: 0.5px;\n  min-width: " + (st.px(30 + Math.floor(size * 15 / 16))) + ";\n  opacity: 1;\n  padding: 0 6px;\n  position: relative;\n  vertical-align: top;\n}\n#" + id + ".st-has-labels .st-btn {\n  min-width: " + (st.px(60 + Math.floor(size * 15 / 8))) + ";\n}\n#" + id + ".st-has-labels .st-btn.st-remove-label {\n  min-width: 50px;\n}\n#" + id + ".st-has-labels .st-btn.st-remove-label > span {\n  display: none;\n}\n#" + id + ".st-has-labels .st-btn.st-hide-label > span {\n  display: none;\n}\n#" + id + " .st-total {\n  color: #555;\n  display: inline-block;\n  font-weight: 500;\n  line-height: " + (st.px(.375 * size)) + ";\n  margin-right: 0;\n  max-width: 80px;\n  padding: 4px 8px;\n  text-align: center;\n}\n#" + id + " .st-total.st-hidden {\n  display: none;\n}\n#" + id + " .st-total > span {\n  font-size: " + (st.px(.5 * size)) + ";\n  line-height: " + (st.px(.55 * size)) + ";\n  display: block;\n  padding: 0;\n}\n#" + id + " .st-total > span.st-shares {\n  font-size: " + (st.px(.3 * size)) + ";\n  line-height: " + (st.px(.3 * size)) + ";\n}\n#" + id + ".st-justified {\n  display: flex;\n  text-align: center;\n}\n#" + id + ".st-justified .st-btn {\n  " + st.FLEX + "\n}";
4985    hover_css = "#" + id + " .st-btn:hover {\n  opacity: .8;\n  top: -4px;\n}";
4986    mobile_css = "#" + id + " {\n  bottom: 0;";
4987    text_color_filter = st.getFilter(text_color);
4988    network_css = ((function() {
4989      var i, len, results;
4990      results = [];
4991      for (i = 0, len = networks.length; i < len; i++) {
4992        network = networks[i];
4993        results.push("#" + id + " .st-btn[data-network='" + network + "'] {\n  background-color: " + ((function() {
4994          switch (color) {
4995            case 'social':
4996              return st.COLORS[network];
4997            case 'black':
4998              return '#000';
4999            case 'gray':
5000              return '#eee';
5001            case 'custom':
5002              return background_color;
5003            case 'white':
5004              return '#fff';
5005            default:
5006              return '#fff';
5007          }
5008        })()) + "\n}\n#" + id + " .st-btn[data-network='" + network + "'] img {\n  filter: " + ((function() {
5009          switch (color) {
5010            case 'black':
5011              return 'invert(0%) sepia(100%) saturate(22%) hue-rotate(45deg) brightness(107%) contrast(105%)';
5012            case 'gray':
5013              return 'invert(100%) sepia(100%) saturate(22%) hue-rotate(45deg) brightness(107%) contrast(105%)';
5014            case 'custom':
5015              return text_color_filter;
5016            default:
5017              return '';
5018          }
5019        })()) + "\n}\n#" + id + " .st-btn[data-network='" + network + "'] > span {\n  color: " + ((function() {
5020          switch (color) {
5021            case 'white':
5022              return st.COLORS[network];
5023            case 'black':
5024              return '#fff';
5025            case 'gray':
5026              return '#000';
5027            case 'custom':
5028              return text_color;
5029            case 'social':
5030              return '#fff';
5031            default:
5032              return '#fff';
5033          }
5034        })()) + "\n}");
5035      }
5036      return results;
5037    })()).join('\n');
5038    network_css += "#" + id + " .st-btn[data-network='snapchat'] > span {\n  color: " + (color === 'black' ? '#fff' : '#333') + "};\n}";
5039    css = common_css;
5040    if (!st.mobile) {
5041      css += hover_css;
5042    }
5043    css += network_css;
5044    st.css(css);
5045    html = '';
5046    networks = st.filterInvalidNetworks(networks);
5047    if (!show_mobile_buttons) {
5048      ref = ['sms'];
5049      for (i = 0, len = ref.length; i < len; i++) {
5050        network = ref[i];
5051        index = networks.indexOf(network);
5052        if (index > -1) {
5053          networks.splice(index, 1);
5054        }
5055      }
5056    }
5057    if (show_total) {
5058      html += "<div class='st-total st-hidden'>\n  <span class='st-label'></span>\n  <span class='st-shares'>\n    " + (st.capitalize(st.i18n['shares'][language])) + "\n  </span>\n</div>";
5059    }
5060    for (index = j = 0, len1 = networks.length; j < len1; index = ++j) {
5061      network = networks[index];
5062      class_names = ['st-btn'];
5063      if (index === 0) {
5064        class_names.push('st-first');
5065      }
5066      if (index === networks.length - 1) {
5067        class_names.push('st-last');
5068      }
5069      label = st.getShareLabel(network, language);
5070      if (labels !== 'cta') {
5071        label = '';
5072      }
5073      label_span = "<span class='st-label'>" + label + "</span>";
5074      html += "<div class='" + (class_names.join(' ')) + "' data-network='" + network + "'>\n  " + (color === 'white' ? st.ICONS_WHITE[network] : st.ICONS[network]) + "\n  " + (labels === 'counts' || labels === 'cta' ? label_span : '') + "\n</div>";
5075    }
5076    $el.innerHTML = html;
5077    $buttons = $el.querySelectorAll('.st-btn');
5078    $total = $el.querySelector('.st-total');
5079    $total_label = $el.querySelector('.st-total .st-label');
5080    modify = function(key, value) {
5081      if (key === 'url') {
5082        url = value;
5083      }
5084      if (key === 'image') {
5085        return image = value;
5086      }
5087    };
5088    resize = function() {
5089      var $button, actual, available, k, l, len2, m, results;
5090      available = $el.offsetWidth;
5091      actual = function() {
5092        var $button, k, len2, width;
5093        width = 0;
5094        if (show_total) {
5095          width += $total.offsetWidth;
5096        }
5097        for (k = 0, len2 = $buttons.length; k < len2; k++) {
5098          $button = $buttons[k];
5099          if ($button.style.display === 'none') {
5100            continue;
5101          }
5102          if (alignment === 'justified') {
5103            if (st.hasClass($button, 'st-remove-label')) {
5104              width += 65;
5105            } else {
5106              width += 160;
5107            }
5108          } else {
5109            width += $button.offsetWidth + spacing;
5110          }
5111        }
5112        return width;
5113      };
5114      for (k = 0, len2 = $buttons.length; k < len2; k++) {
5115        $button = $buttons[k];
5116        $button.style.display = 'inline-block';
5117        st.removeClass($button, 'st-remove-label');
5118      }
5119      for (index = l = $buttons.length - 1; l >= 0; index = l += -1) {
5120        $button = $buttons[index];
5121        if (actual() > available) {
5122          st.addClass($button, 'st-remove-label');
5123        }
5124      }
5125      results = [];
5126      for (index = m = $buttons.length - 1; m >= 0; index = m += -1) {
5127        $button = $buttons[index];
5128        if ($button.getAttribute('data-network') === 'sharethis') {
5129          continue;
5130        }
5131        if (actual() > available) {
5132          results.push($button.style.display = 'none');
5133        } else {
5134          results.push(void 0);
5135        }
5136      }
5137      return results;
5138    };
5139    st.addEventListener(window, 'resize', resize);
5140    fn = function($button) {
5141      return st.addEventListener($button, 'click', function() {
5142        return st.share({
5143          channel_is_ssb: config.is_ssb,
5144          channels_displayed: JSON.stringify(config.networks),
5145          count_url: $el.getAttribute('data-count-url'),
5146          description: description || $el.getAttribute('data-description'),
5147          image: image || $el.getAttribute('data-image'),
5148          message: message || ($el != null ? $el.getAttribute('data-message') : void 0),
5149          network: $button.getAttribute('data-network'),
5150          share_url: $el.getAttribute('data-share-url'),
5151          short_url: $el.getAttribute('data-short-url'),
5152          subject: subject || $el.getAttribute('data-email-subject'),
5153          title: title || ($el != null ? $el.getAttribute('data-title') : void 0),
5154          url: url || $el.getAttribute('data-url'),
5155          username: username || $el.getAttribute('data-username')
5156        });
5157      });
5158    };
5159    for (k = 0, len2 = $buttons.length; k < len2; k++) {
5160      $button = $buttons[k];
5161      fn($button);
5162    }
5163    if (show_total || labels === 'counts') {
5164      st.loadCounts({
5165        url: url || ($el.getAttribute('data-count-url')) || ($el.getAttribute('data-url')) || st.href
5166      }, function(counts) {
5167        var l, len3, ref1, ref2, ref3, ref4, value;
5168        if (show_total) {
5169          if (((ref1 = counts['total']) != null ? ref1.value : void 0) > min_count) {
5170            $total_label.innerHTML = ((ref2 = counts['total']) != null ? ref2.label : void 0) || '';
5171            st.removeClass($total, 'st-hidden');
5172          } else {
5173            st.addClass($total, 'st-hidden');
5174          }
5175        }
5176        if (labels === 'counts') {
5177          for (l = 0, len3 = $buttons.length; l < len3; l++) {
5178            $button = $buttons[l];
5179            network = $button.getAttribute('data-network');
5180            ref3 = counts[network] || {}, label = ref3.label, value = ref3.value;
5181            if (label && value > min_count) {
5182              if ((ref4 = $button.querySelector('.st-label')) != null) {
5183                ref4.innerHTML = label;
5184              }
5185              st.removeClass($button, 'st-hide-label');
5186            } else {
5187              st.addClass($button, 'st-hide-label');
5188            }
5189          }
5190        }
5191        resize();
5192        if (fade_in) {
5193          st.addClass($el, 'st-animated');
5194        }
5195        if (fade_in) {
5196          st.removeClass($el, 'st-hidden');
5197        }
5198        return typeof onLoad === "function" ? onLoad() : void 0;
5199      });
5200    } else {
5201      resize();
5202      if (fade_in) {
5203        st.addClass($el, 'st-animated');
5204      }
5205      if (fade_in) {
5206        st.removeClass($el, 'st-hidden');
5207      }
5208      if (typeof onLoad === "function") {
5209        onLoad();
5210      }
5211    }
5212    return {
5213      $buttons: $buttons,
5214      $el: $el,
5215      id: id,
5216      modify: modify,
5217      resize: resize
5218    };
5219  };
5220
5221}).call(this);
5222
5223
5224(function() {
5225  var st;
5226
5227  st = window.__sharethis__;
5228
5229  st.loader['powr-social-feed'] = function(config) {
5230    if (config == null) {
5231      config = {};
5232    }
5233    if (!config.enabled) {
5234      return;
5235    }
5236    return st.js("https://platform-api.sharethis.com/powr.js?platform=sharethis");
5237  };
5238
5239}).call(this);
5240
5241(function() {
5242  var st;
5243
5244  st = window.__sharethis__;
5245
5246  st.loader['powr-form-builder'] = function(config) {
5247    if (config == null) {
5248      config = {};
5249    }
5250    if (!config.enabled) {
5251      return;
5252    }
5253    return st.js("https://platform-api.sharethis.com/powr.js?platform=sharethis");
5254  };
5255
5256}).call(this);
5257
5258(function() {
5259  var st;
5260
5261  st = window.__sharethis__;
5262
5263  st.loader['powr-popup'] = function(config) {
5264    if (config == null) {
5265      config = {};
5266    }
5267    if (!config.enabled) {
5268      return;
5269    }
5270    return st.js("https://platform-api.sharethis.com/powr.js?platform=sharethis");
5271  };
5272
5273}).call(this);
5274
5275
5276/*
5277 * Loader for privacy-policy-generator
5278 * To update, please refer to `src/functions/privacy-policy-generator/README.md`
5279 */
5280
5281(function() {
5282  var st;
5283
5284  st = window.__sharethis__;
5285
5286  st.loader['privacy-policy-generator'] = function(config) {
5287    if (config == null) {
5288      config = {};
5289    }
5290    if (!config.enabled) {
5291      return;
5292    }
5293    return st.js("https://platform-api.sharethis.com/ppg.js");
5294  };
5295
5296}).call(this);
5297
5298
5299(function() {
5300  var load, st,
5301    indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };
5302
5303  st = window.__sharethis__;
5304
5305  st.loader['sticky-share-buttons'] = function(config) {
5306    var $el, $els, i, id, len, loadFn, ref, ref1, results;
5307    if (config == null) {
5308      config = {};
5309    }
5310    if (!config.enabled) {
5311      return;
5312    }
5313    loadFn = load;
5314    if (config.is_ssb) {
5315      loadFn = st.loadSsb;
5316    }
5317    if (config.id) {
5318      $el = document.getElementById(config.id);
5319      if ($el) {
5320        return loadFn($el, config, load);
5321      }
5322    } else if (config.container) {
5323      if (typeof config.container === 'string') {
5324        config.container = document.getElementById(config.container);
5325      }
5326      ref = st.newElement(config.container), $el = ref.$el, id = ref.id;
5327      config.id = id;
5328      if ($el) {
5329        return loadFn($el, config, load);
5330      }
5331    } else {
5332      $els = document.querySelectorAll('.sharethis-sticky-share-buttons');
5333      if ($els.length === 0) {
5334        ref1 = st.newElement(), $el = ref1.$el, id = ref1.id;
5335        return loadFn($el, config, load);
5336      } else {
5337        results = [];
5338        for (i = 0, len = $els.length; i < len; i++) {
5339          $el = $els[i];
5340          results.push(loadFn($el, config, load));
5341        }
5342        return results;
5343      }
5344    }
5345  };
5346
5347  load = function($el, config) {
5348    var $button, $buttons, $toggle, $total, $total_label, alignment, alignment_opposite, background_color, class_names, color, common_css, container, css, description, fn, font_size, hide_desktop, hover_css, html, i, id, image, index, j, k, label, label_span, labels, language, len, len1, len2, message, min_count, mobile_breakpoint, mobile_css, network, network_css, networks, onLoad, padding, preview, radius, ref, resize, responsive_css, scrollbar_width, show_mobile, show_mobile_buttons, show_toggle, show_total, size, slide_in, spacing, subject, text_color, text_color_filter, title, top, url, use_native_counts, username;
5349    onLoad = config.onLoad, alignment = config.alignment, color = config.color, container = config.container, font_size = config.font_size, hide_desktop = config.hide_desktop, padding = config.padding, radius = config.radius, size = config.size, spacing = config.spacing, id = config.id, labels = config.labels, language = config.language, min_count = config.min_count, networks = config.networks, show_toggle = config.show_toggle, show_total = config.show_total, mobile_breakpoint = config.mobile_breakpoint, show_mobile = config.show_mobile, slide_in = config.slide_in, top = config.top, use_native_counts = config.use_native_counts, show_mobile_buttons = config.show_mobile_buttons, url = config.url, title = config.title, image = config.image, description = config.description, username = config.username, message = config.message, subject = config.subject, text_color = config.text_color, background_color = config.background_color, preview = config.preview;
5350    alignment_opposite = alignment === 'left' ? 'right' : 'left';
5351    if (alignment == null) {
5352      alignment = 'left';
5353    }
5354    if (background_color == null) {
5355      background_color = '#B581A3';
5356    }
5357    if (color == null) {
5358      color = 'social';
5359    }
5360    if (hide_desktop == null) {
5361      hide_desktop = false;
5362    }
5363    if (text_color == null) {
5364      text_color = '#fff';
5365    }
5366    if (labels == null) {
5367      labels = 'counts';
5368    }
5369    if (language == null) {
5370      language = 'en';
5371    }
5372    if (min_count == null) {
5373      min_count = 0;
5374    }
5375    if (mobile_breakpoint == null) {
5376      mobile_breakpoint = 0;
5377    }
5378    if (networks == null) {
5379      networks = ['facebook', 'twitter', 'pinterest', 'email', 'sharethis', 'sms'];
5380    }
5381    if (padding == null) {
5382      padding = 12;
5383    }
5384    if (radius == null) {
5385      radius = 0;
5386    }
5387    if (show_mobile == null) {
5388      show_mobile = false;
5389    }
5390    if (show_mobile_buttons == null) {
5391      show_mobile_buttons = st.mobile;
5392    }
5393    if (show_toggle == null) {
5394      show_toggle = true;
5395    }
5396    if (show_total == null) {
5397      show_total = false;
5398    }
5399    if (size == null) {
5400      size = 48;
5401    }
5402    if (slide_in == null) {
5403      slide_in = true;
5404    }
5405    if (subject == null) {
5406      subject = st.i18n['subjects'][language];
5407    }
5408    if (top == null) {
5409      top = 100;
5410    }
5411    if (use_native_counts == null) {
5412      use_native_counts = true;
5413    }
5414    if (preview == null) {
5415      preview = false;
5416    }
5417    if ((typeof Shopify !== "undefined" && Shopify !== null) && (Shopify.designMode != null)) {
5418      preview = false;
5419    }
5420    if (id == null) {
5421      id = "st-" + (st.uid());
5422    }
5423    $el.setAttribute('id', id);
5424    scrollbar_width = alignment === 'right' ? st.getScrollbarWidth() : 0;
5425    scrollbar_width = 0;
5426    st.addClass($el, ['st-sticky-share-buttons', "st-" + alignment, show_toggle ? 'st-toggleable' : void 0, labels === 'counts' || labels === 'cta' ? 'st-has-labels' : void 0, show_total ? 'st-show-total' : void 0, slide_in ? 'st-hidden' : void 0, language !== 'en' ? "st-lang-" + language : void 0, true === preview ? 'st-preview' : void 0]);
5427    common_css = "#" + id + " {\n  " + st.FONT_FAMILY + ";\n  " + (st.TRANSITION()) + "\n  backface-visibility: hidden;\n  display: " + (!hide_desktop ? 'block' : 'none') + ";\n  position: fixed;\n  opacity: 1;\n  text-align: left;\n  top: " + (st.px(top)) + ";\n  z-index: 94034;\n}\n#" + id + ".st-" + alignment + " {\n  " + alignment + ": " + (st.px(scrollbar_width)) + ";\n}\n#" + id + ".st-hidden.st-" + alignment + " {\n  " + alignment + ": -" + (st.px(size)) + ";\n}\n#" + id + ".st-hidden {\n  width: " + (st.px(2 * size)) + ";\n}\n#" + id + ".st-preview {\n  display: none!important;\n  opacity: 0!important;\n}\n#" + id + " > div {\n  clear: " + alignment + ";\n  float: " + alignment + ";\n}\n#" + id + " .st-btn {\n  " + st.BORDER_BOX + "\n  " + (st.TRANSITION()) + "\n  border: " + (color === 'white' ? 'solid 0.5px #ccc' : 'none') + ";\n  cursor: pointer;\n  display: inline-block;\n  font-size: " + (st.px(font_size)) + ";\n  height: " + (st.px(size)) + ";\n  line-height: " + (st.px(size / 2)) + ";\n  margin-bottom: " + (spacing ? st.px(spacing) : 0) + ";\n  opacity: 1;\n  overflow: hidden;\n  padding: " + (st.px(padding)) + ";\n  position: relative;\n  text-align: left;\n  top: 0;\n  vertical-align: top;\n  white-space: nowrap;\n  width: " + (st.px(size)) + ";\n}\n#" + id + " .st-btn.st-first {\n  border-top: " + (color === 'white' ? 'solid 1px #ccc' : 'none') + ";\n  border-top-" + alignment_opposite + "-radius: " + (st.px(radius)) + ";\n}\n#" + id + " .st-btn.st-last {\n  border-bottom: " + (color === 'white' ? 'solid 1px #ccc' : 'none') + ";\n  border-bottom-" + alignment_opposite + "-radius: " + (st.px(radius)) + ";\n}\n#" + id + " .st-btn > svg {\n  " + (st.TRANSITION()) + "\n  height: " + (st.px(size / 2)) + ";\n  margin-left: 0;\n  vertical-align: top;\n  width: " + (st.px(size / 2)) + ";\n}\n#" + id + " .st-btn > img {\n  " + (st.TRANSITION()) + "\n  height: " + (st.px(size / 2)) + ";\n  margin-left: 0;\n  vertical-align: top;\n  width: " + (st.px(size / 2)) + ";\n}\n#" + id + " .st-btn > span {\n  " + (st.TRANSITION()) + "\n  color: #fff;\n  display: inline-block;\n  font-weight: 500;\n  left: -35px;\n  letter-spacing: 0.5px;\n  opacity: 0;\n  padding: 0 6px;\n  position: relative;\n  vertical-align: top;\n  filter: alpha(opacity=0);\n}\n#" + id + " .st-btn.st-hide-label > span {\n  display: none !important;\n}\n#" + id + " .st-total {\n  " + (st.TRANSITION()) + "\n  background: #fff;
5427\n  color: #555;\n  display: inline-block;\n  font-weight: 500;\n  line-height: " + (st.px(.375 * size)) + ";\n  margin-right: 0;\n  min-height: 34px;\n  max-width: 80px;\n  opacity: 1;\n  padding: 4px 0;\n  text-align: center;\n  width: " + (st.px(size)) + ";\n}\n#" + id + " .st-total.st-hidden {\n  display: none;\n}\n#" + id + " .st-total > span {\n  display: block;\n  font-size: " + (st.px(.38 * size)) + ";\n  line-height: " + (st.px(.45 * size)) + ";\n  padding: 0;\n}\n#" + id + " .st-total > span.st-shares {\n  font-size: " + (st.px(.23 * size)) + ";\n  line-height: " + (st.px(.23 * size)) + ";\n}\n#" + id + " .st-toggle {\n  " + alignment + ": -" + (st.px(size + scrollbar_width)) + ";\n  " + (st.TRANSITION()) + "\n  background: #ccc;\n  border-bottom-" + alignment_opposite + "-radius: " + (st.px(radius)) + ";\n  color: white;\n  cursor: pointer;\n  font-size: " + (st.px(.5 * size)) + ";\n  line-height: " + (st.px(.5 * size)) + ";\n  position: relative;\n  text-align: center;\n  width: " + (st.px(size)) + ";\n}\n#" + id + ".st-hidden .st-toggle {\n  border-top-" + alignment_opposite + "-radius: " + (st.px(radius)) + ";\n}\n#" + id + ".st-" + alignment + " .st-toggle .st-" + alignment + " {\n  display: inline-block;\n}\n#" + id + ".st-" + alignment + ".st-hidden .st-toggle .st-" + alignment + " {\n  display: none;\n}\n#" + id + ".st-" + alignment + " .st-toggle .st-" + alignment_opposite + " {\n  display: none;\n}\n#" + id + ".st-" + alignment + ".st-hidden .st-toggle .st-" + alignment_opposite + " {\n  display: inline-block;\n}";
5428    mobile_css = "#" + id + " {\n  bottom: 0;\n  display: " + (show_mobile ? 'flex' : 'none') + ";\n  left: 0;\n  right: 0;\n  top: auto;\n  width: 100%;\n}\n#" + id + ".st-hidden {\n  bottom: -" + (st.px(size)) + ";\n  width: 100%;\n}\n#" + id + ".st-hidden.st-left {\n  left: 0;\n}\n#" + id + ".st-hidden.st-right {\n  right: 0;\n}\n#" + id + " > div {\n  -moz-flex: 1;\n  -ms-flex: 1;\n  -webkit-flex: 1;\n  clear: none;\n  flex: 1;\n  float: none;\n}\n#" + id + " .st-total {\n  background: #fff;\n  padding: 6px 8px;\n}\n#" + id + " .st-btn {\n  " + (st.BORDER_RADIUS('0 !important')) + "\n  text-align: center;\n  width: auto;\n}\n#" + id + " .st-btn > span {\n  display: none;\n}\n#" + id + " .st-toggle {\n  display: none;\n}";
5429    if (show_mobile && !document.body.style.paddingBottom) {
5430      mobile_css += "body { padding-bottom: 48px; }";
5431    }
5432    responsive_css = "@media (max-width: " + (st.px(mobile_breakpoint)) + ") {\n  " + mobile_css + "\n}";
5433    hover_css = "#" + id + ":hover .st-toggle {\n  " + alignment + ": 0;\n}\n#" + id + ".st-hidden:hover .st-toggle {\n  " + alignment + ": " + (st.px(size)) + ";\n}\n#" + id + ".st-toggleable:hover .st-btn.st-last {\n  border-bottom-" + alignment_opposite + "-radius: 0;\n}\n#" + id + ".st-toggleable:hover .st-btn.st-last:hover {\n  border-bottom-" + alignment_opposite + "-radius: " + (st.px(radius)) + ";\n}\n#" + id + " .st-btn:hover {\n  border-bottom-" + alignment_opposite + "-radius: " + (st.px(radius)) + ";\n  border-top-" + alignment_opposite + "-radius: " + (st.px(radius)) + ";\n}\n#" + id + ".st-has-labels .st-btn:hover {\n  width: " + (st.px(st.i18n['sticky-width'][language])) + ";\n}\n#" + id + ":not(.st-has-labels) .st-btn:hover {\n  width: " + (st.px(1.3 * size)) + ";\n}\n#" + id + " .st-btn.st-hide-label:hover {\n  width: " + (st.px(1.3 * size)) + ";\n}\n#" + id + " .st-btn:hover > svg {\n  margin-left: 5px;\n}\n#" + id + " .st-btn:hover > img {\n  margin-left: 5px;\n}\n#" + id + " .st-btn:hover > span {\n  opacity: 1;\n  display: inline-block;\n  left: 0;\n  filter: alpha(opacity=100);\n}\n@media (max-width: " + (st.px(mobile_breakpoint)) + ") {\n  #" + id + " .st-btn:hover > svg {\n    margin-left: 0;\n  }\n  #" + id + " .st-btn:hover > span {\n    display: none;\n  }\n}";
5434    text_color_filter = st.getFilter(text_color);
5435    network_css = ((function() {
5436      var i, len, results;
5437      results = [];
5438      for (i = 0, len = networks.length; i < len; i++) {
5439        network = networks[i];
5440        results.push("#" + id + " .st-btn[data-network='" + network + "'] {\n  background-color: " + ((function() {
5441          switch (color) {
5442            case 'social':
5443              return st.COLORS[network];
5444            case 'black':
5445              return '#000';
5446            case 'gray':
5447              return '#eee';
5448            case 'custom':
5449              return background_color;
5450            case 'white':
5451              return '#fff';
5452            default:
5453              return '#fff';
5454          }
5455        })()) + "\n}\n#" + id + " .st-btn[data-network='" + network + "'] img {\n  filter: " + ((function() {
5456          switch (color) {
5457            case 'black':
5458              return 'invert(0%) sepia(100%) saturate(22%) hue-rotate(45deg) brightness(107%) contrast(105%)';
5459            case 'gray':
5460              return 'invert(100%) sepia(100%) saturate(22%) hue-rotate(45deg) brightness(107%) contrast(105%)';
5461            case 'custom':
5462              return text_color_filter;
5463            default:
5464              return '';
5465          }
5466        })()) + "\n}\n#" + id + " .st-btn[data-network='" + network + "'] > span {\n  color: " + ((function() {
5467          switch (color) {
5468            case 'white':
5469              return st.COLORS[network];
5470            case 'black':
5471              return '#fff';
5472            case 'gray':
5473              return '#000';
5474            case 'custom':
5475              return text_color;
5476            case 'social':
5477              return '#fff';
5478            default:
5479              return '#fff';
5480          }
5481        })()) + "\n}");
5482      }
5483      return results;
5484    })()).join('\n');
5485    network_css += "#" + id + " .st-btn[data-network='snapchat'] > span {\n  color: " + (color === 'black' ? '#fff' : '#333') + "};\n}";
5486    network_css += "#" + id + " .st-btn[data-network='copy']:hover {\n  width: max-content;\n}";
5487    if (network === 'blm') {
5488      network_css += "#" + id + " .st-btn[data-network='blm']:hover {\n  width: 165px;\n}";
5489    }
5490    css = common_css;
5491    if (!st.mobile) {
5492      css += hover_css;
5493    }
5494    if (!st.mobile) {
5495      css += responsive_css;
5496    }
5497    if (st.mobile) {
5498      css += mobile_css;
5499    }
5500    css += network_css;
5501    st.css(css);
5502    if (!show_mobile_buttons) {
5503      ref = ['sms'];
5504      for (i = 0, len = ref.length; i < len; i++) {
5505        network = ref[i];
5506        index = networks.indexOf(network);
5507        if (index > -1) {
5508          networks.splice(index, 1);
5509        }
5510      }
5511    }
5512    html = '';
5513    networks = st.filterInvalidNetworks(networks);
5514    if (show_total) {
5515      html += "<div class='st-total st-hidden'>\n  <span class='st-label'></span>\n  <span class='st-shares'>\n    " + (st.capitalize(st.i18n['shares'][language])) + "\n  </span>\n</div>";
5516    }
5517    for (index = j = 0, len1 = networks.length; j < len1; index = ++j) {
5518      network = networks[index];
5519      class_names = ['st-btn'];
5520      if (index === 0) {
5521        class_names.push('st-first');
5522      }
5523      if (index === networks.length - 1) {
5524        class_names.push('st-last');
5525      }
5526      label = st.getShareLabel(network, language);
5527      if (labels !== 'cta') {
5528        label = '';
5529      }
5530      label_span = "<span class='st-label'>" + label + "</span>";
5531      html += "<div class='" + (class_names.join(' ')) + "' data-network='" + network + "'>\n  " + (color === 'white' ? st.ICONS_WHITE[network] : st.ICONS[network]) + "\n  " + (labels === 'counts' || labels === 'cta' ? label_span : '') + "\n</div>";
5532    }
5533    if (show_toggle) {
5534      html += "<div class=\"st-toggle\">\n  <div class=\"st-left\">\n    " + st.ICONS['arrow_left'] + "\n  </div>\n  <div class=\"st-right\">\n    " + st.ICONS['arrow_right'] + "\n  </div>\n</div>";
5535    }
5536    $el.innerHTML = html;
5537    $buttons = $el.querySelectorAll('.st-btn');
5538    $toggle = $el.querySelector('.st-toggle');
5539    $total = $el.querySelector('.st-total');
5540    $total_label = $el.querySelector('.st-total .st-label');
5541    st.addEventListener($toggle, 'click', function() {
5542      return st.toggleClass($el, 'st-hidden');
5543    });
5544    resize = function() {
5545      var $button, k, l, len2, len3, max, ref1, results;
5546      max = 100;
5547      if (st.mobile || window.innerWidth < mobile_breakpoint) {
5548        max = 6;
5549      }
5550      if (show_total) {
5551        max--;
5552      }
5553      if (indexOf.call(networks, 'sharethis') >= 0) {
5554        max--;
5555      }
5556      if (indexOf.call(networks, 'sms') >= 0) {
5557        max--;
5558      }
5559      if (indexOf.call(networks, 'whatsapp') >= 0) {
5560        max--;
5561      }
5562      if (indexOf.call(networks, 'messenger') >= 0) {
5563        max--;
5564      }
5565      if (indexOf.call(networks, 'wechat') >= 0) {
5566        max--;
5567      }
5568      for (k = 0, len2 = $buttons.length; k < len2; k++) {
5569        $button = $buttons[k];
5570        $button.style.display = 'inline-block';
5571      }
5572      results = [];
5573      for (index = l = 0, len3 = $buttons.length; l < len3; index = ++l) {
5574        $button = $buttons[index];
5575        if ((ref1 = $button.getAttribute('data-network')) === 'sharethis' || ref1 === 'sms' || ref1 === 'messenger' || ref1 === 'whatsapp' || ref1 === 'wechat') {
5576          continue;
5577        }
5578        if (max-- > 0) {
5579          continue;
5580        }
5581        results.push($button.style.display = 'none');
5582      }
5583      return results;
5584    };
5585    st.addEventListener(window, 'resize', resize);
5586    fn = function($button) {
5587      return st.addEventListener($button, 'click', function() {
5588        return st.share({
5589          channel_is_ssb: config.is_ssb,
5590          channels_displayed: JSON.stringify(config.networks),
5591          count_url: $el != null ? $el.getAttribute('data-count-url') : void 0,
5592          description: description || ($el != null ? $el.getAttribute('data-description') : void 0),
5593          image: image || ($el != null ? $el.getAttribute('data-image') : void 0),
5594          message: message || ($el != null ? $el.getAttribute('data-message') : void 0),
5595          network: $button.getAttribute('data-network'),
5596          share_url: $el != null ? $el.getAttribute('data-short-url') : void 0,
5597          subject: subject || $el.getAttribute('data-email-subject'),
5598          title: title || ($el != null ? $el.getAttribute('data-title') : void 0),
5599          url: url || ($el != null ? $el.getAttribute('data-url') : void 0),
5600          username: username || ($el != null ? $el.getAttribute('data-username') : void 0)
5601        });
5602      });
5603    };
5604    for (k = 0, len2 = $buttons.length; k < len2; k++) {
5605      $button = $buttons[k];
5606      fn($button);
5607    }
5608    if (show_total || labels === 'counts') {
5609      return st.loadCounts({
5610        url: url || ($el != null ? $el.getAttribute('data-url') : void 0)
5611      }, function(counts) {
5612        var l, len3, ref1, ref2, ref3, value;
5613        if (show_total) {
5614          if (((ref1 = counts['total']) != null ? ref1.value : void 0) > min_count) {
5615            $total_label.innerHTML = counts['total'].label;
5616            st.removeClass($total, 'st-hidden');
5617          } else {
5618            st.addClass($total, 'st-hidden');
5619          }
5620        }
5621        if (labels === 'counts') {
5622          for (l = 0, len3 = $buttons.length; l < len3; l++) {
5623            $button = $buttons[l];
5624            network = $button.getAttribute('data-network');
5625            ref2 = counts[network] || {}, label = ref2.label, value = ref2.value;
5626            if (label && value > min_count) {
5627              if ((ref3 = $button.querySelector('.st-label')) != null) {
5628                ref3.innerHTML = label;
5629              }
5630              st.removeClass($button, 'st-hide-label');
5631            } else {
5632              st.addClass($button, 'st-hide-label');
5633            }
5634          }
5635        }
5636        resize();
5637        setTimeout((function() {
5638          return st.removeClass($el, 'st-hidden');
5639        }), 10);
5640        return typeof onLoad === "function" ? onLoad() : void 0;
5641      });
5642    } else {
5643      resize();
5644      setTimeout((function() {
5645        return st.removeClass($el, 'st-hidden');
5646      }), 10);
5647      return typeof onLoad === "function" ? onLoad() : void 0;
5648    }
5649  };
5650
5651}).call(this);
5652
5653(function() {
5654  var st;
5655
5656  st = window.__sharethis__;
5657
5658  st.loader['video-share-buttons'] = function(config) {
5659    var alignment, container, networks, omit_class, onLoad, padding, radius, size, spacing;
5660    if (config == null) {
5661      config = {};
5662    }
5663    if (!config.enabled) {
5664      return;
5665    }
5666    alignment = config.alignment, container = config.container, omit_class = config.omit_class, onLoad = config.onLoad, padding = config.padding, networks = config.networks, radius = config.radius, size = config.size, spacing = config.spacing;
5667    if (networks == null) {
5668      networks = ['facebook', 'twitter', 'pinterest', 'email'];
5669    }
5670    if (omit_class == null) {
5671      omit_class = '';
5672    }
5673    if (padding == null) {
5674      padding = 10;
5675    }
5676    if (radius == null) {
5677      radius = 0;
5678    }
5679    if (size == null) {
5680      size = 40;
5681    }
5682    if (spacing == null) {
5683      spacing = 8;
5684    }
5685    st.checkClass = function(checkClass, el) {};
5686    return st.getEmbeds(function(el, type, url) {
5687      var $el, contAlign, id, inline_buttons, ref;
5688      if (type !== 'video') {
5689        return;
5690      }
5691      ref = st.newElement(el), $el = ref.$el, id = ref.id;
5692      if (omit_class) {
5693        if (st.hasClass(el.parentNode.parentNode, omit_class)) {
5694          return;
5695        }
5696        if (st.hasClass(el.parentNode, omit_class)) {
5697          return;
5698        }
5699      }
5700      st.addClass($el, 'st-video-share-buttons');
5701      $el.style.width = el.offsetWidth.toString() + 'px';
5702      $el.style.margin = '0';
5703      $el.style.padding = '0';
5704      if (el.tagName.toLowerCase() === 'blockquote') {
5705        $el.style.margin = 'auto';
5706      }
5707      $el.setAttribute('data-url', el.src);
5708      if (!st.is_ie) {
5709        contAlign = getComputedStyle(el.parentElement).textAlign;
5710        if ('center' === contAlign) {
5711          $el.style.margin = 'auto';
5712        }
5713      }
5714      el.parentNode.insertBefore($el, el.nextSibling);
5715      return inline_buttons = st.load('inline-share-buttons', {
5716        alignment: alignment,
5717        id: id,
5718        enabled: true,
5719        networks: networks,
5720        padding: padding,
5721        radius: radius,
5722        size: size,
5723        spacing: spacing,
5724        onLoad: function() {
5725          st.addClass($el, '');
5726          return typeof onLoad === "function" ? onLoad() : void 0;
5727        }
5728      });
5729    });
5730  };
5731
5732}).call(this);
5733
5734(function(){window.__sharethis__.md5="4ead6e8993ce46ced211e04fb40023e7";})();
5735}

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.