autolinker
Version:
Utility to automatically link the URLs, email addresses, phone numbers, hashtags, and mentions (Twitter, Instagram) in a given block of text/HTML
11 lines • 50.3 kB
JavaScript
/*!
* Autolinker.js
* v4.1.5
*
* Copyright(c) 2025 Gregory Jacobs <greg@greg-jacobs.com>
* MIT License
*
* https://github.com/gregjacobs/Autolinker.js
*/
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).Autolinker=e()}(this,(function(){"use strict";var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},t(e,n)};function e(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function a(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(a.prototype=n.prototype,new a)}var n=function(){return n=Object.assign||function(t){for(var e,n=1,a=arguments.length;n<a;n++)for(var r in e=arguments[n])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t},n.apply(this,arguments)};"function"==typeof SuppressedError&&SuppressedError;var a=Object.prototype.hasOwnProperty;function r(t){return"boolean"==typeof t}function i(t,e){for(var n=t.length-1;n>=0;n--)!0===e(t[n])&&t.splice(n,1)}function s(t){throw new Error("Unhandled case for value: '".concat(t,"'"))}var c=/\s+/,o=function(){function t(t){void 0===t&&(t={}),this.tagName="",this.attrs={},this.innerHTML="",this.tagName=t.tagName||"",this.attrs=t.attrs||{},this.innerHTML=t.innerHtml||t.innerHTML||""}return t.prototype.setTagName=function(t){return this.tagName=t,this},t.prototype.getTagName=function(){return this.tagName},t.prototype.setAttr=function(t,e){return this.getAttrs()[t]=e,this},t.prototype.getAttr=function(t){return this.getAttrs()[t]},t.prototype.setAttrs=function(t){return Object.assign(this.getAttrs(),t),this},t.prototype.getAttrs=function(){return this.attrs},t.prototype.setClass=function(t){return this.setAttr("class",t)},t.prototype.addClass=function(t){for(var e,n=this.getClass(),a=n?n.split(c):[],r=t.split(c);e=r.shift();)-1===a.indexOf(e)&&a.push(e);return this.getAttrs().class=a.join(" "),this},t.prototype.removeClass=function(t){for(var e,n=this.getClass(),a=n?n.split(c):[],r=t.split(c);a.length&&(e=r.shift());){var i=a.indexOf(e);-1!==i&&a.splice(i,1)}return this.getAttrs().class=a.join(" "),this},t.prototype.getClass=function(){return this.getAttrs().class||""},t.prototype.hasClass=function(t){return-1!==(" "+this.getClass()+" ").indexOf(" "+t+" ")},t.prototype.setInnerHTML=function(t){return this.innerHTML=t,this},t.prototype.setInnerHtml=function(t){return this.setInnerHTML(t)},t.prototype.getInnerHTML=function(){return this.innerHTML||""},t.prototype.getInnerHtml=function(){return this.getInnerHTML()},t.prototype.toAnchorString=function(){var t=this.getTagName(),e=this.buildAttrsStr();return["<",t,e=e?" "+e:"",">",this.getInnerHtml(),"</",t,">"].join("")},t.prototype.buildAttrsStr=function(){var t=this.getAttrs(),e=[];for(var n in t)a.call(t,n)&&e.push(n+'="'+t[n]+'"');return e.join(" ")},t}();function h(t){var e="";return t.scheme&&t.host&&(e+=t.scheme+"://"),t.host&&(e+=t.host),t.path&&(e+="/"+t.path),t.query&&(e+="?"+t.query),t.fragment&&(e+="#"+t.fragment),e}function u(t,e,n){var a=e/2,r=Math.ceil(a),i=-1*Math.floor(a),s="";return i<0&&(s=t.substr(i)),t.substr(0,r)+n+s}var l=function(){function t(t){void 0===t&&(t={}),this.newWindow=!1,this.truncate={},this.className="",this.newWindow=t.newWindow||!1,this.truncate=t.truncate||{},this.className=t.className||""}return t.prototype.build=function(t){return new o({tagName:"a",attrs:this.createAttrs(t),innerHtml:this.processAnchorText(t.getAnchorText())})},t.prototype.createAttrs=function(t){var e={href:t.getAnchorHref()},n=this.createCssClass(t);return n&&(e.class=n),this.newWindow&&(e.target="_blank",e.rel="noopener noreferrer"),this.truncate.length&&this.truncate.length<t.getAnchorText().length&&(e.title=t.getAnchorHref()),e},t.prototype.createCssClass=function(t){var e=this.className;if(e){for(var n=[e],a=t.getCssClassSuffixes(),r=0,i=a.length;r<i;r++)n.push(e+"-"+a[r]);return n.join(" ")}return""},t.prototype.processAnchorText=function(t){return t=this.doTruncate(t)},t.prototype.doTruncate=function(t){var e=this.truncate;if(!e.length)return t;var n=e.length,a=e.location;return"smart"===a?function(t,e,n){var a,r;if(null==n?(n="…",r=3,a=8):(r=n.length,a=n.length),t.length<=e)return t;var i=e-r,s=function(t){var e={},n=t,a=n.match(/^([a-z]+):\/\//i);return a&&(e.scheme=a[1],n=n.slice(a[0].length)),(a=n.match(/^(.*?)(?=(\?|#|\/|$))/i))&&(e.host=a[1],n=n.slice(a[0].length)),(a=n.match(/^\/(.*?)(?=(\?|#|$))/i))&&(e.path=a[1],n=n.slice(a[0].length)),(a=n.match(/^\?(.*?)(?=(#|$))/i))&&(e.query=a[1],n=n.slice(a[0].length)),(a=n.match(/^#(.*?)$/i))&&(e.fragment=a[1]),e}(t);if(s.query){var c=s.query.match(/^(.*?)(?=(\?|#))(.*?)$/i);c&&(s.query=s.query.substr(0,c[1].length),t=h(s))}if(t.length<=e)return t;if(s.host&&(s.host=s.host.replace(/^www\./,""),t=h(s)),t.length<=e)return t;var o="";if(s.host&&(o+=s.host),o.length>=i)return s.host.length===e?(s.host.substr(0,e-r)+n).substr(0,i+a):u(o,i,n).substr(0,i+a);var l="";if(s.path&&(l+="/"+s.path),s.query&&(l+="?"+s.query),l){if((o+l).length>=i)return(o+l).length==e?(o+l).substr(0,e):(o+u(l,i-o.length,n)).substr(0,i+a);o+=l}if(s.fragment){var p="#"+s.fragment;if((o+p).length>=i)return(o+p).length==e?(o+p).substr(0,e):(o+u(p,i-o.length,n)).substr(0,i+a);o+=p}if(s.scheme&&s.host){var f=s.scheme+"://";if((o+f).length<i)return(f+o).substr(0,e)}if(o.length<=e)return o;var g="";return i>0&&(g=o.substr(-1*Math.floor(i/2))),(o.substr(0,Math.ceil(i/2))+n+g).substr(0,i+a)}(t,n):"middle"===a?function(t,e,n){if(t.length<=e)return t;var a,r;null==n?(n="…",a=8,r=3):(a=n.length,r=n.length);var i=e-r,s="";return i>0&&(s=t.substr(-1*Math.floor(i/2))),(t.substr(0,Math.ceil(i/2))+n+s).substr(0,i+a)}(t,n):function(t,e,n){return function(t,e,n){var a;return t.length>e&&(null==n?(n="…",a=3):a=n.length,t=t.substring(0,e-a)+n),t}(t,e,n)}(t,n)},t}(),p=function(){function t(t){this._=null,this.matchedText="",this.offset=0,this.tagBuilder=t.tagBuilder,this.matchedText=t.matchedText,this.offset=t.offset}return t.prototype.getMatchedText=function(){return this.matchedText},t.prototype.setOffset=function(t){this.offset=t},t.prototype.getOffset=function(){return this.offset},t.prototype.getCssClassSuffixes=function(){return[this.type]},t.prototype.buildTag=function(){return this.tagBuilder.build(this)},t}();function f(t){return t>=65&&t<=90||t>=97&&t<=122}function g(t){return t>=48&&t<=57}function d(t){return 34==t||39==t}function m(t){return t<8232?t<160?t>=9&&t<=13||32==t:t<5760?160==t:5760==t||t>=8192&&t<=8202:t<8287?t>=8232&&t<=8233||8239==t:t<12288?8287==t:12288==t||65279==t}function b(t){return t<4800?t<2949?t<2451?t<1425?t<768?t<192?t<169?t<65?t>=48&&t<=57:t>=65&&t<=90||t>=97&&t<=122:t<181?t>=169&&t<=170||174==t:181==t||186==t:t<710?t<216?t>=192&&t<=214:t>=216&&t<=246||t>=248&&t<=705:t<748?t>=710&&t<=721||t>=736&&t<=740:748==t||750==t:t<910?t<895?t<886?t>=768&&t<=884:t>=886&&t<=887||t>=890&&t<=893:t<904?895==t||902==t:t>=904&&t<=906||908==t:t<1155?t<931?t>=910&&t<=929:t>=931&&t<=1013||t>=1015&&t<=1153:t<1369?t>=1155&&t<=1327||t>=1329&&t<=1366:1369==t||t>=1377&&t<=1415:t<1808?t<1552?t<1476?t<1471?t>=1425&&t<=1469:1471==t||t>=1473&&t<=1474:t<1488?t>=1476&&t<=1477||1479==t:t>=1488&&t<=1514||t>=1520&&t<=1522:t<1749?t<1568?t>=1552&&t<=1562:t>=1568&&t<=1641||t>=1646&&t<=1747:t<1770?t>=1749&&t<=1756||t>=1759&&t<=1768:t>=1770&&t<=1788||1791==t:t<2230?t<2042?t<1869?t>=1808&&t<=1866:t>=1869&&t<=1969||t>=1984&&t<=2037:t<2112?2042==t||t>=2048&&t<=2093:t>=2112&&t<=2139||t>=2208&&t<=2228:t<2406?t<2260?t>=2230&&t<=2237:t>=2260&&t<=2273||t>=2275&&t<=2403:t<2437?t>=2406&&t<=2415||t>=2417&&t<=2435:t>=2437&&t<=2444||t>=2447&&t<=2448:t<2693?t<2579?t<2519?t<2486?t<2474?t>=2451&&t<=2472:t>=2474&&t<=2480||2482==t:t<2503?t>=2486&&t<=2489||t>=2492&&t<=2500:t>=2503&&t<=2504||t>=2507&&t<=2510:t<2534?t<2524?2519==t:t>=2524&&t<=2525||t>=2527&&t<=2531:t<2565?t>=2534&&t<=2545||t>=2561&&t<=2563:t>=2565&&t<=2570||t>=2575&&t<=2576:t<2631?t<2613?t<2602?t>=2579&&t<=2600:t>=2602&&t<=2608||t>=2610&&t<=2611:t<2620?t>=2613&&t<=2614||t>=2616&&t<=2617:2620==t||t>=2622&&t<=2626:t<2649?t<2635?t>=2631&&t<=2632:t>=2635&&t<=2637||2641==t:t<2662?t>=2649&&t<=2652||2654==t:t>=2662&&t<=2677||t>=2689&&t<=2691:t<2821?t<2759?t<2730?t<2703?t>=2693&&t<=2701:t>=2703&&t<=2705||t>=2707&&t<=2728:t<2741?t>=2730&&t<=2736||t>=2738&&t<=2739:t>=2741&&t<=2745||t>=2748&&t<=2757:t<2784?t<2763?t>=2759&&t<=2761:t>=2763&&t<=2765||2768==t:t<2809?t>=2784&&t<=2787||t>=2790&&t<=2799:2809==t||t>=2817&&t<=2819:t<2887?t<2858?t<2831?t>=2821&&t<=2828:t>=2831&&t<=2832||t>=2835&&t<=2856:t<2869?t>=2858&&t<=2864||t>=2866&&t<=2867:t>=2869&&t<=2873||t>=2876&&t<=2884:t<2911?t<2902?t>=2887&&t<=2888||t>=2891&&t<=2893:t>=2902&&t<=2903||t>=2908&&t<=2909:t<2929?t>=2911&&t<=2915||t>=2918&&t<=2927:2929==t||t>=2946&&t<=2947:t<3517?t<3205?t<3046?t<2984?t<2969?t<2958?t>=2949&&t<=2954:t>=2958&&t<=2960||t>=2962&&t<=2965:t<2974?t>=2969&&t<=2970||2972==t:t>=2974&&t<=2975||t>=2979&&t<=2980:t<3014?t<2990?t>=2984&&t<=2986:t>=2990&&t<=3001||t>=3006&&t<=3010:t<3024?t>=3014&&t<=3016||t>=3018&&t<=3021:3024==t||3031==t:t<3142?t<3086?t<3072?t>=3046&&t<=3055:t>=3072&&t<=3075||t>=3077&&t<=3084:t<3114?t>=3086&&t<=3088||t>=3090&&t<=3112:t>=3114&&t<=3129||t>=3133&&t<=3140:t<3160?t<3146?t>=3142&&t<=3144:t>=3146&&t<=3149||t>=3157&&t<=3158:t<3174?t>=3160&&t<=3162||t>=3168&&t<=3171:t>=3174&&t<=3183||t>=3200&&t<=3203:t<3333?t<3274?t<3242?t<3214?t>=3205&&t<=3212:t>=3214&&t<=3216||t>=3218&&t<=3240:t<3260?t>=3242&&t<=3251||t>=3253&&t<=3257:t>=3260&&t<=3268||t>=3270&&t<=3272:t<3296?t<3285?t>=3274&&t<=3277:t>=3285&&t<=3286||3294==t:t<3313?t>=3296&&t<=3299||t>=3302&&t<=3311:t>=3313&&t<=3314||t>=3329&&t<=3331:t<3423?t<3389?t<3342?t>=3333&&t<=3340:t>=3342&&t<=3344||t>=3346&&t<=3386:t<3402?t>=3389&&t<=3396||t>=3398&&t<=3400:t>=3402&&t<=3406||t>=3412&&t<=3415:t<3458?t<3430?t>=3423&&t<=3427:t>=3430&&t<=3439||t>=3450&&t<=3455:t<3482?t>=3458&&t<=3459||t>=3461&&t<=3478:t>=3482&&t<=3505||t>=3507&&t<=3515:t<3804?t<3722?t<3570?t<3535?t<3520?3517==t:t>=3520&&t<=3526||3530==t:t<3544?t>=3535&&t<=3540||3542==t:t>=3544&&t<=3551||t>=3558&&t<=3567:t<3664?t<3585?t>=3570&&t<=3571:t>=3585&&t<=3642||t>=3648&&t<=3662:t<3716?t>=3664&&t<=3673||t>=3713&&t<=3714:3716==t||t>=3719&&t<=3720:t<3754?t<3737?t<3725?3722==t:3725==t||t>=3732&&t<=3735:t<3749?t>=3737&&t<=3743||t>=3745&&t<=3747:3749==t||3751==t:t<3776?t<3757?t>=3754&&t<=3755:t>=3757&&t<=3769||t>=3771&&t<=3773:t<3784?t>=3776&&t<=3780||3782==t:t>=3784&&t<=3789||t>=3792&&t<=3801:t<4176?t<3902?t<3872?t<3840?t>=3804&&t<=3807:3840==t||t>=3864&&t<=3865:t<3895?t>=3872&&t<=3881||3893==t:3895==t||3897==t:t<3974?t<3913?t>=3902&&t<=3911:t>=3913&&t<=3948||t>=3953&&t<=3972:t<4038?t>=3974&&t<=3991||t>=3993&&t<=4028:4038==t||t>=4096&&t<=4169:t<4688?t<4301?t<4256?t>=4176&&t<=4253:t>=4256&&t<=4293||4295==t:t<4348?4301==t||t>=4304&&t<=4346:t>=4348&&t<=4680||t>=4682&&t<=4685:t<4746?t<4698?t>=4688&&t<=4694||4696==t:t>=4698&&t<=4701||t>=4704&&t<=4744:t<4786?t>=4746&&t<=4749||t>=4752&&t<=4784:t>=4786&&t<=4789||t>=4792&&t<=4798:t<11035?t<7416?t<6176?t<5873?t<4992?t<4824?t<4802?4800==t:t>=4802&&t<=4805||t>=4808&&t<=4822:t<4888?t>=4824&&t<=4880||t>=4882&&t<=4885:t>=4888&&t<=4954||t>=4957&&t<=4959:t<5121?t<5024?t>=4992&&t<=5007:t>=5024&&t<=5109||t>=5112&&t<=5117:t<5761?t>=5121&&t<=5740||t>=5743&&t<=5759:t>=5761&&t<=5786||t>=5792&&t<=5866:t<6002?t<5920?t<5888?t>=5873&&t<=5880:t>=5888&&t<=5900||t>=5902&&t<=5908:t<5984?t>=5920&&t<=5940||t>=5952&&t<=5971:t>=5984&&t<=5996||t>=5998&&t<=6e3:t<6108?t<6016?t>=6002&&t<=6003:t>=6016&&t<=6099||6103==t:t<6155?t>=6108&&t<=6109||t>=6112&&t<=6121:t>=6155&&t<=6157||t>=6160&&t<=6169:t<6783?t<6512?t<6400?t<6272?t>=6176&&t<=6263:t>=6272&&t<=6314||t>=6320&&t<=6389:t<6448?t>=6400&&t<=6430||t>=6432&&t<=6443:t>=6448&&t<=6459||t>=6470&&t<=6509:t<6608?t<6528?t>=6512&&t<=6516:t>=6528&&t<=6571||t>=6576&&t<=6601:t<6688?t>=6608&&t<=6617||t>=6656&&t<=6683:t>=6688&&t<=6750||t>=6752&&t<=6780:t<7040?t<6832?t<6800?t>=6783&&t<=6793:t>=6800&&t<=6809||6823==t:t<6992?t>=6832&&t<=6846||t>=6912&&t<=6987:t>=6992&&t<=7001||t>=7019&&t<=7027:t<7245?t<7168?t>=7040&&t<=7155:t>=7168&&t<=7223||t>=7232&&t<=7241:t<7376?t>=7245&&t<=7293||t>=7296&&t<=7304:t>=7376&&t<=7378||t>=7380&&t<=7414:t<8450?t<8130?t<8025?t<7960?t<7424?t>=7416&&t<=7417:t>=7424&&t<=7669||t>=7675&&t<=7957:t<8008?t>=7960&&t<=7965||t>=7968&&t<=8005:t>=8008&&t<=8013||t>=8016&&t<=8023:t<8031?t<8027?8025==t:8027==t||8029==t:t<8118?t>=8031&&t<=8061||t>=8064&&t<=8116:t>=8118&&t<=8124||8126==t:t<8205?t<8150?t<8134?t>=8130&&t<=8132:t>=8134&&t<=8140||t>=8144&&t<=8147:t<8178?t>=8150&&t<=8155||t>=8160&&t<=8172:t>=8178&&t<=8180||t>=8182&&t<=8188:t<8305?t<8252?8205==t:8252==t||8265==t:t<8336?8305==t||8319==t:t>=8336&&t<=8348||t>=8400&&t<=8432:t<8579?t<8486?t<8469?t<8455?8450==t:8455==t||t>=8458&&t<=8467:t<8482?8469==t||t>=8473&&t<=8477:8482==t||8484==t:t<8495?t<8488?8486==t:8488==t||t>=8490&&t<=8493:t<8517?t>=8495&&t<=8505||t>=8508&&t<=8511:t>=8517&&t<=8521||8526==t:t<9410?t<9e3?t<8592?t>=8579&&t<=8580:t>=8592&&t<=8703||t>=8986&&t<=8987:t<9193?9e3==t||9167==t:t>=9193&&t<=9203||t>=9208&&t<=9210:t<9723?t<9654?9410==t||t>=9642&&t<=9643:9654==t||9664==t:t<10548?t>=9723&&t<=9726||t>=9728&&t<=10175:t>=10548&&t<=10549||t>=11013&&t<=11015:t<43259?t<12445?t<11688?t<11520?t<11264?t<11088?t>=11035&&t<=11036:11088==t||11093==t:t<11360?t>=11264&&t<=11310||t>=11312&&t<=11358:t>=11360&&t<=11492||t>=11499&&t<=11507:t<11568?t<11559?t>=11520&&t<=11557:11559==t||11565==t:t<11647?t>=11568&&t<=11623||11631==t:t>=11647&&t<=11670||t>=11680&&t<=11686:t<11744?t<11712?t<11696?t>=11688&&t<=11694:t>=11696&&t<=11702||t>=11704&&t<=11710:t<11728?t>=11712&&t<=11718||t>=11720&&t<=11726:t>=11728&&t<=11734||t>=11736&&t<=11742:t<12330?t<11823?t>=11744&&t<=11775:11823==t||t>=12293&&t<=12294:t<12353?t>=12330&&t<=12341||t>=12347&&t<=12349:t>=12353&&t<=12438||t>=12441&&t<=12442:t<42512?t<12951?t<12549?t<12449?t>=12445&&t<=12447:t>=12449&&t<=12538||t>=12540&&t<=12543:t<12704?t>=12549&&t<=12589||t>=12593&&t<=12686:t>=12704&&t<=12730||t>=12784&&t<=12799:t<19968?t<12953?12951==t:12953==t||t>=13312&&t<=19893:t<42192?t>=19968&&t<=40917||t>=40960&&t<=42124:t>=42192&&t<=42237||t>=42240&&t<=42508:t<42891?t<42623?t<42560?t>=42512&&t<=42539:t>=42560&&t<=42610||t>=42612&&t<=42621:t<42775?t>=42623&&t<=42725||t>=42736&&t<=42737:t>=42775&&t<=42783||t>=42786&&t<=42888:t<43072?t<42928?t>=42891&&t<=42926:t>=42928&&t<=42935||t>=42999&&t<=43047:t<43216?t>=43072&&t<=43123||t>=43136&&t<=43205:t>=43216&&t<=43225||t>=43232&&t<=43255:t<55243?t<43744?t<43488?t<43312?t<43261?43259==t:43261==t||t>=43264&&t<=43309:t<43392?t>=43312&&t<=43347||t>=43360&&t<=43388:t>=43392&&t<=43456||t>=43471&&t<=43481:t<43600?t<43520?t>=43488&&t<=43518:t>=43520&&t<=43574||t>=43584&&t<=43597:t<43642?t>=43600&&t<=43609||t>=43616&&t<=43638:t>=43642&&t<=43714||t>=43739&&t<=43741:t<43824?t<43785?t<43762?t>=43744&&t<=43759:t>=43762&&t<=43766||t>=43777&&t<=43782:t<43808?t>=43785&&t<=43790||t>=43793&&t<=43798:t>=43808&&t<=43814||t>=43816&&t<=43822:t<44012?t<43868?t>=43824&&t<=43866:t>=43868&&t<=43877||t>=43888&&t<=44010:t<44032?t>=44012&&t<=44013||t>=44016&&t<=44025:t>=44032&&t<=55203||t>=55216&&t<=55238:t<64848?t<64298?t<64112?t<55296?t>=55243&&t<=55291:t>=55296&&t<=57343||t>=63744&&t<=64109:t<64275?t>=64112&&t<=64217||t>=64256&&t<=64262:t>=64275&&t<=64279||t>=64285&&t<=64296:t<64320?t<64312?t>=64298&&t<=64310:t>=64312&&t<=64316||64318==t:t<64326?t>=64320&&t<=64321||t>=64323&&t<=64324:t>=64326&&t<=64433||t>=64467&&t<=64829:t<65296?t<65024?t<64914?t>=64848&&t<=64911:t>=64914&&t<=64967||t>=65008&&t<=65019:t<65136?t>=65024&&t<=65039||t>=65056&&t<=65071:t>=65136&&t<=65140||t>=65142&&t<=65276:t<65474?t<65345?t>=65296&&t<=65305||t>=65313&&t<=65338:t>=65345&&t<=65370||t>=65382&&t<=65470:t<65490?t>=65474&&t<=65479||t>=65482&&t<=65487:t>=65490&&t<=65495||t>=65498&&t<=65500}function x(t){return t<58?t<44?33==t:44==t||46==t:t<63?t>=58&&t<=59:63==t||94==t}function y(t){return t<91?40==t:91==t||123==t}function v(t){return t<93?41==t:93==t||125==t}var k=/^(?:xn--vermgensberatung-pwb|xn--vermgensberater-ctb|xn--clchc0ea0b2g2a9gcd|xn--w4r85el8fhu5dnra|travelersinsurance|vermögensberatung|xn--5su34j936bgsg|xn--bck1b9a5dre4c|xn--mgbah1a3hjkrd|xn--mgbai9azgqp6j|xn--mgberp4a5d4ar|xn--xkc2dl3a5ee0h|vermögensberater|xn--fzys8d69uvgm|xn--mgba7c0bbn0a|xn--mgbcpq6gpa1a|xn--xkc2al3hye2a|americanexpress|kerryproperties|sandvikcoromant|xn--i1b6b1a6a2e|xn--kcrx77d1x4a|xn--lgbbat1ad8j|xn--mgba3a4f16a|xn--mgbc0a9azcg|xn--nqv7fs00ema|americanfamily|weatherchannel|xn--54b7fta0cc|xn--6qq986b3xl|xn--80aqecdr1a|xn--b4w605ferd|xn--fiq228c5hs|xn--h2breg3eve|xn--jlq480n2rg|xn--mgba3a3ejt|xn--mgbaam7a8h|xn--mgbayh7gpa|xn--mgbbh1a71e|xn--mgbca7dzdo|xn--mgbi4ecexp|xn--mgbx4cd0ab|xn--rvc1e0am3e|international|lifeinsurance|wolterskluwer|xn--cckwcxetd|xn--eckvdtc9d|xn--fpcrj9c3d|xn--fzc2c9e2c|xn--h2brj9c8c|xn--tiq49xqyj|xn--yfro4i67o|xn--ygbi2ammx|construction|lplfinancial|scholarships|versicherung|xn--3e0b707e|xn--45br5cyl|xn--4dbrk0ce|xn--80adxhks|xn--80asehdb|xn--8y0a063a|xn--gckr3f0f|xn--mgb9awbf|xn--mgbab2bd|xn--mgbgu82a|xn--mgbpl2fh|xn--mgbt3dhd|xn--mk1bu44c|xn--ngbc5azd|xn--ngbe9e0a|xn--ogbpf8fl|xn--qcka1pmc|accountants|barclaycard|blackfriday|blockbuster|bridgestone|calvinklein|contractors|creditunion|engineering|enterprises|investments|kerryhotels|lamborghini|motorcycles|olayangroup|photography|playstation|productions|progressive|redumbrella|williamhill|xn--11b4c3d|xn--1ck2e1b|xn--1qqw23a|xn--2scrj9c|xn--3bst00m|xn--3ds443g|xn--3hcrj9c|xn--42c2d9a|xn--45brj9c|xn--55qw42g|xn--6frz82g|xn--80ao21a|xn--9krt00a|xn--cck2b3b|xn--czr694b|xn--d1acj3b|xn--efvy88h|xn--fct429k|xn--fjq720a|xn--flw351e|xn--g2xx48c|xn--gecrj9c|xn--gk3at1e|xn--h2brj9c|xn--hxt814e|xn--imr513n|xn--j6w193g|xn--jvr189m|xn--kprw13d|xn--kpry57d|xn--mgbbh1a|xn--mgbtx2b|xn--mix891f|xn--nyqy26a|xn--otu796d|xn--pgbs0dh|xn--q9jyb4c|xn--rhqv96g|xn--rovu88b|xn--s9brj9c|xn--ses554g|xn--t60b56a|xn--vuq861b|xn--w4rs40l|xn--xhq521b|xn--zfr164b|சிங்கப்பூர்|accountant|apartments|associates|basketball|bnpparibas|boehringer|capitalone|consulting|creditcard|cuisinella|eurovision|extraspace|foundation|healthcare|immobilien|industries|management|mitsubishi|nextdirect|properties|protection|prudential|realestate|republican|restaurant|schaeffler|tatamotors|technology|university|vlaanderen|xn--30rr7y|xn--3pxu8k|xn--45q11c|xn--4gbrim|xn--55qx5d|xn--5tzm5g|xn--80aswg|xn--90a3ac|xn--9dbq2a|xn--9et52u|xn--c2br7g|xn--cg4bki|xn--czrs0t|xn--czru2d|xn--fiq64b|xn--fiqs8s|xn--fiqz9s|xn--io0a7i|xn--kput3i|xn--mxtq1m|xn--o3cw4h|xn--pssy2u|xn--q7ce6a|xn--unup4y|xn--wgbh1c|xn--wgbl6a|xn--y9a3aq|accenture|allfinanz|amsterdam|analytics|aquarelle|barcelona|bloomberg|christmas|community|directory|education|equipment|fairwinds|financial|firestone|fresenius|furniture|goldpoint|hisamitsu|homedepot|homegoods|homesense|institute|insurance|kuokgroup|landrover|lifestyle|marketing|marshalls|melbourne|microsoft|panasonic|pramerica|richardli|shangrila|solutions|statebank|statefarm|stockholm|travelers|vacations|xn--90ais|xn--c1avg|xn--d1alf|xn--e1a4c|xn--fhbei|xn--j1aef|xn--j1amh|xn--l1acc|xn--ngbrx|xn--nqv7f|xn--p1acf|xn--qxa6a|xn--tckwe|xn--vhquv|yodobashi|موريتانيا|abudhabi|airforce|allstate|attorney|barclays|barefoot|bargains|baseball|boutique|bradesco|broadway|brussels|builders|business|capetown|catering|catholic|cipriani|cleaning|clinique|clothing|commbank|computer|delivery|deloitte|democrat|diamonds|discount|discover|download|engineer|ericsson|exchange|feedback|fidelity|firmdale|football|frontier|goodyear|grainger|graphics|hdfcbank|helsinki|holdings|hospital|infiniti|ipiranga|istanbul|jpmorgan|lighting|lundbeck|marriott|mckinsey|memorial|merckmsd|mortgage|observer|partners|pharmacy|pictures|plumbing|property|redstone|reliance|saarland|samsclub|security|services|shopping|softbank|software|stcgroup|supplies|training|vanguard|ventures|verisign|woodside|xn--90ae|xn--node|xn--p1ai|xn--qxam|yokohama|السعودية|abogado|academy|agakhan|alibaba|android|athleta|auction|audible|auspost|banamex|bauhaus|bestbuy|booking|brother|capital|caravan|careers|channel|charity|chintai|citadel|clubmed|college|cologne|company|compare|contact|cooking|corsica|country|coupons|courses|cricket|cruises|dentist|digital|domains|exposed|express|farmers|fashion|ferrari|ferrero|finance|fishing|fitness|flights|florist|flowers|forsale|frogans|fujitsu|gallery|genting|godaddy|grocery|guitars|hamburg|hangout|hitachi|holiday|hosting|hotmail|hyundai|ismaili|jewelry|juniper|kitchen|komatsu|lacaixa|lanxess|lasalle|latrobe|leclerc|limited|lincoln|markets|monster|netbank|netflix|network|neustar|okinawa|organic|origins|philips|pioneer|politie|realtor|recipes|rentals|reviews|rexroth|samsung|sandvik|schmidt|schwarz|science|shiksha|singles|staples|storage|support|surgery|systems|temasek|theater|theatre|tickets|toshiba|trading|walmart|wanggou|watches|weather|website|wedding|whoswho|windows|winners|yamaxun|youtube|zuerich|католик|البحرين|الجزائر|العليان|پاکستان|كاثوليك|இந்தியா|abbott|abbvie|africa|agency|airbus|airtel|alipay|alsace|alstom|amazon|anquan|aramco|author|bayern|beauty|berlin|bharti|bostik|boston|broker|camera|career|casino|center|chanel|chrome|church|circle|claims|clinic|coffee|comsec|condos|coupon|credit|cruise|dating|datsun|dealer|degree|dental|design|direct|doctor|dunlop|dupont|durban|emerck|energy|estate|events|expert|family|flickr|futbol|gallup|garden|george|giving|global|google|gratis|health|hermes|hiphop|hockey|hotels|hughes|imamat|insure|intuit|jaguar|joburg|juegos|kaufen|kindle|kosher|latino|lawyer|lefrak|living|locker|london|luxury|madrid|maison|makeup|market|mattel|mobile|monash|mormon|moscow|museum|nagoya|nissan|nissay|norton|nowruz|office|olayan|online|oracle|orange|otsuka|pfizer|photos|physio|pictet|quebec|racing|realty|reisen|repair|report|review|rogers|ryukyu|safety|sakura|sanofi|school|schule|search|secure|select|shouji|soccer|social|stream|studio|supply|suzuki|swatch|sydney|taipei|taobao|target|tattoo|tennis|tienda|tjmaxx|tkmaxx|toyota|travel|unicom|viajes|viking|villas|virgin|vision|voting|voyage|walter|webcam|xihuan|yachts|yandex|zappos|москва|онлайн|ابوظبي|ارامكو|الاردن|المغرب|امارات|فلسطين|مليسيا|भारतम्|இலங்கை|ファッション|actor|adult|aetna|amfam|amica|apple|archi|audio|autos|azure|baidu|beats|bible|bingo|black|boats|bosch|build|canon|cards|chase|cheap|cisco|citic|click|cloud|coach|codes|crown|cymru|dance|deals|delta|drive|dubai|earth|edeka|email|epson|faith|fedex|final|forex|forum|gallo|games|gifts|gives|glass|globo|gmail|green|gripe|group|gucci|guide|homes|honda|horse|house|hyatt|ikano|irish|jetzt|koeln|kyoto|lamer|lease|legal|lexus|lilly|loans|locus|lotte|lotto|mango|media|miami|money|movie|music|nexus|nikon|ninja|nokia|nowtv|omega|osaka|paris|parts|party|phone|photo|pizza|place|poker|praxi|press|prime|promo|quest|radio|rehab|reise|ricoh|rocks|rodeo|rugby|salon|sener|seven|sharp|shell|shoes|skype|sling|smart|smile|solar|space|sport|stada|store|study|style|sucks|swiss|tatar|tires|tirol|tmall|today|tokyo|tools|toray|total|tours|trade|trust|tunes|tushu|ubank|vegas|video|vodka|volvo|wales|watch|weber|weibo|works|world|xerox|yahoo|ישראל|ایران|بازار|بھارت|سودان|سورية|همراه|भारोत|संगठन|বাংলা|భారత్|ഭാരതം|嘉里大酒店|aarp|able|aero|akdn|ally|amex|arab|army|arpa|arte|asda|asia|audi|auto|baby|band|bank|bbva|beer|best|bike|bing|blog|blue|bofa|bond|book|buzz|cafe|call|camp|care|cars|casa|case|cash|cbre|cern|chat|citi|city|club|cool|coop|cyou|data|date|dclk|deal|dell|desi|diet|dish|docs|dvag|erni|fage|fail|fans|farm|fast|fido|film|fire|fish|flir|food|ford|free|fund|game|gbiz|gent|ggee|gift|gmbh|gold|golf|goog|guge|guru|hair|haus|hdfc|help|here|host|hsbc|icbc|ieee|imdb|immo|info|itau|java|jeep|jobs|jprs|kddi|kids|kiwi|kpmg|kred|land|lego|lgbt|lidl|life|like|limo|link|live|loan|love|ltda|luxe|maif|meet|meme|menu|mini|mint|mobi|moda|moto|name|navy|news|next|nico|nike|ollo|open|page|pars|pccw|pics|ping|pink|play|plus|pohl|porn|post|prod|prof|qpon|read|reit|rent|rest|rich|room|rsvp|ruhr|safe|sale|sarl|save|saxo|scot|seat|seek|sexy|shia|shop|show|silk|sina|site|skin|sncf|sohu|song|sony|spot|star|surf|talk|taxi|team|tech|teva|tiaa|tips|town|toys|tube|vana|visa|viva|vivo|vote|voto|wang|weir|wien|wiki|wine|work|xbox|yoga|zara|zero|zone|дети|сайт|بارت|بيتك|ڀارت|تونس|شبكة|عراق|عمان|موقع|भारत|ভারত|ভাৰত|ਭਾਰਤ|ભારત|ଭାରତ|ಭಾರತ|ලංකා|アマゾン|グーグル|クラウド|ポイント|组织机构|電訊盈科|香格里拉|aaa|abb|abc|aco|ads|aeg|afl|aig|anz|aol|app|art|aws|axa|bar|bbc|bbt|bcg|bcn|bet|bid|bio|biz|bms|bmw|bom|boo|bot|box|buy|bzh|cab|cal|cam|car|cat|cba|cbn|ceo|cfa|cfd|com|cpa|crs|dad|day|dds|dev|dhl|diy|dnp|dog|dot|dtv|dvr|eat|eco|edu|esq|eus|fan|fit|fly|foo|fox|frl|ftr|fun|fyi|gal|gap|gay|gdn|gea|gle|gmo|gmx|goo|gop|got|gov|hbo|hiv|hkt|hot|how|ibm|ice|icu|ifm|inc|ing|ink|int|ist|itv|jcb|jio|jll|jmp|jnj|jot|joy|kfh|kia|kim|kpn|krd|lat|law|lds|llc|llp|lol|lpl|ltd|man|map|mba|med|men|mil|mit|mlb|mls|mma|moe|moi|mom|mov|msd|mtn|mtr|nab|nba|nec|net|new|nfl|ngo|nhk|now|nra|nrw|ntt|nyc|obi|one|ong|onl|ooo|org|ott|ovh|pay|pet|phd|pid|pin|pnc|pro|pru|pub|pwc|red|ren|ril|rio|rip|run|rwe|sap|sas|sbi|sbs|scb|sew|sex|sfr|ski|sky|soy|spa|srl|stc|tab|tax|tci|tdk|tel|thd|tjx|top|trv|tui|tvs|ubs|uno|uol|ups|vet|vig|vin|vip|wed|win|wme|wow|wtc|wtf|xin|xxx|xyz|you|yun|zip|бел|ком|қаз|мкд|мон|орг|рус|срб|укр|հայ|קום|عرب|قطر|كوم|مصر|कॉम|नेट|คอม|ไทย|ລາວ|ストア|セール|みんな|中文网|亚马逊|天主教|我爱你|新加坡|淡马锡|飞利浦|ac|ad|ae|af|ag|ai|al|am|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cw|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|ss|st|su|sv|sx|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|za|zm|zw|ελ|ευ|бг|ею|рф|გე|닷넷|닷컴|삼성|한국|コム|世界|中信|中国|中國|企业|佛山|信息|健康|八卦|公司|公益|台湾|台灣|商城|商店|商标|嘉里|在线|大拿|娱乐|家電|广东|微博|慈善|手机|招聘|政务|政府|新闻|时尚|書籍|机构|游戏|澳門|点看|移动|网址|网店|网站|网络|联通|谷歌|购物|通販|集团|食品|餐厅|香港)$/,w=/https?:\/\//i,T=new RegExp("^"+w.source,"i"),M=/^(javascript|vbscript):/i,j=/^[A-Za-z][-.+A-Za-z0-9]*:(\/\/)?([^:/]*)/,S=/^(?:\/\/)?([^/#?:]+)/,I=f;function q(t){return f(t)||g(t)||43===t||45===t||46===t}var z=b;function C(t){return 95===t||z(t)}function A(t){return b(t)||((e=t)<91?e<47?e>=35&&e<=43||45==e:e<61?47==e:61==e||64==e:e<95?91==e||93==e:e<123?95==e:e>=123&&e<=126||10003==e)||x(t);var e}function N(t){return 47===t||63===t||35===t}function P(t){return k.test(t.toLowerCase())}var O=/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/,E=/[:/?#]/;var R=/^(https?:\/\/)?(?:www\.)?/i,H=/^\/\//,_=function(t){function n(e){var n=t.call(this,e)||this;return n.type="url",n.url="",n.urlMatchType="scheme",n.protocolRelativeMatch=!1,n.stripPrefix={scheme:!0,www:!0},n.stripTrailingSlash=!0,n.decodePercentEncoding=!0,n.protocolPrepended=!1,n.urlMatchType=e.urlMatchType,n.url=e.url,n.protocolRelativeMatch=e.protocolRelativeMatch,n.stripPrefix=e.stripPrefix,n.stripTrailingSlash=e.stripTrailingSlash,n.decodePercentEncoding=e.decodePercentEncoding,n}return e(n,t),n.prototype.getType=function(){return"url"},n.prototype.getUrlMatchType=function(){return this.urlMatchType},n.prototype.getUrl=function(){var t=this.url;return this.protocolRelativeMatch||"scheme"===this.urlMatchType||this.protocolPrepended||(t=this.url="http://"+t,this.protocolPrepended=!0),t},n.prototype.getAnchorHref=function(){return this.getUrl().replace(/&/g,"&")},n.prototype.getAnchorText=function(){var t=this.getMatchedText();return this.protocolRelativeMatch&&(t=t.replace(H,"")),this.stripPrefix.scheme&&(t=t.replace(T,"")),this.stripPrefix.www&&(t=function(t){return t.includes("www.")?t.replace(R,"$1"):t}(t)),this.stripTrailingSlash&&(t=function(t){"/"===t.charAt(t.length-1)&&(t=t.slice(0,-1));return t}(t)),this.decodePercentEncoding&&(t=function(t){var e=t.replace(/%(?:22|26|27|3C|3E)/gi,(function(t){return"%22"===t?""":"%26"===t?"&":"%27"===t?"'":"%3C"===t||"%3c"===t?"<":">"}));if(e.includes("%"))try{return decodeURIComponent(e)}catch(t){}return e}(t)),t},n}(p);var B=/^mailto:/i,L=b;function U(t){return L(t)||((e=t)<47?e<42?33==e||e>=35&&e<=39:e>=42&&e<=43||45==e:e<63?47==e||61==e:e<94?63==e:e>=94&&e<=96||e>=123&&e<=126);var e}var $=function(t){function n(e){var n=t.call(this,e)||this;return n.type="email",n.email="",n.email=e.email,n}return e(n,t),n.prototype.getType=function(){return"email"},n.prototype.getEmail=function(){return this.email},n.prototype.getAnchorHref=function(){return"mailto:"+this.email},n.prototype.getAnchorText=function(){return this.email},n}(p);function D(t){return 95===t||b(t)}var W=["twitter","facebook","instagram","tiktok","youtube"],V=function(t){function n(e){var n=t.call(this,e)||this;return n.type="hashtag",n.serviceName="twitter",n.hashtag="",n.serviceName=e.serviceName,n.hashtag=e.hashtag,n}return e(n,t),n.prototype.getType=function(){return"hashtag"},n.prototype.getServiceName=function(){return this.serviceName},n.prototype.getHashtag=function(){return this.hashtag},n.prototype.getAnchorHref=function(){var t=this.serviceName,e=this.hashtag;switch(t){case"twitter":return"https://twitter.com/hashtag/"+e;case"facebook":return"https://www.facebook.com/hashtag/"+e;case"instagram":return"https://instagram.com/explore/tags/"+e;case"tiktok":return"https://www.tiktok.com/tag/"+e;case"youtube":return"https://youtube.com/hashtag/"+e;default:s(t)}},n.prototype.getAnchorText=function(){return"#"+this.hashtag},n.prototype.getCssClassSuffixes=function(){var e=t.prototype.getCssClassSuffixes.call(this),n=this.getServiceName();return n&&e.push(n),e},n}(p),F={twitter:/^@\w{1,15}$/,instagram:/^@[_\w]{1,30}$/,soundcloud:/^@[-a-z0-9_]{3,25}$/,tiktok:/^@[.\w]{1,23}[\w]$/,youtube:/^@[-.·\w]{3,30}$/};function Z(t){return 45===t||46===t||95===t||f(t)||g(t)}var Y=["twitter","instagram","soundcloud","tiktok","youtube"],G=function(t){function n(e){var n=t.call(this,e)||this;return n.type="mention",n.serviceName="twitter",n.mention="",n.mention=e.mention,n.serviceName=e.serviceName,n}return e(n,t),n.prototype.getType=function(){return"mention"},n.prototype.getMention=function(){return this.mention},n.prototype.getServiceName=function(){return this.serviceName},n.prototype.getAnchorHref=function(){switch(this.serviceName){case"twitter":return"https://twitter.com/"+this.mention;case"instagram":return"https://instagram.com/"+this.mention;case"soundcloud":return"https://soundcloud.com/"+this.mention;case"tiktok":return"https://www.tiktok.com/@"+this.mention;case"youtube":return"https://youtube.com/@"+this.mention;default:s(this.serviceName)}},n.prototype.getAnchorText=function(){return"@"+this.mention},n.prototype.getCssClassSuffixes=function(){var e=t.prototype.getCssClassSuffixes.call(this),n=this.getServiceName();return n&&e.push(n),e},n}(p),J=/[-. ()]/,K=new RegExp("^".concat(/(?:(?:(?:(\+)?\d{1,3}[-. ]?)?\(?\d{3}\)?[-. ]?\d{3}[-. ]?\d{4})|(?:(\+)(?:9[976]\d|8[987530]\d|6[987]\d|5[90]\d|42\d|3[875]\d|2[98654321]\d|9[8543210]|8[6421]|6[6543210]|5[87654321]|4[987654310]|3[9643210]|2[70]|7|1)[-. ]?(?:\d[-. ]?){6,12}\d+))([,;]+[0-9]+#?)*/.source,"|").concat(/(0([1-9]-?[1-9]\d{3}|[1-9]{2}-?\d{3}|[1-9]{2}\d{1}-?\d{2}|[1-9]{2}\d{2}-?\d{1})-?\d{4}|0[789]0-?\d{4}-?\d{4}|050-?\d{4}-?\d{4})/.source,"$"));function Q(t){return 45===t||46===t||32===t}function X(t){return 44===t||59===t}var tt=function(t){function n(e){var n=t.call(this,e)||this;return n.type="phone",n.number="",n.plusSign=!1,n.number=e.number,n.plusSign=e.plusSign,n}return e(n,t),n.prototype.getType=function(){return"phone"},n.prototype.getPhoneNumber=function(){return this.number},n.prototype.getNumber=function(){return this.getPhoneNumber()},n.prototype.getAnchorHref=function(){return"tel:"+(this.plusSign?"+":"")+this.number},n.prototype.getAnchorText=function(){return this.matchedText},n}(p),et=function(){function t(t,e){this.charIdx=0,this.matches=[],this._stateMachines=[],this.schemeUrlMachinesCount=0,this.text=t,this.tagBuilder=e.tagBuilder,this.stripPrefix=e.stripPrefix,this.stripTrailingSlash=e.stripTrailingSlash,this.decodePercentEncoding=e.decodePercentEncoding,this.hashtagServiceName=e.hashtagServiceName,this.mentionServiceName=e.mentionServiceName}return Object.defineProperty(t.prototype,"stateMachines",{get:function(){return this._stateMachines},enumerable:!1,configurable:!0}),t.prototype.addMachine=function(t){this._stateMachines.push(t),Kt(t)&&this.schemeUrlMachinesCount++},t.prototype.removeMachine=function(t){this._stateMachines=this._stateMachines.filter((function(e){return e!==t})),Kt(t)&&this.schemeUrlMachinesCount--},t.prototype.hasSchemeUrlMachine=function(){return this.schemeUrlMachinesCount>0},t}();function nt(t,e,n){var a=t.charIdx;if(35===n)t.addMachine({type:2,startIdx:a,state:28,acceptStateReached:!1});else if(64===n)t.addMachine(function(t,e){return{type:3,startIdx:t,state:e,acceptStateReached:!1}}(a,30));else if(47===n)t.addMachine(Gt(a,11));else if(43===n)t.addMachine(Jt(a,37));else if(40===n)t.addMachine(Jt(a,32));else{if(g(n)&&(t.addMachine(Jt(a,38)),t.addMachine(function(t,e){return{type:0,startIdx:t,state:e,acceptStateReached:!1,matchType:2,octetsEncountered:1}}(a,13))),L(n)){var r="m"===e.toLowerCase()?15:22;t.addMachine(function(t,e){return{type:1,startIdx:t,state:e,acceptStateReached:!1}}(a,r))}I(n)&&t.addMachine(Yt(a,0)),b(n)&&t.addMachine(Gt(a,5))}}function at(t,e,n){58===n?e.state=2:45===n?e.state=1:q(n)||t.removeMachine(e)}function rt(t,e,n){var a=t.charIdx;45===n||(47===n?(t.removeMachine(e),t.addMachine(Gt(a,11))):q(n)?e.state=0:t.removeMachine(e))}function it(t,e,n){var a=t.charIdx;47===n?e.state=3:46===n?t.removeMachine(e):z(n)?(e.state=5,I(n)&&t.addMachine(Yt(a,0))):t.removeMachine(e)}function st(t,e,n){47===n?e.state=4:A(n)?(e.state=10,e.acceptStateReached=!0):Vt(t,e)}function ct(t,e,n,a){47===a?(e.state=10,e.acceptStateReached=!0):z(a)?(e.state=5,e.acceptStateReached=!0):t.removeMachine(e)}function ot(t,e,n){47===n?e.state=12:t.removeMachine(e)}function ht(t,e,n){z(n)?e.state=5:t.removeMachine(e)}function ut(t,e,n){46===n?e.state=7:45===n?e.state=6:58===n?e.state=8:N(n)?e.state=10:C(n)||Vt(t,e)}function lt(t,e,n,a){45===a||(46===a?Vt(t,e):z(a)?e.state=5:Vt(t,e))}function pt(t,e,n,a){46===a?Vt(t,e):z(a)?(e.state=5,e.acceptStateReached=!0):Vt(t,e)}function ft(t,e,n){46===n?e.state=14:58===n?e.state=8:g(n)||(N(n)?e.state=10:b(n)?t.removeMachine(e):Vt(t,e))}function gt(t,e,n){g(n)?(e.octetsEncountered++,4===e.octetsEncountered&&(e.acceptStateReached=!0),e.state=13):Vt(t,e)}function dt(t,e,n){g(n)?e.state=9:Vt(t,e)}function mt(t,e,n){g(n)||(N(n)?e.state=10:Vt(t,e))}function bt(t,e,n){A(n)||Vt(t,e)}function xt(t,e,n,a){"a"===n.toLowerCase()?e.state=16:jt(t,e,a)}function yt(t,e,n,a){"i"===n.toLowerCase()?e.state=17:jt(t,e,a)}function vt(t,e,n,a){"l"===n.toLowerCase()?e.state=18:jt(t,e,a)}function kt(t,e,n,a){"t"===n.toLowerCase()?e.state=19:jt(t,e,a)}function wt(t,e,n,a){"o"===n.toLowerCase()?e.state=20:jt(t,e,a)}function Tt(t,e,n){58===n?e.state=21:jt(t,e,n)}function Mt(t,e,n){U(n)?e.state=22:t.removeMachine(e)}function jt(t,e,n){46===n?e.state=23:64===n?e.state=24:U(n)?e.state=22:t.removeMachine(e)}function St(t,e,n){46===n||64===n?t.removeMachine(e):U(n)?e.state=22:t.removeMachine(e)}function It(t,e,n){z(n)?e.state=25:t.removeMachine(e)}function qt(t,e,n){46===n?e.state=27:45===n?e.state=26:C(n)||Vt(t,e)}function zt(t,e,n){45===n||46===n?Vt(t,e):C(n)?e.state=25:Vt(t,e)}function Ct(t,e,n){46===n||45===n?Vt(t,e):z(n)?(e.state=25,e.acceptStateReached=!0):Vt(t,e)}function At(t,e,n){D(n)?(e.state=29,e.acceptStateReached=!0):t.removeMachine(e)}function Nt(t,e,n){D(n)||Vt(t,e)}function Pt(t,e,n){Z(n)?(e.state=31,e.acceptStateReached=!0):t.removeMachine(e)}function Ot(t,e,n){Z(n)||(b(n)?t.removeMachine(e):Vt(t,e))}function Et(t,e,n,a){g(a)?e.state=38:(t.removeMachine(e),nt(t,n,a))}function Rt(t,e,n,a){g(a)?e.state=33:t.removeMachine(e),nt(t,n,a)}function Ht(t,e,n){g(n)?e.state=34:t.removeMachine(e)}function _t(t,e,n){g(n)?e.state=35:t.removeMachine(e)}function Bt(t,e,n){41===n?e.state=36:t.removeMachine(e)}function Lt(t,e,n,a){g(a)?e.state=38:Q(a)?e.state=39:t.removeMachine(e)}function Ut(t,e,n,a){var r=t.charIdx;e.acceptStateReached=!0,X(a)?e.state=40:35===a?e.state=41:g(a)||(40===a?e.state=32:Q(a)?e.state=39:(Vt(t,e),I(a)&&t.addMachine(Yt(r,0))))}function $t(t,e,n,a){g(a)?e.state=38:40===a?e.state=32:(Vt(t,e),nt(t,n,a))}function Dt(t,e,n){X(n)||(35===n?e.state=41:g(n)?e.state=38:Vt(t,e))}function Wt(t,e,n){X(n)?e.state=40:g(n)?t.removeMachine(e):Vt(t,e)}function Vt(t,e){var n=t.matches,a=t.text,r=t.charIdx,i=t.tagBuilder,c=t.stripPrefix,o=t.stripTrailingSlash,h=t.decodePercentEncoding,u=t.hashtagServiceName,l=t.mentionServiceName;if(t.removeMachine(e),e.acceptStateReached){var p,f,g,d=e.startIdx,m=a.slice(e.startIdx,r);switch(m=function(t){for(var e={"(":0,"{":0,"[":0},n=0;n<t.length;n++){var a=t.charAt(n);y(i=t.charCodeAt(n))?e[a]++:v(i)&&e[Zt[a]]--}var r=t.length-1;for(;r>=0;){var i;a=t.charAt(r);if(v(i=t.charCodeAt(r))){var s=Zt[a];if(!(e[s]<0))break;e[s]++,r--}else{if(!x(i))break;r--}}return t.slice(0,r+1)}(m),e.type){case 0:if(64===a.charCodeAt(e.startIdx-1))return;switch(e.matchType){case 0:var b=w.exec(m);if(b&&(d+=b.index,m=m.slice(b.index)),!function(t){if(M.test(t))return!1;var e=t.match(j);if(!e)return!1;var n=!!e[1],a=e[2];return!!n||!(-1===a.indexOf(".")||!/[A-Za-z]/.test(a))}(m))return;break;case 1:if(!function(t){var e=t.match(S);if(!e)return!1;var n=e[0].split(".");return!(n.length<2||!P(n[n.length-1]))}(m))return;break;case 2:if(g=m.split(E,1)[0],!O.test(g))return;break;default:s(e)}n.push(new _({tagBuilder:i,matchedText:m,offset:d,urlMatchType:Ft(e.matchType),url:m,protocolRelativeMatch:"//"===m.slice(0,2),stripPrefix:c,stripTrailingSlash:o,decodePercentEncoding:h}));break;case 1:P(m.split(".").pop())&&n.push(new $({tagBuilder:i,matchedText:m,offset:d,email:m.replace(B,"")}));break;case 2:m.length<=140&&n.push(new V({tagBuilder:i,matchedText:m,offset:d,serviceName:u,hashtag:m.slice(1)}));break;case 3:f=m,F[l].test(f)&&n.push(new G({tagBuilder:i,matchedText:m,offset:d,serviceName:l,mention:m.slice(1)}));break;case 4:if(m=m.replace(/ +$/g,""),("+"===(p=m).charAt(0)||J.test(p))&&K.test(p)){var k=m.replace(/[^0-9,;#]/g,"");n.push(new tt({tagBuilder:i,matchedText:m,offset:d,number:k,plusSign:"+"===m.charAt(0)}))}break;default:s(e)}}}function Ft(t){switch(t){case 0:return"scheme";case 1:return"tld";case 2:return"ipV4";default:s(t)}}var Zt={")":"(","}":"{","]":"["};function Yt(t,e){return{type:0,startIdx:t,state:e,acceptStateReached:!1,matchType:0}}function Gt(t,e){return{type:0,startIdx:t,state:e,acceptStateReached:!1,matchType:1}}function Jt(t,e){return{type:4,startIdx:t,state:e,acceptStateReached:!1}}function Kt(t){return 0===t.type&&0===t.matchType}var Qt=function(t){void 0===t&&(t={}),this.idx=void 0!==t.idx?t.idx:-1,this.type=t.type||"tag",this.name=t.name||"",this.isOpening=!!t.isOpening,this.isClosing=!!t.isClosing},Xt=new Qt,te=function(t,e){this.charIdx=0,this.state=0,this.currentDataIdx=0,this.currentTag=Xt,this.html=t,this.callbacks=e};function ee(t,e){"<"===e&&Te(t)}function ne(t,e,a){"!"===e?t.state=13:"/"===e?(t.state=2,t.currentTag=new Qt(n(n({},t.currentTag),{isClosing:!0}))):"<"===e?Te(t):f(a)?(t.state=3,t.currentTag=new Qt(n(n({},t.currentTag),{isOpening:!0}))):(t.state=0,t.currentTag=Xt)}function ae(t,e,a){m(a)?(t.currentTag=new Qt(n(n({},t.currentTag),{name:je(t)})),t.state=4):"<"===e?Te(t):"/"===e?(t.currentTag=new Qt(n(n({},t.currentTag),{name:je(t)})),t.state=12):">"===e?(t.currentTag=new Qt(n(n({},t.currentTag),{name:je(t)})),Me(t)):f(a)||g(a)||":"===e||we(t)}function re(t,e,n){">"===e?we(t):f(n)?t.state=3:we(t)}function ie(t,e,n){var a;m(n)||("/"===e?t.state=12:">"===e?Me(t):"<"===e?Te(t):"="===e||d(n)||((a=n)>=0&&a<=31||127==a)?we(t):t.state=5)}function se(t,e,n){m(n)?t.state=6:"/"===e?t.state=12:"="===e?t.state=7:">"===e?Me(t):"<"===e?Te(t):d(n)&&we(t)}function ce(t,e,n){m(n)||("/"===e?t.state=12:"="===e?t.state=7:">"===e?Me(t):"<"===e?Te(t):d(n)?we(t):t.state=5)}function oe(t,e,n){m(n)||('"'===e?t.state=8:"'"===e?t.state=9:/[>=`]/.test(e)?we(t):"<"===e?Te(t):t.state=10)}function he(t,e){'"'===e&&(t.state=11)}function ue(t,e){"'"===e&&(t.state=11)}function le(t,e,n){m(n)?t.state=4:">"===e?Me(t):"<"===e&&Te(t)}function pe(t,e,n){m(n)?t.state=4:"/"===e?t.state=12:">"===e?Me(t):"<"===e?Te(t):(t.state=4,function(t){t.charIdx--}(t))}function fe(t,e){">"===e?(t.currentTag=new Qt(n(n({},t.currentTag),{isClosing:!0})),Me(t)):we(t)}function ge(t){var e=t.html,a=t.charIdx;"--"===e.slice(a,a+2)?(t.charIdx++,t.currentTag=new Qt(n(n({},t.currentTag),{type:"comment"})),t.state=14):"DOCTYPE"===e.slice(a,a+7).toUpperCase()?(t.charIdx+=6,t.currentTag=new Qt(n(n({},t.currentTag),{type:"doctype"})),t.state=20):we(t)}function de(t,e){"-"===e?t.state=15:">"===e?we(t):t.state=16}function me(t,e){"-"===e?t.state=18:">"===e?we(t):t.state=16}function be(t,e){"-"===e&&(t.state=17)}function xe(t,e){t.state="-"===e?18:16}function ye(t,e){">"===e?Me(t):"!"===e?t.state=19:"-"===e||(t.state=16)}function ve(t,e){"-"===e?t.state=17:">"===e?Me(t):t.state=16}function ke(t,e){">"===e?Me(t):"<"===e&&Te(t)}function we(t){t.state=0,t.currentTag=Xt}function Te(t){t.state=1,t.currentTag=new Qt({idx:t.charIdx})}function Me(t){var e=t.html.slice(t.currentDataIdx,t.currentTag.idx);e&&t.callbacks.onText(e,t.currentDataIdx);var n=t.currentTag;"comment"===n.type?t.callbacks.onComment(n.idx):"doctype"===n.type?t.callbacks.onDoctype(n.idx):(n.isOpening&&t.callbacks.onOpenTag(n.name,n.idx),n.isClosing&&t.callbacks.onCloseTag(n.name,n.idx)),we(t),t.currentDataIdx=t.charIdx+1}function je(t){var e=t.currentTag.idx+(t.currentTag.isClosing?2:1);return t.html.slice(e,t.charIdx).toLowerCase()}var Se=function(){function t(e){void 0===e&&(e={}),this.version=t.version,this.urls={},this.email=!0,this.phone=!0,this.hashtag=!1,this.mention=!1,this.newWindow=!0,this.stripPrefix={scheme:!0,www:!0},this.stripTrailingSlash=!0,this.decodePercentEncoding=!0,this.truncate={length:0,location:"end"},this.className="",this.replaceFn=null,this.context=void 0,this.sanitizeHtml=!1,this.tagBuilder=null,this.urls=function(t){null==t&&(t=!0);return r(t)?{schemeMatches:t,tldMatches:t,ipV4Matches:t}:{schemeMatches:!r(t.schemeMatches)||t.schemeMatches,tldMatches:!r(t.tldMatches)||t.tldMatches,ipV4Matches:!r(t.ipV4Matches)||t.ipV4Matches}}(e.urls),this.email=r(e.email)?e.email:this.email,this.phone=r(e.phone)?e.phone:this.phone,this.hashtag=e.hashtag||this.hashtag,this.mention=e.mention||this.mention,this.newWindow=r(e.newWindow)?e.newWindow:this.newWindow,this.stripPrefix=function(t){null==t&&(t=!0);return r(t)?{scheme:t,www:t}:{scheme:!r(t.scheme)||t.scheme,www:!r(t.www)||t.www}}(e.stripPrefix),this.stripTrailingSlash=r(e.stripTrailingSlash)?e.stripTrailingSlash:this.stripTrailingSlash,this.decodePercentEncoding=r(e.decodePercentEncoding)?e.decodePercentEncoding:this.decodePercentEncoding,this.sanitizeHtml=e.sanitizeHtml||!1;var a=this.mention;if(!1!==a&&-1===Y.indexOf(a))throw new Error("invalid `mention` cfg '".concat(a,"' - see docs"));var i,s=this.hashtag;if(!1!==s&&-1===W.indexOf(s))throw new Error("invalid `hashtag` cfg '".concat(s,"' - see docs"));this.truncate="number"==typeof(i=e.truncate)?{length:i,location:"end"}:n({length:Number.POSITIVE_INFINITY,location:"end"},i),this.className=e.className||this.className,this.replaceFn=e.replaceFn||this.replaceFn,this.context=e.context||this}return t.link=function(e,n){return new t(n).link(e)},t.parse=function(e,n){return new t(n).parse(e)},t.prototype.parse=function(t){var e=this,n=["a","style","script"],a=0,r=[];return function(t,e){for(var n=new te(t,e),a=t.length;n.charIdx<a;){var r=t.charAt(n.charIdx),i=t.charCodeAt(n.charIdx);switch(n.state){case 0:ee(n,r);break;case 1:ne(n,r,i);break;case 2:re(n,r,i);break;case 3:ae(n,r,i);break;case 4:ie(n,r,i);break;case 5:se(n,r,i);break;case 6:ce(n,r,i);break;case 7:oe(n,r,i);break;case 8:he(n,r);break;case 9:ue(n,r);break;case 10:le(n,r,i);break;case 11:pe(n,r,i);break;case 12:fe(n,r);break;case 13:ge(n);break;case 14:de(n,r);break;case 15:me(n,r);break;case 16:be(n,r);break;case 17:xe(n,r);break;case 18:ye(n,r);break;case 19:ve(n,r);break;case 20:ke(n,r);break;default:s(n.state)}n.charIdx++}n.currentDataIdx<n.charIdx&&function(t){var e=t.html.slice(t.currentDataIdx,t.charIdx);t.callbacks.onText(e,t.currentDataIdx),t.currentDataIdx=t.charIdx+1}(n)}(t,{onOpenTag:function(t){n.indexOf(t)>=0&&a++},onText:function(t,n){if(0===a){var i=t.split(/( | |<|<|>|>|"|"|')/gi),s=n;i.forEach((function(t,n){if(n%2==0){var a=e.parseText(t,s);r.push.apply(r,function(t,e,n){if(n||2===arguments.length)for(var a,r=0,i=e.length;r<i;r++)!a&&r in e||(a||(a=Array.prototype.slice.call(e,0,r)),a[r]=e[r]);return t.concat(a||Array.prototype.slice.call(e))}([],function(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var a,r,i=n.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(a=i.next()).done;)s.push(a.value)}catch(t){r={error:t}}finally{try{a&&!a.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}return s}(a),!1))}s+=t.length}))}},onCloseTag:function(t){n.indexOf(t)>=0&&(a=Math.max(a-1,0))},onComment:function(){},onDoctype:function(){}}),r=this.compactMatches(r),r=this.removeUnwantedMatches(r)},t.prototype.compactMatches=function(t){t.sort(Ie);for(var e=0;e<t.length-1;){var n=t[e],a=n.getOffset(),r=n.getMatchedText().length;if(e+1<t.length&&t[e+1].getOffset()===a){var i=t[e+1].getMatchedText().length>r?e:e+1;t.splice(i,1)}else e++}return t},t.prototype.removeUnwantedMatches=function(t){return this.hashtag||i(t,(function(t){return"hashtag"===t.getType()})),this.email||i(t,(function(t){return"email"===t.getType()})),this.phone||i(t,(function(t){return"phone"===t.getType()})),this.mention||i(t,(function(t){return"mention"===t.getType()})),this.urls.schemeMatches||i(t,(function(t){return"url"===t.getType()&&"scheme"===t.getUrlMatchType()})),this.urls.tldMatches||i(t,(function(t){return"url"===t.getType()&&"tld"===t.getUrlMatchType()})),this.urls.ipV4Matches||i(t,(function(t){return"url"===t.getType()&&"ipV4"===t.getUrlMatchType()})),t},t.prototype.parseText=function(t,e){e=e||0;for(var n=function(t,e){for(var n=new et(t,e);n.charIdx<n.text.length;n.charIdx++){var a=t.charAt(n.charIdx),r=t.charCodeAt(n.charIdx);if(0===n.stateMachines.length)nt(n,a,r);else{for(var i=n.stateMachines.length-1;i>=0;i--){var c=n.stateMachines[i];switch(c.state){case 11:ot(n,c,r);break;case 12:ht(n,c,r);break;case 0:at(n,c,r);break;case 1:rt(n,c,r);break;case 2:it(n,c,r);break;case 3:st(n,c,r);break;case 4:ct(n,c,0,r);break;case 5:ut(n,c,r);break;case 6:lt(n,c,0,r);break;case 7:pt(n,c,0,r);break;case 13:ft(n,c,r);break;case 14:gt(n,c,r);break;case 8:dt(n,c,r);break;case 9:mt(n,c,r);break;case 10:bt(n,c,r);break;case 15:xt(n,c,a,r);break;case 16:yt(n,c,a,r);break;case 17:vt(n,c,a,r);break;case 18:kt(n,c,a,r);break;case 19:wt(n,c,a,r);break;case 20:Tt(n,c,r);break;case 21:Mt(n,c,r);break;case 22:jt(n,c,r);break;case 23:St(n,c,r);break;case 24:It(n,c,r);break;case 25:qt(n,c,r);break;case 26:zt(n,c,r);break;case 27:Ct(n,c,r);break;case 28:At(n,c,r);break;case 29:Nt(n,c,r);break;case 30:Pt(n,c,r);break;case 31:Ot(n,c,r);break;case 32:Rt(n,c,a,r);break;case 33:Ht(n,c,r);break;case 34:_t(n,c,r);break;case 35:Bt(n,c,r);break;case 36:Lt(n,c,0,r);break;case 37:Et(n,c,a,r);break;case 38:Ut(n,c,0,r);break;case 39:$t(n,c,a,r);break;case 40:Dt(n,c,r);break;case 41:Wt(n,c,r);break;default:s(c.state)}}if(!n.hasSchemeUrlMachine()&&n.charIdx>0&&I(r)){var o=n.text.charCodeAt(n.charIdx-1);I(o)||n.addMachine(Yt(n.charIdx,0))}}}for(var h=n.stateMachines.length-1;h>=0;h--)n.stateMachines.forEach((function(t){return Vt(n,t)}));return n.matches}(t,{tagBuilder:this.getTagBuilder(),stripPrefix:this.stripPrefix,stripTrailingSlash:this.stripTrailingSlash,decodePercentEncoding:this.decodePercentEncoding,hashtagServiceName:this.hashtag,mentionServiceName:this.mention||"twitter"}),a=0,r=n.length;a<r;a++)n[a].setOffset(e+n[a].getOffset());return n},t.prototype.link=function(t){if(!t)return"";this.sanitizeHtml&&(t=t.replace(/</g,"<").replace(/>/g,">"));for(var e=this.parse(t),n=new Array(2*e.length+1),a=0,r=0,i=e.length;r<i;r++){var s=e[r];n.push(t.substring(a,s.getOffset())),n.push(this.createMatchReturnVal(s)),a=s.getOffset()+s.getMatchedText().length}return n.push(t.substring(a)),n.join("")},t.prototype.createMatchReturnVal=function(t){var e;return this.replaceFn&&(e=this.replaceFn.call(this.context,t)),"string"==typeof e?e:!1===e?t.getMatchedText():e instanceof o?e.toAnchorString():t.buildTag().toAnchorString()},t.prototype.getTagBuilder=function(){var t=this.tagBuilder;return t||(t=this.tagBuilder=new l({newWindow:this.newWindow,truncate:this.truncate,className:this.className})),t},t.version="4.1.5",t}();function Ie(t,e){return t.getOffset()-e.getOffset()}return Se}));
//# sourceMappingURL=autolinker.min.js.map