Comparing version 4.1.2 to 4.1.3
@@ -566,9 +566,17 @@ export const __esModule: boolean; | ||
OPENBRACE: "OPENBRACE"; | ||
CLOSEBRACE: "CLOSEBRACE"; | ||
OPENBRACKET: "OPENBRACKET"; | ||
CLOSEBRACKET: "CLOSEBRACKET"; | ||
OPENPAREN: "OPENPAREN"; | ||
CLOSEPAREN: "CLOSEPAREN"; | ||
OPENANGLEBRACKET: "OPENANGLEBRACKET"; | ||
OPENPAREN: "OPENPAREN"; | ||
CLOSEBRACE: "CLOSEBRACE"; | ||
CLOSEBRACKET: "CLOSEBRACKET"; | ||
CLOSEANGLEBRACKET: "CLOSEANGLEBRACKET"; | ||
CLOSEPAREN: "CLOSEPAREN"; | ||
FULLWIDTHLEFTPAREN: "FULLWIDTHLEFTPAREN"; | ||
FULLWIDTHRIGHTPAREN: "FULLWIDTHRIGHTPAREN"; | ||
LEFTCORNERBRACKET: "LEFTCORNERBRACKET"; | ||
RIGHTCORNERBRACKET: "RIGHTCORNERBRACKET"; | ||
LEFTWHITECORNERBRACKET: "LEFTWHITECORNERBRACKET"; | ||
RIGHTWHITECORNERBRACKET: "RIGHTWHITECORNERBRACKET"; | ||
FULLWIDTHLESSTHAN: "FULLWIDTHLESSTHAN"; | ||
FULLWIDTHGREATERTHAN: "FULLWIDTHGREATERTHAN"; | ||
AMPERSAND: "AMPERSAND"; | ||
@@ -575,0 +583,0 @@ APOSTROPHE: "APOSTROPHE"; |
@@ -8,5 +8,5 @@ 'use strict'; | ||
// https://data.iana.org/TLD/tlds-alpha-by-domain.txt | ||
const encodedTlds = 'aaa1rp3barth4b0ott3vie4c1le2ogado5udhabi7c0ademy5centure6ountant0s9o1tor4d0s1ult4e0g1ro2tna4f0l1rica5g0akhan5ency5i0g1rbus3force5tel5kdn3l0faromeo7ibaba4pay4lfinanz6state5y2sace3tom5m0azon4ericanexpress7family11x2fam3ica3sterdam8nalytics7droid5quan4z2o0l2partments8p0le4q0uarelle8r0ab1mco4chi3my2pa2t0e3s0da2ia2sociates9t0hleta5torney7u0ction5di0ble3o3spost5thor3o0s4vianca6w0s2x0a2z0ure5ba0by2idu3namex3narepublic11d1k2r0celona5laycard4s5efoot5gains6seball5ketball8uhaus5yern5b0c1t1va3cg1n2d1e0ats2uty4er2ntley5rlin4st0buy5t2f1g1h0arti5i0ble3d1ke2ng0o3o1z2j1lack0friday9ockbuster8g1omberg7ue3m0s1w2n0pparibas9o0ats3ehringer8fa2m1nd2o0k0ing5sch2tik2on4t1utique6x2r0adesco6idgestone9oadway5ker3ther5ussels7s1t1uild0ers6siness6y1zz3v1w1y1z0h3ca0b1fe2l0l1vinklein9m0era3p2non3petown5ital0one8r0avan4ds2e0er0s4s2sa1e1h1ino4t0ering5holic7ba1n1re2s2c1d1enter4o1rn3f0a1d2g1h0anel2nel4rity4se2t2eap3intai5ristmas6ome4urch5i0priani6rcle4sco3tadel4i0c2y0eats7k1l0aims4eaning6ick2nic1que6othing5ud3ub0med6m1n1o0ach3des3ffee4llege4ogne5m0cast4mbank4unity6pany2re3uter5sec4ndos3struction8ulting7tact3ractors9oking0channel11l1p2rsica5untry4pon0s4rses6pa2r0edit0card4union9icket5own3s1uise0s6u0isinella9v1w1x1y0mru3ou3z2dabur3d1nce3ta1e1ing3sun4y2clk3ds2e0al0er2s3gree4livery5l1oitte5ta3mocrat6ntal2ist5si0gn4v2hl2iamonds6et2gital5rect0ory7scount3ver5h2y2j1k1m1np2o0cs1tor4g1mains5t1wnload7rive4tv2ubai3nlop4pont4rban5vag2r2z2earth3t2c0o2deka3u0cation8e1g1mail3erck5nergy4gineer0ing9terprises10pson4quipment8r0icsson6ni3s0q1tate5t0isalat7u0rovision8s2vents5xchange6pert3osed4ress5traspace10fage2il1rwinds6th3mily4n0s2rm0ers5shion4t3edex3edback6rrari3ero6i0at2delity5o2lm2nal1nce1ial7re0stone6mdale6sh0ing5t0ness6j1k1lickr3ghts4r2orist4wers5y2m1o0o0d0network8tball6rd1ex2sale4um3undation8x2r0ee1senius7l1ogans4ntdoor4ier7tr2ujitsu5n0d2rniture7tbol5yi3ga0l0lery3o1up4me0s3p1rden4y2b0iz3d0n2e0a1nt0ing5orge5f1g0ee3h1i0ft0s3ves2ing5l0ass3e1obal2o4m0ail3bh2o1x2n1odaddy5ld0point6f2o0dyear5g0le4p1t1v2p1q1r0ainger5phics5tis4een3ipe3ocery4up4s1t1u0ardian6cci3ge2ide2tars5ru3w1y2hair2mburg5ngout5us3bo2dfc0bank7ealth0care8lp1sinki6re1mes5gtv3iphop4samitsu7tachi5v2k0t2m1n1ockey4ldings5iday5medepot5goods5s0ense7nda3rse3spital5t0ing5t0eles2s3mail5use3w2r1sbc3t1u0ghes5yatt3undai7ibm2cbc2e1u2d1e0ee3fm2kano4l1m0amat4db2mo0bilien9n0c1dustries8finiti5o2g1k1stitute6urance4e4t0ernational10uit4vestments10o1piranga7q1r0ish4s0maili5t0anbul7t0au2v3jaguar4va3cb2e0ep2tzt3welry6io2ll2m0p2nj2o0bs1urg4t1y2p0morgan6rs3uegos4niper7kaufen5ddi3e0rryhotels6logistics9properties14fh2g1h1i0a1ds2m1nder2le4tchen5wi3m1n1oeln3matsu5sher5p0mg2n2r0d1ed3uokgroup8w1y0oto4z2la0caixa5mborghini8er3ncaster5ia3d0rover6xess5salle5t0ino3robe5w0yer5b1c1ds2ease3clerc5frak4gal2o2xus4gbt3i0dl2fe0insurance9style7ghting6ke2lly3mited4o2ncoln4de2k2psy3ve1ing5k1lc1p2oan0s3cker3us3l1ndon4tte1o3ve3pl0financial11r1s1t0d0a3u0ndbeck6xe1ury5v1y2ma0cys3drid4if1son4keup4n0agement7go3p1rket0ing3s4riott5shalls7serati6ttel5ba2c0kinsey7d1e0d0ia3et2lbourne7me1orial6n0u2rckmsd7g1h1iami3crosoft7l1ni1t2t0subishi9k1l0b1s2m0a2n1o0bi0le4da2e1i1m1nash3ey2ster5rmon3tgage6scow4to0rcycles9v0ie4p1q1r1s0d2t0n1r2u0seum3ic3tual5v1w1x1y1z2na0b1goya4me2tura4vy3ba2c1e0c1t0bank4flix4work5ustar5w0s2xt0direct7us4f0l2g0o2hk2i0co2ke1on3nja3ssan1y5l1o0kia3rthwesternmutual14on4w0ruz3tv4p1r0a1w2tt2u1yc2z2obi1server7ffice5kinawa6layan0group9dnavy5lo3m0ega4ne1g1l0ine5oo2pen3racle3nge4g0anic5igins6saka4tsuka4t2vh3pa0ge2nasonic7ris2s1tners4s1y3ssagens7y2ccw3e0t2f0izer5g1h0armacy6d1ilips5one2to0graphy6s4ysio5ics1tet2ures6d1n0g1k2oneer5zza4k1l0ace2y0station9umbing5s3m1n0c2ohl2ker3litie5rn2st3r0america6xi3ess3ime3o0d0uctions8f1gressive8mo2perties3y5tection8u0dential9s1t1ub2w0c2y2qa1pon3uebec3st5racing4dio4e0ad1lestate6tor2y4cipes5d0stone5umbrella9hab3ise0n3t2liance6n0t0als5pair3ort3ublican8st0aurant8view0s5xroth6ich0ardli6oh3l1o1p2o0cher3ks3deo3gers4om3s0vp3u0gby3hr2n2w0e2yukyu6sa0arland6fe0ty4kura4le1on3msclub4ung5ndvik0coromant12ofi4p1rl2s1ve2xo3b0i1s2c0a1b1haeffler7midt4olarships8ol3ule3warz5ience5ot3d1e0arch3t2cure1ity6ek2lect4ner3rvices6ven3w1x0y3fr2g1h0angrila6rp2w2ell3ia1ksha5oes2p0ping5uji3w0time7i0lk2na1gles5te3j1k0i0n2y0pe4l0ing4m0art3ile4n0cf3o0ccer3ial4ftbank4ware6hu2lar2utions7ng1y2y2pa0ce3ort2t3r0l2s1t0ada2ples4r1tebank4farm7c0group6ockholm6rage3e3ream4udio2y3yle4u0cks3pplies3y2ort5rf1gery5zuki5v1watch4iss4x1y0dney4stems6z2tab1ipei4lk2obao4rget4tamotors6r2too4x0i3c0i2d0k2eam2ch0nology8l1masek5nnis4va3f1g1h0d1eater2re6iaa2ckets5enda4ffany5ps2res2ol4j0maxx4x2k0maxx5l1m0all4n1o0day3kyo3ols3p1ray3shiba5tal3urs3wn2yota3s3r0ade1ing4ining5vel0channel7ers0insurance16ust3v2t1ube2i1nes3shu4v0s2w1z2ua1bank3s2g1k1nicom3versity8o2ol2ps2s1y1z2va0cations7na1guard7c1e0gas3ntures6risign5mögensberater2ung14sicherung10t2g1i0ajes4deo3g1king4llas4n1p1rgin4sa1ion4va1o3laanderen9n1odka3lkswagen7vo3te1ing3o2yage5u0elos6wales2mart4ter4ng0gou5tch0es6eather0channel12bcam3er2site5d0ding5ibo2r3f1hoswho6ien2ki2lliamhill9n0dows4e1ners6me2olterskluwer11odside6rk0s2ld3w2s1tc1f3xbox3erox4finity6ihuan4n2xx2yz3yachts4hoo3maxun5ndex5e1odobashi7ga2kohama6u0tube6t1un3za0ppos4ra3ero3ip2m1one3uerich6w2'; | ||
const encodedTlds = 'aaa1rp3bb0ott3vie4c1le2ogado5udhabi7c0ademy5centure6ountant0s9o1tor4d0s1ult4e0g1ro2tna4f0l1rica5g0akhan5ency5i0g1rbus3force5tel5kdn3l0ibaba4pay4lfinanz6state5y2sace3tom5m0azon4ericanexpress7family11x2fam3ica3sterdam8nalytics7droid5quan4z2o0l2partments8p0le4q0uarelle8r0ab1mco4chi3my2pa2t0e3s0da2ia2sociates9t0hleta5torney7u0ction5di0ble3o3spost5thor3o0s4vianca6w0s2x0a2z0ure5ba0by2idu3namex3narepublic11d1k2r0celona5laycard4s5efoot5gains6seball5ketball8uhaus5yern5b0c1t1va3cg1n2d1e0ats2uty4er2ntley5rlin4st0buy5t2f1g1h0arti5i0ble3d1ke2ng0o3o1z2j1lack0friday9ockbuster8g1omberg7ue3m0s1w2n0pparibas9o0ats3ehringer8fa2m1nd2o0k0ing5sch2tik2on4t1utique6x2r0adesco6idgestone9oadway5ker3ther5ussels7s1t1uild0ers6siness6y1zz3v1w1y1z0h3ca0b1fe2l0l1vinklein9m0era3p2non3petown5ital0one8r0avan4ds2e0er0s4s2sa1e1h1ino4t0ering5holic7ba1n1re3c1d1enter4o1rn3f0a1d2g1h0anel2nel4rity4se2t2eap3intai5ristmas6ome4urch5i0priani6rcle4sco3tadel4i0c2y3k1l0aims4eaning6ick2nic1que6othing5ud3ub0med6m1n1o0ach3des3ffee4llege4ogne5m0cast4mbank4unity6pany2re3uter5sec4ndos3struction8ulting7tact3ractors9oking4l1p2rsica5untry4pon0s4rses6pa2r0edit0card4union9icket5own3s1uise0s6u0isinella9v1w1x1y0mru3ou3z2dabur3d1nce3ta1e1ing3sun4y2clk3ds2e0al0er2s3gree4livery5l1oitte5ta3mocrat6ntal2ist5si0gn4v2hl2iamonds6et2gital5rect0ory7scount3ver5h2y2j1k1m1np2o0cs1tor4g1mains5t1wnload7rive4tv2ubai3nlop4pont4rban5vag2r2z2earth3t2c0o2deka3u0cation8e1g1mail3erck5nergy4gineer0ing9terprises10pson4quipment8r0icsson6ni3s0q1tate5t1u0rovision8s2vents5xchange6pert3osed4ress5traspace10fage2il1rwinds6th3mily4n0s2rm0ers5shion4t3edex3edback6rrari3ero6i0delity5o2lm2nal1nce1ial7re0stone6mdale6sh0ing5t0ness6j1k1lickr3ghts4r2orist4wers5y2m1o0o0d1tball6rd1ex2sale4um3undation8x2r0ee1senius7l1ogans4ntier7tr2ujitsu5n0d2rniture7tbol5yi3ga0l0lery3o1up4me0s3p1rden4y2b0iz3d0n2e0a1nt0ing5orge5f1g0ee3h1i0ft0s3ves2ing5l0ass3e1obal2o4m0ail3bh2o1x2n1odaddy5ld0point6f2o0dyear5g0le4p1t1v2p1q1r0ainger5phics5tis4een3ipe3ocery4up4s1t1u0ardian6cci3ge2ide2tars5ru3w1y2hair2mburg5ngout5us3bo2dfc0bank7ealth0care8lp1sinki6re1mes5iphop4samitsu7tachi5v2k0t2m1n1ockey4ldings5iday5medepot5goods5s0ense7nda3rse3spital5t0ing5t0els3mail5use3w2r1sbc3t1u0ghes5yatt3undai7ibm2cbc2e1u2d1e0ee3fm2kano4l1m0amat4db2mo0bilien9n0c1dustries8finiti5o2g1k1stitute6urance4e4t0ernational10uit4vestments10o1piranga7q1r0ish4s0maili5t0anbul7t0au2v3jaguar4va3cb2e0ep2tzt3welry6io2ll2m0p2nj2o0bs1urg4t1y2p0morgan6rs3uegos4niper7kaufen5ddi3e0rryhotels6logistics9properties14fh2g1h1i0a1ds2m1ndle4tchen5wi3m1n1oeln3matsu5sher5p0mg2n2r0d1ed3uokgroup8w1y0oto4z2la0caixa5mborghini8er3ncaster6d0rover6xess5salle5t0ino3robe5w0yer5b1c1ds2ease3clerc5frak4gal2o2xus4gbt3i0dl2fe0insurance9style7ghting6ke2lly3mited4o2ncoln4k2psy3ve1ing5k1lc1p2oan0s3cker3us3l1ndon4tte1o3ve3pl0financial11r1s1t0d0a3u0ndbeck6xe1ury5v1y2ma0drid4if1son4keup4n0agement7go3p1rket0ing3s4riott5shalls7ttel5ba2c0kinsey7d1e0d0ia3et2lbourne7me1orial6n0u2rckmsd7g1h1iami3crosoft7l1ni1t2t0subishi9k1l0b1s2m0a2n1o0bi0le4da2e1i1m1nash3ey2ster5rmon3tgage6scow4to0rcycles9v0ie4p1q1r1s0d2t0n1r2u0seum3ic4v1w1x1y1z2na0b1goya4me2tura4vy3ba2c1e0c1t0bank4flix4work5ustar5w0s2xt0direct7us4f0l2g0o2hk2i0co2ke1on3nja3ssan1y5l1o0kia3rton4w0ruz3tv4p1r0a1w2tt2u1yc2z2obi1server7ffice5kinawa6layan0group9dnavy5lo3m0ega4ne1g1l0ine5oo2pen3racle3nge4g0anic5igins6saka4tsuka4t2vh3pa0ge2nasonic7ris2s1tners4s1y3y2ccw3e0t2f0izer5g1h0armacy6d1ilips5one2to0graphy6s4ysio5ics1tet2ures6d1n0g1k2oneer5zza4k1l0ace2y0station9umbing5s3m1n0c2ohl2ker3litie5rn2st3r0america6xi3ess3ime3o0d0uctions8f1gressive8mo2perties3y5tection8u0dential9s1t1ub2w0c2y2qa1pon3uebec3st5racing4dio4e0ad1lestate6tor2y4cipes5d0stone5umbrella9hab3ise0n3t2liance6n0t0als5pair3ort3ublican8st0aurant8view0s5xroth6ich0ardli6oh3l1o1p2o0cks3deo3gers4om3s0vp3u0gby3hr2n2w0e2yukyu6sa0arland6fe0ty4kura4le1on3msclub4ung5ndvik0coromant12ofi4p1rl2s1ve2xo3b0i1s2c0a1b1haeffler7midt4olarships8ol3ule3warz5ience5ot3d1e0arch3t2cure1ity6ek2lect4ner3rvices6ven3w1x0y3fr2g1h0angrila6rp2w2ell3ia1ksha5oes2p0ping5uji3w3i0lk2na1gles5te3j1k0i0n2y0pe4l0ing4m0art3ile4n0cf3o0ccer3ial4ftbank4ware6hu2lar2utions7ng1y2y2pa0ce3ort2t3r0l2s1t0ada2ples4r1tebank4farm7c0group6ockholm6rage3e3ream4udio2y3yle4u0cks3pplies3y2ort5rf1gery5zuki5v1watch4iss4x1y0dney4stems6z2tab1ipei4lk2obao4rget4tamotors6r2too4x0i3c0i2d0k2eam2ch0nology8l1masek5nnis4va3f1g1h0d1eater2re6iaa2ckets5enda4ps2res2ol4j0maxx4x2k0maxx5l1m0all4n1o0day3kyo3ols3p1ray3shiba5tal3urs3wn2yota3s3r0ade1ing4ining5vel0ers0insurance16ust3v2t1ube2i1nes3shu4v0s2w1z2ua1bank3s2g1k1nicom3versity8o2ol2ps2s1y1z2va0cations7na1guard7c1e0gas3ntures6risign5mögensberater2ung14sicherung10t2g1i0ajes4deo3g1king4llas4n1p1rgin4sa1ion4va1o3laanderen9n1odka3lvo3te1ing3o2yage5u2wales2mart4ter4ng0gou5tch0es6eather0channel12bcam3er2site5d0ding5ibo2r3f1hoswho6ien2ki2lliamhill9n0dows4e1ners6me2olterskluwer11odside6rk0s2ld3w2s1tc1f3xbox3erox4finity6ihuan4n2xx2yz3yachts4hoo3maxun5ndex5e1odobashi7ga2kohama6u0tube6t1un3za0ppos4ra3ero3ip2m1one3uerich6w2'; | ||
// Internationalized domain names containing non-ASCII | ||
const encodedUtlds = 'ελ1υ2бг1ел3дети4ею2католик6ом3мкд2он1сква6онлайн5рг3рус2ф2сайт3рб3укр3қаз3հայ3ישראל5קום3ابوظبي5تصالات6رامكو5لاردن4بحرين5جزائر5سعودية6عليان5مغرب5مارات5یران5بارت2زار4يتك3ھارت5تونس4سودان3رية5شبكة4عراق2ب2مان4فلسطين6قطر3كاثوليك6وم3مصر2ليسيا5وريتانيا7قع4همراه5پاکستان7ڀارت4कॉम3नेट3भारत0म्3ोत5संगठन5বাংলা5ভারত2ৰত4ਭਾਰਤ4ભારત4ଭାରତ4இந்தியா6லங்கை6சிங்கப்பூர்11భారత్5ಭಾರತ4ഭാരതം5ලංකා4คอม3ไทย3ລາວ3გე2みんな3アマゾン4クラウド4グーグル4コム2ストア3セール3ファッション6ポイント4世界2中信1国1國1文网3亚马逊3企业2佛山2信息2健康2八卦2公司1益2台湾1灣2商城1店1标2嘉里0大酒店5在线2大拿2天主教3娱乐2家電2广东2微博2慈善2我爱你3手机2招聘2政务1府2新加坡2闻2时尚2書籍2机构2淡马锡3游戏2澳門2点看2移动2组织机构4网址1店1站1络2联通2谷歌2购物2通販2集团2電訊盈科4飞利浦3食品2餐厅2香格里拉3港2닷넷1컴2삼성2한국2'; | ||
const encodedUtlds = 'ελ1υ2бг1ел3дети4ею2католик6ом3мкд2он1сква6онлайн5рг3рус2ф2сайт3рб3укр3қаз3հայ3ישראל5קום3ابوظبي5رامكو5لاردن4بحرين5جزائر5سعودية6عليان5مغرب5مارات5یران5بارت2زار4يتك3ھارت5تونس4سودان3رية5شبكة4عراق2ب2مان4فلسطين6قطر3كاثوليك6وم3مصر2ليسيا5وريتانيا7قع4همراه5پاکستان7ڀارت4कॉम3नेट3भारत0म्3ोत5संगठन5বাংলা5ভারত2ৰত4ਭਾਰਤ4ભારત4ଭାରତ4இந்தியா6லங்கை6சிங்கப்பூர்11భారత్5ಭಾರತ4ഭാരതം5ලංකා4คอม3ไทย3ລາວ3გე2みんな3アマゾン4クラウド4グーグル4コム2ストア3セール3ファッション6ポイント4世界2中信1国1國1文网3亚马逊3企业2佛山2信息2健康2八卦2公司1益2台湾1灣2商城1店1标2嘉里0大酒店5在线2大拿2天主教3娱乐2家電2广东2微博2慈善2我爱你3手机2招聘2政务1府2新加坡2闻2时尚2書籍2机构2淡马锡3游戏2澳門2点看2移动2组织机构4网址1店1站1络2联通2谷歌2购物2通販2集团2電訊盈科4飞利浦3食品2餐厅2香格里拉3港2닷넷1컴2삼성2한국2'; | ||
@@ -399,10 +399,20 @@ /** | ||
// Opening/closing bracket classes | ||
// TODO: Rename OPEN -> LEFT and CLOSE -> RIGHT in v5 to fit with Unicode names | ||
// Also rename angle brackes to LESSTHAN and GREATER THAN | ||
const OPENBRACE = 'OPENBRACE'; // { | ||
const CLOSEBRACE = 'CLOSEBRACE'; // } | ||
const OPENBRACKET = 'OPENBRACKET'; // [ | ||
const CLOSEBRACKET = 'CLOSEBRACKET'; // ] | ||
const OPENPAREN = 'OPENPAREN'; // ( | ||
const CLOSEPAREN = 'CLOSEPAREN'; // ) | ||
const OPENANGLEBRACKET = 'OPENANGLEBRACKET'; // < | ||
const OPENPAREN = 'OPENPAREN'; // ( | ||
const CLOSEBRACE = 'CLOSEBRACE'; // } | ||
const CLOSEBRACKET = 'CLOSEBRACKET'; // ] | ||
const CLOSEANGLEBRACKET = 'CLOSEANGLEBRACKET'; // > | ||
const CLOSEPAREN = 'CLOSEPAREN'; // ) | ||
const FULLWIDTHLEFTPAREN = 'FULLWIDTHLEFTPAREN'; // ( | ||
const FULLWIDTHRIGHTPAREN = 'FULLWIDTHRIGHTPAREN'; // ) | ||
const LEFTCORNERBRACKET = 'LEFTCORNERBRACKET'; // 「 | ||
const RIGHTCORNERBRACKET = 'RIGHTCORNERBRACKET'; // 」 | ||
const LEFTWHITECORNERBRACKET = 'LEFTWHITECORNERBRACKET'; // 『 | ||
const RIGHTWHITECORNERBRACKET = 'RIGHTWHITECORNERBRACKET'; // 』 | ||
const FULLWIDTHLESSTHAN = 'FULLWIDTHLESSTHAN'; // < | ||
const FULLWIDTHGREATERTHAN = 'FULLWIDTHGREATERTHAN'; // > | ||
@@ -455,9 +465,17 @@ // Various symbols | ||
OPENBRACE: OPENBRACE, | ||
CLOSEBRACE: CLOSEBRACE, | ||
OPENBRACKET: OPENBRACKET, | ||
CLOSEBRACKET: CLOSEBRACKET, | ||
OPENPAREN: OPENPAREN, | ||
CLOSEPAREN: CLOSEPAREN, | ||
OPENANGLEBRACKET: OPENANGLEBRACKET, | ||
OPENPAREN: OPENPAREN, | ||
CLOSEBRACE: CLOSEBRACE, | ||
CLOSEBRACKET: CLOSEBRACKET, | ||
CLOSEANGLEBRACKET: CLOSEANGLEBRACKET, | ||
CLOSEPAREN: CLOSEPAREN, | ||
FULLWIDTHLEFTPAREN: FULLWIDTHLEFTPAREN, | ||
FULLWIDTHRIGHTPAREN: FULLWIDTHRIGHTPAREN, | ||
LEFTCORNERBRACKET: LEFTCORNERBRACKET, | ||
RIGHTCORNERBRACKET: RIGHTCORNERBRACKET, | ||
LEFTWHITECORNERBRACKET: LEFTWHITECORNERBRACKET, | ||
RIGHTWHITECORNERBRACKET: RIGHTWHITECORNERBRACKET, | ||
FULLWIDTHLESSTHAN: FULLWIDTHLESSTHAN, | ||
FULLWIDTHGREATERTHAN: FULLWIDTHGREATERTHAN, | ||
AMPERSAND: AMPERSAND, | ||
@@ -561,9 +579,17 @@ APOSTROPHE: APOSTROPHE, | ||
tt(Start, '{', OPENBRACE); | ||
tt(Start, '}', CLOSEBRACE); | ||
tt(Start, '[', OPENBRACKET); | ||
tt(Start, ']', CLOSEBRACKET); | ||
tt(Start, '(', OPENPAREN); | ||
tt(Start, ')', CLOSEPAREN); | ||
tt(Start, '<', OPENANGLEBRACKET); | ||
tt(Start, '(', OPENPAREN); | ||
tt(Start, '}', CLOSEBRACE); | ||
tt(Start, ']', CLOSEBRACKET); | ||
tt(Start, '>', CLOSEANGLEBRACKET); | ||
tt(Start, ')', CLOSEPAREN); | ||
tt(Start, '(', FULLWIDTHLEFTPAREN); | ||
tt(Start, ')', FULLWIDTHRIGHTPAREN); | ||
tt(Start, '「', LEFTCORNERBRACKET); | ||
tt(Start, '」', RIGHTCORNERBRACKET); | ||
tt(Start, '『', LEFTWHITECORNERBRACKET); | ||
tt(Start, '』', RIGHTWHITECORNERBRACKET); | ||
tt(Start, '<', FULLWIDTHLESSTHAN); | ||
tt(Start, '>', FULLWIDTHGREATERTHAN); | ||
tt(Start, '&', AMPERSAND); | ||
@@ -1357,7 +1383,7 @@ tt(Start, '*', ASTERISK); | ||
// Characters that cannot appear in the URL at all should be excluded | ||
const qsNonAccepting = [APOSTROPHE, CLOSEANGLEBRACKET, CLOSEBRACE, CLOSEBRACKET, CLOSEPAREN, COLON, COMMA, DOT, EXCLAMATION, OPENANGLEBRACKET, OPENBRACE, OPENBRACKET, OPENPAREN, QUERY, QUOTE, SEMI]; | ||
const qsNonAccepting = [APOSTROPHE, COLON, COMMA, DOT, EXCLAMATION, QUERY, QUOTE, SEMI, OPENANGLEBRACKET, CLOSEANGLEBRACKET, OPENBRACE, CLOSEBRACE, CLOSEBRACKET, OPENBRACKET, OPENPAREN, CLOSEPAREN, FULLWIDTHLEFTPAREN, FULLWIDTHRIGHTPAREN, LEFTCORNERBRACKET, RIGHTCORNERBRACKET, LEFTWHITECORNERBRACKET, RIGHTWHITECORNERBRACKET, FULLWIDTHLESSTHAN, FULLWIDTHGREATERTHAN]; | ||
// For addresses without the mailto prefix | ||
// Tokens allowed in the localpart of the email | ||
const localpartAccepting = [AMPERSAND, APOSTROPHE, ASTERISK, BACKSLASH, BACKTICK, CARET, CLOSEBRACE, DOLLAR, EQUALS, HYPHEN, OPENBRACE, PERCENT, PIPE, PLUS, POUND, QUERY, SLASH, SYM, TILDE, UNDERSCORE]; | ||
const localpartAccepting = [AMPERSAND, APOSTROPHE, ASTERISK, BACKSLASH, BACKTICK, CARET, DOLLAR, EQUALS, HYPHEN, OPENBRACE, CLOSEBRACE, PERCENT, PIPE, PLUS, POUND, QUERY, SLASH, SYM, TILDE, UNDERSCORE]; | ||
@@ -1411,3 +1437,3 @@ // The universal starting state. | ||
/*const EmailColonPort = */ | ||
ta(EmailColon, groups.numeric, Email); // URL followed by colon and port numner | ||
ta(EmailColon, groups.numeric, Email); // URL followed by colon and port number | ||
@@ -1471,68 +1497,47 @@ // Account for dots and hyphens. Hyphens are usually parts of domain names | ||
tt(UriPrefix, SLASH, Url$1); | ||
const bracketPairs = [[OPENBRACE, CLOSEBRACE], | ||
// {} | ||
[OPENBRACKET, CLOSEBRACKET], | ||
// [] | ||
[OPENPAREN, CLOSEPAREN], | ||
// () | ||
[OPENANGLEBRACKET, CLOSEANGLEBRACKET], | ||
// <> | ||
[FULLWIDTHLEFTPAREN, FULLWIDTHRIGHTPAREN], | ||
// () | ||
[LEFTCORNERBRACKET, RIGHTCORNERBRACKET], | ||
// 「」 | ||
[LEFTWHITECORNERBRACKET, RIGHTWHITECORNERBRACKET], | ||
// 『』 | ||
[FULLWIDTHLESSTHAN, FULLWIDTHGREATERTHAN] // <> | ||
]; | ||
// URL, followed by an opening bracket | ||
const UrlOpenbrace = tt(Url$1, OPENBRACE); // URL followed by { | ||
const UrlOpenbracket = tt(Url$1, OPENBRACKET); // URL followed by [ | ||
const UrlOpenanglebracket = tt(Url$1, OPENANGLEBRACKET); // URL followed by < | ||
const UrlOpenparen = tt(Url$1, OPENPAREN); // URL followed by ( | ||
for (let i = 0; i < bracketPairs.length; i++) { | ||
const [OPEN, CLOSE] = bracketPairs[i]; | ||
const UrlOpen = tt(Url$1, OPEN); // URL followed by open bracket | ||
tt(UrlNonaccept, OPENBRACE, UrlOpenbrace); | ||
tt(UrlNonaccept, OPENBRACKET, UrlOpenbracket); | ||
tt(UrlNonaccept, OPENANGLEBRACKET, UrlOpenanglebracket); | ||
tt(UrlNonaccept, OPENPAREN, UrlOpenparen); | ||
// Continue not accepting for open brackets | ||
tt(UrlNonaccept, OPEN, UrlOpen); | ||
// Closing bracket component. This character WILL be included in the URL | ||
tt(UrlOpenbrace, CLOSEBRACE, Url$1); | ||
tt(UrlOpenbracket, CLOSEBRACKET, Url$1); | ||
tt(UrlOpenanglebracket, CLOSEANGLEBRACKET, Url$1); | ||
tt(UrlOpenparen, CLOSEPAREN, Url$1); | ||
tt(UrlOpenbrace, CLOSEBRACE, Url$1); | ||
// Closing bracket component. This character WILL be included in the URL | ||
tt(UrlOpen, CLOSE, Url$1); | ||
// URL that beings with an opening bracket, followed by a symbols. | ||
// Note that the final state can still be `UrlOpenbrace` (if the URL only | ||
// has a single opening bracket for some reason). | ||
const UrlOpenbraceQ = makeState(Url); // URL followed by { and some symbols that the URL can end it | ||
const UrlOpenbracketQ = makeState(Url); // URL followed by [ and some symbols that the URL can end it | ||
const UrlOpenanglebracketQ = makeState(Url); // URL followed by < and some symbols that the URL can end it | ||
const UrlOpenparenQ = makeState(Url); // URL followed by ( and some symbols that the URL can end it | ||
ta(UrlOpenbrace, qsAccepting, UrlOpenbraceQ); | ||
ta(UrlOpenbracket, qsAccepting, UrlOpenbracketQ); | ||
ta(UrlOpenanglebracket, qsAccepting, UrlOpenanglebracketQ); | ||
ta(UrlOpenparen, qsAccepting, UrlOpenparenQ); | ||
const UrlOpenbraceSyms = makeState(); // UrlOpenbrace followed by some symbols it cannot end it | ||
const UrlOpenbracketSyms = makeState(); // UrlOpenbracketQ followed by some symbols it cannot end it | ||
const UrlOpenanglebracketSyms = makeState(); // UrlOpenanglebracketQ followed by some symbols it cannot end it | ||
const UrlOpenparenSyms = makeState(); // UrlOpenparenQ followed by some symbols it cannot end it | ||
ta(UrlOpenbrace, qsNonAccepting); | ||
ta(UrlOpenbracket, qsNonAccepting); | ||
ta(UrlOpenanglebracket, qsNonAccepting); | ||
ta(UrlOpenparen, qsNonAccepting); | ||
// URL that beings with an opening bracket, followed by a symbols. | ||
// Note that the final state can still be `UrlOpen` (if the URL has a | ||
// single opening bracket for some reason). | ||
const UrlOpenQ = makeState(Url); | ||
ta(UrlOpen, qsAccepting, UrlOpenQ); | ||
const UrlOpenSyms = makeState(); // UrlOpen followed by some symbols it cannot end it | ||
ta(UrlOpen, qsNonAccepting); | ||
// URL that begins with an opening bracket, followed by some symbols | ||
ta(UrlOpenbraceQ, qsAccepting, UrlOpenbraceQ); | ||
ta(UrlOpenbracketQ, qsAccepting, UrlOpenbracketQ); | ||
ta(UrlOpenanglebracketQ, qsAccepting, UrlOpenanglebracketQ); | ||
ta(UrlOpenparenQ, qsAccepting, UrlOpenparenQ); | ||
ta(UrlOpenbraceQ, qsNonAccepting, UrlOpenbraceQ); | ||
ta(UrlOpenbracketQ, qsNonAccepting, UrlOpenbracketQ); | ||
ta(UrlOpenanglebracketQ, qsNonAccepting, UrlOpenanglebracketQ); | ||
ta(UrlOpenparenQ, qsNonAccepting, UrlOpenparenQ); | ||
ta(UrlOpenbraceSyms, qsAccepting, UrlOpenbraceSyms); | ||
ta(UrlOpenbracketSyms, qsAccepting, UrlOpenbracketQ); | ||
ta(UrlOpenanglebracketSyms, qsAccepting, UrlOpenanglebracketQ); | ||
ta(UrlOpenparenSyms, qsAccepting, UrlOpenparenQ); | ||
ta(UrlOpenbraceSyms, qsNonAccepting, UrlOpenbraceSyms); | ||
ta(UrlOpenbracketSyms, qsNonAccepting, UrlOpenbracketSyms); | ||
ta(UrlOpenanglebracketSyms, qsNonAccepting, UrlOpenanglebracketSyms); | ||
ta(UrlOpenparenSyms, qsNonAccepting, UrlOpenparenSyms); | ||
// URL that begins with an opening bracket, followed by some symbols | ||
ta(UrlOpenQ, qsAccepting, UrlOpenQ); | ||
ta(UrlOpenQ, qsNonAccepting, UrlOpenSyms); | ||
ta(UrlOpenSyms, qsAccepting, UrlOpenQ); | ||
ta(UrlOpenSyms, qsNonAccepting, UrlOpenSyms); | ||
// Close brace/bracket to become regular URL | ||
tt(UrlOpenbracketQ, CLOSEBRACKET, Url$1); | ||
tt(UrlOpenanglebracketQ, CLOSEANGLEBRACKET, Url$1); | ||
tt(UrlOpenparenQ, CLOSEPAREN, Url$1); | ||
tt(UrlOpenbraceQ, CLOSEBRACE, Url$1); | ||
tt(UrlOpenbracketSyms, CLOSEBRACKET, Url$1); | ||
tt(UrlOpenanglebracketSyms, CLOSEANGLEBRACKET, Url$1); | ||
tt(UrlOpenparenSyms, CLOSEPAREN, Url$1); | ||
tt(UrlOpenbraceSyms, CLOSEPAREN, Url$1); | ||
// Close brace/bracket to become regular URL | ||
tt(UrlOpenQ, CLOSE, Url$1); | ||
tt(UrlOpenSyms, CLOSE, Url$1); | ||
} | ||
tt(Start, LOCALHOST, DomainDotTld); // localhost is a valid URL state | ||
@@ -1539,0 +1544,0 @@ tt(Start, NL$1, Nl); // single new line |
@@ -565,9 +565,17 @@ export type Transition<T> = null | T; | ||
OPENBRACE: "OPENBRACE"; | ||
CLOSEBRACE: "CLOSEBRACE"; | ||
OPENBRACKET: "OPENBRACKET"; | ||
CLOSEBRACKET: "CLOSEBRACKET"; | ||
OPENPAREN: "OPENPAREN"; | ||
CLOSEPAREN: "CLOSEPAREN"; | ||
OPENANGLEBRACKET: "OPENANGLEBRACKET"; | ||
OPENPAREN: "OPENPAREN"; | ||
CLOSEBRACE: "CLOSEBRACE"; | ||
CLOSEBRACKET: "CLOSEBRACKET"; | ||
CLOSEANGLEBRACKET: "CLOSEANGLEBRACKET"; | ||
CLOSEPAREN: "CLOSEPAREN"; | ||
FULLWIDTHLEFTPAREN: "FULLWIDTHLEFTPAREN"; | ||
FULLWIDTHRIGHTPAREN: "FULLWIDTHRIGHTPAREN"; | ||
LEFTCORNERBRACKET: "LEFTCORNERBRACKET"; | ||
RIGHTCORNERBRACKET: "RIGHTCORNERBRACKET"; | ||
LEFTWHITECORNERBRACKET: "LEFTWHITECORNERBRACKET"; | ||
RIGHTWHITECORNERBRACKET: "RIGHTWHITECORNERBRACKET"; | ||
FULLWIDTHLESSTHAN: "FULLWIDTHLESSTHAN"; | ||
FULLWIDTHGREATERTHAN: "FULLWIDTHGREATERTHAN"; | ||
AMPERSAND: "AMPERSAND"; | ||
@@ -574,0 +582,0 @@ APOSTROPHE: "APOSTROPHE"; |
// THIS FILE IS AUTOMATICALLY GENERATED DO NOT EDIT DIRECTLY | ||
// See update-tlds.js for encoding/decoding format | ||
// https://data.iana.org/TLD/tlds-alpha-by-domain.txt | ||
const encodedTlds = 'aaa1rp3barth4b0ott3vie4c1le2ogado5udhabi7c0ademy5centure6ountant0s9o1tor4d0s1ult4e0g1ro2tna4f0l1rica5g0akhan5ency5i0g1rbus3force5tel5kdn3l0faromeo7ibaba4pay4lfinanz6state5y2sace3tom5m0azon4ericanexpress7family11x2fam3ica3sterdam8nalytics7droid5quan4z2o0l2partments8p0le4q0uarelle8r0ab1mco4chi3my2pa2t0e3s0da2ia2sociates9t0hleta5torney7u0ction5di0ble3o3spost5thor3o0s4vianca6w0s2x0a2z0ure5ba0by2idu3namex3narepublic11d1k2r0celona5laycard4s5efoot5gains6seball5ketball8uhaus5yern5b0c1t1va3cg1n2d1e0ats2uty4er2ntley5rlin4st0buy5t2f1g1h0arti5i0ble3d1ke2ng0o3o1z2j1lack0friday9ockbuster8g1omberg7ue3m0s1w2n0pparibas9o0ats3ehringer8fa2m1nd2o0k0ing5sch2tik2on4t1utique6x2r0adesco6idgestone9oadway5ker3ther5ussels7s1t1uild0ers6siness6y1zz3v1w1y1z0h3ca0b1fe2l0l1vinklein9m0era3p2non3petown5ital0one8r0avan4ds2e0er0s4s2sa1e1h1ino4t0ering5holic7ba1n1re2s2c1d1enter4o1rn3f0a1d2g1h0anel2nel4rity4se2t2eap3intai5ristmas6ome4urch5i0priani6rcle4sco3tadel4i0c2y0eats7k1l0aims4eaning6ick2nic1que6othing5ud3ub0med6m1n1o0ach3des3ffee4llege4ogne5m0cast4mbank4unity6pany2re3uter5sec4ndos3struction8ulting7tact3ractors9oking0channel11l1p2rsica5untry4pon0s4rses6pa2r0edit0card4union9icket5own3s1uise0s6u0isinella9v1w1x1y0mru3ou3z2dabur3d1nce3ta1e1ing3sun4y2clk3ds2e0al0er2s3gree4livery5l1oitte5ta3mocrat6ntal2ist5si0gn4v2hl2iamonds6et2gital5rect0ory7scount3ver5h2y2j1k1m1np2o0cs1tor4g1mains5t1wnload7rive4tv2ubai3nlop4pont4rban5vag2r2z2earth3t2c0o2deka3u0cation8e1g1mail3erck5nergy4gineer0ing9terprises10pson4quipment8r0icsson6ni3s0q1tate5t0isalat7u0rovision8s2vents5xchange6pert3osed4ress5traspace10fage2il1rwinds6th3mily4n0s2rm0ers5shion4t3edex3edback6rrari3ero6i0at2delity5o2lm2nal1nce1ial7re0stone6mdale6sh0ing5t0ness6j1k1lickr3ghts4r2orist4wers5y2m1o0o0d0network8tball6rd1ex2sale4um3undation8x2r0ee1senius7l1ogans4ntdoor4ier7tr2ujitsu5n0d2rniture7tbol5yi3ga0l0lery3o1up4me0s3p1rden4y2b0iz3d0n2e0a1nt0ing5orge5f1g0ee3h1i0ft0s3ves2ing5l0ass3e1obal2o4m0ail3bh2o1x2n1odaddy5ld0point6f2o0dyear5g0le4p1t1v2p1q1r0ainger5phics5tis4een3ipe3ocery4up4s1t1u0ardian6cci3ge2ide2tars5ru3w1y2hair2mburg5ngout5us3bo2dfc0bank7ealth0care8lp1sinki6re1mes5gtv3iphop4samitsu7tachi5v2k0t2m1n1ockey4ldings5iday5medepot5goods5s0ense7nda3rse3spital5t0ing5t0eles2s3mail5use3w2r1sbc3t1u0ghes5yatt3undai7ibm2cbc2e1u2d1e0ee3fm2kano4l1m0amat4db2mo0bilien9n0c1dustries8finiti5o2g1k1stitute6urance4e4t0ernational10uit4vestments10o1piranga7q1r0ish4s0maili5t0anbul7t0au2v3jaguar4va3cb2e0ep2tzt3welry6io2ll2m0p2nj2o0bs1urg4t1y2p0morgan6rs3uegos4niper7kaufen5ddi3e0rryhotels6logistics9properties14fh2g1h1i0a1ds2m1nder2le4tchen5wi3m1n1oeln3matsu5sher5p0mg2n2r0d1ed3uokgroup8w1y0oto4z2la0caixa5mborghini8er3ncaster5ia3d0rover6xess5salle5t0ino3robe5w0yer5b1c1ds2ease3clerc5frak4gal2o2xus4gbt3i0dl2fe0insurance9style7ghting6ke2lly3mited4o2ncoln4de2k2psy3ve1ing5k1lc1p2oan0s3cker3us3l1ndon4tte1o3ve3pl0financial11r1s1t0d0a3u0ndbeck6xe1ury5v1y2ma0cys3drid4if1son4keup4n0agement7go3p1rket0ing3s4riott5shalls7serati6ttel5ba2c0kinsey7d1e0d0ia3et2lbourne7me1orial6n0u2rckmsd7g1h1iami3crosoft7l1ni1t2t0subishi9k1l0b1s2m0a2n1o0bi0le4da2e1i1m1nash3ey2ster5rmon3tgage6scow4to0rcycles9v0ie4p1q1r1s0d2t0n1r2u0seum3ic3tual5v1w1x1y1z2na0b1goya4me2tura4vy3ba2c1e0c1t0bank4flix4work5ustar5w0s2xt0direct7us4f0l2g0o2hk2i0co2ke1on3nja3ssan1y5l1o0kia3rthwesternmutual14on4w0ruz3tv4p1r0a1w2tt2u1yc2z2obi1server7ffice5kinawa6layan0group9dnavy5lo3m0ega4ne1g1l0ine5oo2pen3racle3nge4g0anic5igins6saka4tsuka4t2vh3pa0ge2nasonic7ris2s1tners4s1y3ssagens7y2ccw3e0t2f0izer5g1h0armacy6d1ilips5one2to0graphy6s4ysio5ics1tet2ures6d1n0g1k2oneer5zza4k1l0ace2y0station9umbing5s3m1n0c2ohl2ker3litie5rn2st3r0america6xi3ess3ime3o0d0uctions8f1gressive8mo2perties3y5tection8u0dential9s1t1ub2w0c2y2qa1pon3uebec3st5racing4dio4e0ad1lestate6tor2y4cipes5d0stone5umbrella9hab3ise0n3t2liance6n0t0als5pair3ort3ublican8st0aurant8view0s5xroth6ich0ardli6oh3l1o1p2o0cher3ks3deo3gers4om3s0vp3u0gby3hr2n2w0e2yukyu6sa0arland6fe0ty4kura4le1on3msclub4ung5ndvik0coromant12ofi4p1rl2s1ve2xo3b0i1s2c0a1b1haeffler7midt4olarships8ol3ule3warz5ience5ot3d1e0arch3t2cure1ity6ek2lect4ner3rvices6ven3w1x0y3fr2g1h0angrila6rp2w2ell3ia1ksha5oes2p0ping5uji3w0time7i0lk2na1gles5te3j1k0i0n2y0pe4l0ing4m0art3ile4n0cf3o0ccer3ial4ftbank4ware6hu2lar2utions7ng1y2y2pa0ce3ort2t3r0l2s1t0ada2ples4r1tebank4farm7c0group6ockholm6rage3e3ream4udio2y3yle4u0cks3pplies3y2ort5rf1gery5zuki5v1watch4iss4x1y0dney4stems6z2tab1ipei4lk2obao4rget4tamotors6r2too4x0i3c0i2d0k2eam2ch0nology8l1masek5nnis4va3f1g1h0d1eater2re6iaa2ckets5enda4ffany5ps2res2ol4j0maxx4x2k0maxx5l1m0all4n1o0day3kyo3ols3p1ray3shiba5tal3urs3wn2yota3s3r0ade1ing4ining5vel0channel7ers0insurance16ust3v2t1ube2i1nes3shu4v0s2w1z2ua1bank3s2g1k1nicom3versity8o2ol2ps2s1y1z2va0cations7na1guard7c1e0gas3ntures6risign5mögensberater2ung14sicherung10t2g1i0ajes4deo3g1king4llas4n1p1rgin4sa1ion4va1o3laanderen9n1odka3lkswagen7vo3te1ing3o2yage5u0elos6wales2mart4ter4ng0gou5tch0es6eather0channel12bcam3er2site5d0ding5ibo2r3f1hoswho6ien2ki2lliamhill9n0dows4e1ners6me2olterskluwer11odside6rk0s2ld3w2s1tc1f3xbox3erox4finity6ihuan4n2xx2yz3yachts4hoo3maxun5ndex5e1odobashi7ga2kohama6u0tube6t1un3za0ppos4ra3ero3ip2m1one3uerich6w2'; | ||
const encodedTlds = 'aaa1rp3bb0ott3vie4c1le2ogado5udhabi7c0ademy5centure6ountant0s9o1tor4d0s1ult4e0g1ro2tna4f0l1rica5g0akhan5ency5i0g1rbus3force5tel5kdn3l0ibaba4pay4lfinanz6state5y2sace3tom5m0azon4ericanexpress7family11x2fam3ica3sterdam8nalytics7droid5quan4z2o0l2partments8p0le4q0uarelle8r0ab1mco4chi3my2pa2t0e3s0da2ia2sociates9t0hleta5torney7u0ction5di0ble3o3spost5thor3o0s4vianca6w0s2x0a2z0ure5ba0by2idu3namex3narepublic11d1k2r0celona5laycard4s5efoot5gains6seball5ketball8uhaus5yern5b0c1t1va3cg1n2d1e0ats2uty4er2ntley5rlin4st0buy5t2f1g1h0arti5i0ble3d1ke2ng0o3o1z2j1lack0friday9ockbuster8g1omberg7ue3m0s1w2n0pparibas9o0ats3ehringer8fa2m1nd2o0k0ing5sch2tik2on4t1utique6x2r0adesco6idgestone9oadway5ker3ther5ussels7s1t1uild0ers6siness6y1zz3v1w1y1z0h3ca0b1fe2l0l1vinklein9m0era3p2non3petown5ital0one8r0avan4ds2e0er0s4s2sa1e1h1ino4t0ering5holic7ba1n1re3c1d1enter4o1rn3f0a1d2g1h0anel2nel4rity4se2t2eap3intai5ristmas6ome4urch5i0priani6rcle4sco3tadel4i0c2y3k1l0aims4eaning6ick2nic1que6othing5ud3ub0med6m1n1o0ach3des3ffee4llege4ogne5m0cast4mbank4unity6pany2re3uter5sec4ndos3struction8ulting7tact3ractors9oking4l1p2rsica5untry4pon0s4rses6pa2r0edit0card4union9icket5own3s1uise0s6u0isinella9v1w1x1y0mru3ou3z2dabur3d1nce3ta1e1ing3sun4y2clk3ds2e0al0er2s3gree4livery5l1oitte5ta3mocrat6ntal2ist5si0gn4v2hl2iamonds6et2gital5rect0ory7scount3ver5h2y2j1k1m1np2o0cs1tor4g1mains5t1wnload7rive4tv2ubai3nlop4pont4rban5vag2r2z2earth3t2c0o2deka3u0cation8e1g1mail3erck5nergy4gineer0ing9terprises10pson4quipment8r0icsson6ni3s0q1tate5t1u0rovision8s2vents5xchange6pert3osed4ress5traspace10fage2il1rwinds6th3mily4n0s2rm0ers5shion4t3edex3edback6rrari3ero6i0delity5o2lm2nal1nce1ial7re0stone6mdale6sh0ing5t0ness6j1k1lickr3ghts4r2orist4wers5y2m1o0o0d1tball6rd1ex2sale4um3undation8x2r0ee1senius7l1ogans4ntier7tr2ujitsu5n0d2rniture7tbol5yi3ga0l0lery3o1up4me0s3p1rden4y2b0iz3d0n2e0a1nt0ing5orge5f1g0ee3h1i0ft0s3ves2ing5l0ass3e1obal2o4m0ail3bh2o1x2n1odaddy5ld0point6f2o0dyear5g0le4p1t1v2p1q1r0ainger5phics5tis4een3ipe3ocery4up4s1t1u0ardian6cci3ge2ide2tars5ru3w1y2hair2mburg5ngout5us3bo2dfc0bank7ealth0care8lp1sinki6re1mes5iphop4samitsu7tachi5v2k0t2m1n1ockey4ldings5iday5medepot5goods5s0ense7nda3rse3spital5t0ing5t0els3mail5use3w2r1sbc3t1u0ghes5yatt3undai7ibm2cbc2e1u2d1e0ee3fm2kano4l1m0amat4db2mo0bilien9n0c1dustries8finiti5o2g1k1stitute6urance4e4t0ernational10uit4vestments10o1piranga7q1r0ish4s0maili5t0anbul7t0au2v3jaguar4va3cb2e0ep2tzt3welry6io2ll2m0p2nj2o0bs1urg4t1y2p0morgan6rs3uegos4niper7kaufen5ddi3e0rryhotels6logistics9properties14fh2g1h1i0a1ds2m1ndle4tchen5wi3m1n1oeln3matsu5sher5p0mg2n2r0d1ed3uokgroup8w1y0oto4z2la0caixa5mborghini8er3ncaster6d0rover6xess5salle5t0ino3robe5w0yer5b1c1ds2ease3clerc5frak4gal2o2xus4gbt3i0dl2fe0insurance9style7ghting6ke2lly3mited4o2ncoln4k2psy3ve1ing5k1lc1p2oan0s3cker3us3l1ndon4tte1o3ve3pl0financial11r1s1t0d0a3u0ndbeck6xe1ury5v1y2ma0drid4if1son4keup4n0agement7go3p1rket0ing3s4riott5shalls7ttel5ba2c0kinsey7d1e0d0ia3et2lbourne7me1orial6n0u2rckmsd7g1h1iami3crosoft7l1ni1t2t0subishi9k1l0b1s2m0a2n1o0bi0le4da2e1i1m1nash3ey2ster5rmon3tgage6scow4to0rcycles9v0ie4p1q1r1s0d2t0n1r2u0seum3ic4v1w1x1y1z2na0b1goya4me2tura4vy3ba2c1e0c1t0bank4flix4work5ustar5w0s2xt0direct7us4f0l2g0o2hk2i0co2ke1on3nja3ssan1y5l1o0kia3rton4w0ruz3tv4p1r0a1w2tt2u1yc2z2obi1server7ffice5kinawa6layan0group9dnavy5lo3m0ega4ne1g1l0ine5oo2pen3racle3nge4g0anic5igins6saka4tsuka4t2vh3pa0ge2nasonic7ris2s1tners4s1y3y2ccw3e0t2f0izer5g1h0armacy6d1ilips5one2to0graphy6s4ysio5ics1tet2ures6d1n0g1k2oneer5zza4k1l0ace2y0station9umbing5s3m1n0c2ohl2ker3litie5rn2st3r0america6xi3ess3ime3o0d0uctions8f1gressive8mo2perties3y5tection8u0dential9s1t1ub2w0c2y2qa1pon3uebec3st5racing4dio4e0ad1lestate6tor2y4cipes5d0stone5umbrella9hab3ise0n3t2liance6n0t0als5pair3ort3ublican8st0aurant8view0s5xroth6ich0ardli6oh3l1o1p2o0cks3deo3gers4om3s0vp3u0gby3hr2n2w0e2yukyu6sa0arland6fe0ty4kura4le1on3msclub4ung5ndvik0coromant12ofi4p1rl2s1ve2xo3b0i1s2c0a1b1haeffler7midt4olarships8ol3ule3warz5ience5ot3d1e0arch3t2cure1ity6ek2lect4ner3rvices6ven3w1x0y3fr2g1h0angrila6rp2w2ell3ia1ksha5oes2p0ping5uji3w3i0lk2na1gles5te3j1k0i0n2y0pe4l0ing4m0art3ile4n0cf3o0ccer3ial4ftbank4ware6hu2lar2utions7ng1y2y2pa0ce3ort2t3r0l2s1t0ada2ples4r1tebank4farm7c0group6ockholm6rage3e3ream4udio2y3yle4u0cks3pplies3y2ort5rf1gery5zuki5v1watch4iss4x1y0dney4stems6z2tab1ipei4lk2obao4rget4tamotors6r2too4x0i3c0i2d0k2eam2ch0nology8l1masek5nnis4va3f1g1h0d1eater2re6iaa2ckets5enda4ps2res2ol4j0maxx4x2k0maxx5l1m0all4n1o0day3kyo3ols3p1ray3shiba5tal3urs3wn2yota3s3r0ade1ing4ining5vel0ers0insurance16ust3v2t1ube2i1nes3shu4v0s2w1z2ua1bank3s2g1k1nicom3versity8o2ol2ps2s1y1z2va0cations7na1guard7c1e0gas3ntures6risign5mögensberater2ung14sicherung10t2g1i0ajes4deo3g1king4llas4n1p1rgin4sa1ion4va1o3laanderen9n1odka3lvo3te1ing3o2yage5u2wales2mart4ter4ng0gou5tch0es6eather0channel12bcam3er2site5d0ding5ibo2r3f1hoswho6ien2ki2lliamhill9n0dows4e1ners6me2olterskluwer11odside6rk0s2ld3w2s1tc1f3xbox3erox4finity6ihuan4n2xx2yz3yachts4hoo3maxun5ndex5e1odobashi7ga2kohama6u0tube6t1un3za0ppos4ra3ero3ip2m1one3uerich6w2'; | ||
// Internationalized domain names containing non-ASCII | ||
const encodedUtlds = 'ελ1υ2бг1ел3дети4ею2католик6ом3мкд2он1сква6онлайн5рг3рус2ф2сайт3рб3укр3қаз3հայ3ישראל5קום3ابوظبي5تصالات6رامكو5لاردن4بحرين5جزائر5سعودية6عليان5مغرب5مارات5یران5بارت2زار4يتك3ھارت5تونس4سودان3رية5شبكة4عراق2ب2مان4فلسطين6قطر3كاثوليك6وم3مصر2ليسيا5وريتانيا7قع4همراه5پاکستان7ڀارت4कॉम3नेट3भारत0म्3ोत5संगठन5বাংলা5ভারত2ৰত4ਭਾਰਤ4ભારત4ଭାରତ4இந்தியா6லங்கை6சிங்கப்பூர்11భారత్5ಭಾರತ4ഭാരതം5ලංකා4คอม3ไทย3ລາວ3გე2みんな3アマゾン4クラウド4グーグル4コム2ストア3セール3ファッション6ポイント4世界2中信1国1國1文网3亚马逊3企业2佛山2信息2健康2八卦2公司1益2台湾1灣2商城1店1标2嘉里0大酒店5在线2大拿2天主教3娱乐2家電2广东2微博2慈善2我爱你3手机2招聘2政务1府2新加坡2闻2时尚2書籍2机构2淡马锡3游戏2澳門2点看2移动2组织机构4网址1店1站1络2联通2谷歌2购物2通販2集团2電訊盈科4飞利浦3食品2餐厅2香格里拉3港2닷넷1컴2삼성2한국2'; | ||
const encodedUtlds = 'ελ1υ2бг1ел3дети4ею2католик6ом3мкд2он1сква6онлайн5рг3рус2ф2сайт3рб3укр3қаз3հայ3ישראל5קום3ابوظبي5رامكو5لاردن4بحرين5جزائر5سعودية6عليان5مغرب5مارات5یران5بارت2زار4يتك3ھارت5تونس4سودان3رية5شبكة4عراق2ب2مان4فلسطين6قطر3كاثوليك6وم3مصر2ليسيا5وريتانيا7قع4همراه5پاکستان7ڀارت4कॉम3नेट3भारत0म्3ोत5संगठन5বাংলা5ভারত2ৰত4ਭਾਰਤ4ભારત4ଭାରତ4இந்தியா6லங்கை6சிங்கப்பூர்11భారత్5ಭಾರತ4ഭാരതം5ලංකා4คอม3ไทย3ລາວ3გე2みんな3アマゾン4クラウド4グーグル4コム2ストア3セール3ファッション6ポイント4世界2中信1国1國1文网3亚马逊3企业2佛山2信息2健康2八卦2公司1益2台湾1灣2商城1店1标2嘉里0大酒店5在线2大拿2天主教3娱乐2家電2广东2微博2慈善2我爱你3手机2招聘2政务1府2新加坡2闻2时尚2書籍2机构2淡马锡3游戏2澳門2点看2移动2组织机构4网址1店1站1络2联通2谷歌2购物2通販2集团2電訊盈科4飞利浦3食品2餐厅2香格里拉3港2닷넷1컴2삼성2한국2'; | ||
@@ -394,10 +394,20 @@ /** | ||
// Opening/closing bracket classes | ||
// TODO: Rename OPEN -> LEFT and CLOSE -> RIGHT in v5 to fit with Unicode names | ||
// Also rename angle brackes to LESSTHAN and GREATER THAN | ||
const OPENBRACE = 'OPENBRACE'; // { | ||
const CLOSEBRACE = 'CLOSEBRACE'; // } | ||
const OPENBRACKET = 'OPENBRACKET'; // [ | ||
const CLOSEBRACKET = 'CLOSEBRACKET'; // ] | ||
const OPENPAREN = 'OPENPAREN'; // ( | ||
const CLOSEPAREN = 'CLOSEPAREN'; // ) | ||
const OPENANGLEBRACKET = 'OPENANGLEBRACKET'; // < | ||
const OPENPAREN = 'OPENPAREN'; // ( | ||
const CLOSEBRACE = 'CLOSEBRACE'; // } | ||
const CLOSEBRACKET = 'CLOSEBRACKET'; // ] | ||
const CLOSEANGLEBRACKET = 'CLOSEANGLEBRACKET'; // > | ||
const CLOSEPAREN = 'CLOSEPAREN'; // ) | ||
const FULLWIDTHLEFTPAREN = 'FULLWIDTHLEFTPAREN'; // ( | ||
const FULLWIDTHRIGHTPAREN = 'FULLWIDTHRIGHTPAREN'; // ) | ||
const LEFTCORNERBRACKET = 'LEFTCORNERBRACKET'; // 「 | ||
const RIGHTCORNERBRACKET = 'RIGHTCORNERBRACKET'; // 」 | ||
const LEFTWHITECORNERBRACKET = 'LEFTWHITECORNERBRACKET'; // 『 | ||
const RIGHTWHITECORNERBRACKET = 'RIGHTWHITECORNERBRACKET'; // 』 | ||
const FULLWIDTHLESSTHAN = 'FULLWIDTHLESSTHAN'; // < | ||
const FULLWIDTHGREATERTHAN = 'FULLWIDTHGREATERTHAN'; // > | ||
@@ -450,9 +460,17 @@ // Various symbols | ||
OPENBRACE: OPENBRACE, | ||
CLOSEBRACE: CLOSEBRACE, | ||
OPENBRACKET: OPENBRACKET, | ||
CLOSEBRACKET: CLOSEBRACKET, | ||
OPENPAREN: OPENPAREN, | ||
CLOSEPAREN: CLOSEPAREN, | ||
OPENANGLEBRACKET: OPENANGLEBRACKET, | ||
OPENPAREN: OPENPAREN, | ||
CLOSEBRACE: CLOSEBRACE, | ||
CLOSEBRACKET: CLOSEBRACKET, | ||
CLOSEANGLEBRACKET: CLOSEANGLEBRACKET, | ||
CLOSEPAREN: CLOSEPAREN, | ||
FULLWIDTHLEFTPAREN: FULLWIDTHLEFTPAREN, | ||
FULLWIDTHRIGHTPAREN: FULLWIDTHRIGHTPAREN, | ||
LEFTCORNERBRACKET: LEFTCORNERBRACKET, | ||
RIGHTCORNERBRACKET: RIGHTCORNERBRACKET, | ||
LEFTWHITECORNERBRACKET: LEFTWHITECORNERBRACKET, | ||
RIGHTWHITECORNERBRACKET: RIGHTWHITECORNERBRACKET, | ||
FULLWIDTHLESSTHAN: FULLWIDTHLESSTHAN, | ||
FULLWIDTHGREATERTHAN: FULLWIDTHGREATERTHAN, | ||
AMPERSAND: AMPERSAND, | ||
@@ -556,9 +574,17 @@ APOSTROPHE: APOSTROPHE, | ||
tt(Start, '{', OPENBRACE); | ||
tt(Start, '}', CLOSEBRACE); | ||
tt(Start, '[', OPENBRACKET); | ||
tt(Start, ']', CLOSEBRACKET); | ||
tt(Start, '(', OPENPAREN); | ||
tt(Start, ')', CLOSEPAREN); | ||
tt(Start, '<', OPENANGLEBRACKET); | ||
tt(Start, '(', OPENPAREN); | ||
tt(Start, '}', CLOSEBRACE); | ||
tt(Start, ']', CLOSEBRACKET); | ||
tt(Start, '>', CLOSEANGLEBRACKET); | ||
tt(Start, ')', CLOSEPAREN); | ||
tt(Start, '(', FULLWIDTHLEFTPAREN); | ||
tt(Start, ')', FULLWIDTHRIGHTPAREN); | ||
tt(Start, '「', LEFTCORNERBRACKET); | ||
tt(Start, '」', RIGHTCORNERBRACKET); | ||
tt(Start, '『', LEFTWHITECORNERBRACKET); | ||
tt(Start, '』', RIGHTWHITECORNERBRACKET); | ||
tt(Start, '<', FULLWIDTHLESSTHAN); | ||
tt(Start, '>', FULLWIDTHGREATERTHAN); | ||
tt(Start, '&', AMPERSAND); | ||
@@ -1352,7 +1378,7 @@ tt(Start, '*', ASTERISK); | ||
// Characters that cannot appear in the URL at all should be excluded | ||
const qsNonAccepting = [APOSTROPHE, CLOSEANGLEBRACKET, CLOSEBRACE, CLOSEBRACKET, CLOSEPAREN, COLON, COMMA, DOT, EXCLAMATION, OPENANGLEBRACKET, OPENBRACE, OPENBRACKET, OPENPAREN, QUERY, QUOTE, SEMI]; | ||
const qsNonAccepting = [APOSTROPHE, COLON, COMMA, DOT, EXCLAMATION, QUERY, QUOTE, SEMI, OPENANGLEBRACKET, CLOSEANGLEBRACKET, OPENBRACE, CLOSEBRACE, CLOSEBRACKET, OPENBRACKET, OPENPAREN, CLOSEPAREN, FULLWIDTHLEFTPAREN, FULLWIDTHRIGHTPAREN, LEFTCORNERBRACKET, RIGHTCORNERBRACKET, LEFTWHITECORNERBRACKET, RIGHTWHITECORNERBRACKET, FULLWIDTHLESSTHAN, FULLWIDTHGREATERTHAN]; | ||
// For addresses without the mailto prefix | ||
// Tokens allowed in the localpart of the email | ||
const localpartAccepting = [AMPERSAND, APOSTROPHE, ASTERISK, BACKSLASH, BACKTICK, CARET, CLOSEBRACE, DOLLAR, EQUALS, HYPHEN, OPENBRACE, PERCENT, PIPE, PLUS, POUND, QUERY, SLASH, SYM, TILDE, UNDERSCORE]; | ||
const localpartAccepting = [AMPERSAND, APOSTROPHE, ASTERISK, BACKSLASH, BACKTICK, CARET, DOLLAR, EQUALS, HYPHEN, OPENBRACE, CLOSEBRACE, PERCENT, PIPE, PLUS, POUND, QUERY, SLASH, SYM, TILDE, UNDERSCORE]; | ||
@@ -1406,3 +1432,3 @@ // The universal starting state. | ||
/*const EmailColonPort = */ | ||
ta(EmailColon, groups.numeric, Email); // URL followed by colon and port numner | ||
ta(EmailColon, groups.numeric, Email); // URL followed by colon and port number | ||
@@ -1466,68 +1492,47 @@ // Account for dots and hyphens. Hyphens are usually parts of domain names | ||
tt(UriPrefix, SLASH, Url$1); | ||
const bracketPairs = [[OPENBRACE, CLOSEBRACE], | ||
// {} | ||
[OPENBRACKET, CLOSEBRACKET], | ||
// [] | ||
[OPENPAREN, CLOSEPAREN], | ||
// () | ||
[OPENANGLEBRACKET, CLOSEANGLEBRACKET], | ||
// <> | ||
[FULLWIDTHLEFTPAREN, FULLWIDTHRIGHTPAREN], | ||
// () | ||
[LEFTCORNERBRACKET, RIGHTCORNERBRACKET], | ||
// 「」 | ||
[LEFTWHITECORNERBRACKET, RIGHTWHITECORNERBRACKET], | ||
// 『』 | ||
[FULLWIDTHLESSTHAN, FULLWIDTHGREATERTHAN] // <> | ||
]; | ||
// URL, followed by an opening bracket | ||
const UrlOpenbrace = tt(Url$1, OPENBRACE); // URL followed by { | ||
const UrlOpenbracket = tt(Url$1, OPENBRACKET); // URL followed by [ | ||
const UrlOpenanglebracket = tt(Url$1, OPENANGLEBRACKET); // URL followed by < | ||
const UrlOpenparen = tt(Url$1, OPENPAREN); // URL followed by ( | ||
for (let i = 0; i < bracketPairs.length; i++) { | ||
const [OPEN, CLOSE] = bracketPairs[i]; | ||
const UrlOpen = tt(Url$1, OPEN); // URL followed by open bracket | ||
tt(UrlNonaccept, OPENBRACE, UrlOpenbrace); | ||
tt(UrlNonaccept, OPENBRACKET, UrlOpenbracket); | ||
tt(UrlNonaccept, OPENANGLEBRACKET, UrlOpenanglebracket); | ||
tt(UrlNonaccept, OPENPAREN, UrlOpenparen); | ||
// Continue not accepting for open brackets | ||
tt(UrlNonaccept, OPEN, UrlOpen); | ||
// Closing bracket component. This character WILL be included in the URL | ||
tt(UrlOpenbrace, CLOSEBRACE, Url$1); | ||
tt(UrlOpenbracket, CLOSEBRACKET, Url$1); | ||
tt(UrlOpenanglebracket, CLOSEANGLEBRACKET, Url$1); | ||
tt(UrlOpenparen, CLOSEPAREN, Url$1); | ||
tt(UrlOpenbrace, CLOSEBRACE, Url$1); | ||
// Closing bracket component. This character WILL be included in the URL | ||
tt(UrlOpen, CLOSE, Url$1); | ||
// URL that beings with an opening bracket, followed by a symbols. | ||
// Note that the final state can still be `UrlOpenbrace` (if the URL only | ||
// has a single opening bracket for some reason). | ||
const UrlOpenbraceQ = makeState(Url); // URL followed by { and some symbols that the URL can end it | ||
const UrlOpenbracketQ = makeState(Url); // URL followed by [ and some symbols that the URL can end it | ||
const UrlOpenanglebracketQ = makeState(Url); // URL followed by < and some symbols that the URL can end it | ||
const UrlOpenparenQ = makeState(Url); // URL followed by ( and some symbols that the URL can end it | ||
ta(UrlOpenbrace, qsAccepting, UrlOpenbraceQ); | ||
ta(UrlOpenbracket, qsAccepting, UrlOpenbracketQ); | ||
ta(UrlOpenanglebracket, qsAccepting, UrlOpenanglebracketQ); | ||
ta(UrlOpenparen, qsAccepting, UrlOpenparenQ); | ||
const UrlOpenbraceSyms = makeState(); // UrlOpenbrace followed by some symbols it cannot end it | ||
const UrlOpenbracketSyms = makeState(); // UrlOpenbracketQ followed by some symbols it cannot end it | ||
const UrlOpenanglebracketSyms = makeState(); // UrlOpenanglebracketQ followed by some symbols it cannot end it | ||
const UrlOpenparenSyms = makeState(); // UrlOpenparenQ followed by some symbols it cannot end it | ||
ta(UrlOpenbrace, qsNonAccepting); | ||
ta(UrlOpenbracket, qsNonAccepting); | ||
ta(UrlOpenanglebracket, qsNonAccepting); | ||
ta(UrlOpenparen, qsNonAccepting); | ||
// URL that beings with an opening bracket, followed by a symbols. | ||
// Note that the final state can still be `UrlOpen` (if the URL has a | ||
// single opening bracket for some reason). | ||
const UrlOpenQ = makeState(Url); | ||
ta(UrlOpen, qsAccepting, UrlOpenQ); | ||
const UrlOpenSyms = makeState(); // UrlOpen followed by some symbols it cannot end it | ||
ta(UrlOpen, qsNonAccepting); | ||
// URL that begins with an opening bracket, followed by some symbols | ||
ta(UrlOpenbraceQ, qsAccepting, UrlOpenbraceQ); | ||
ta(UrlOpenbracketQ, qsAccepting, UrlOpenbracketQ); | ||
ta(UrlOpenanglebracketQ, qsAccepting, UrlOpenanglebracketQ); | ||
ta(UrlOpenparenQ, qsAccepting, UrlOpenparenQ); | ||
ta(UrlOpenbraceQ, qsNonAccepting, UrlOpenbraceQ); | ||
ta(UrlOpenbracketQ, qsNonAccepting, UrlOpenbracketQ); | ||
ta(UrlOpenanglebracketQ, qsNonAccepting, UrlOpenanglebracketQ); | ||
ta(UrlOpenparenQ, qsNonAccepting, UrlOpenparenQ); | ||
ta(UrlOpenbraceSyms, qsAccepting, UrlOpenbraceSyms); | ||
ta(UrlOpenbracketSyms, qsAccepting, UrlOpenbracketQ); | ||
ta(UrlOpenanglebracketSyms, qsAccepting, UrlOpenanglebracketQ); | ||
ta(UrlOpenparenSyms, qsAccepting, UrlOpenparenQ); | ||
ta(UrlOpenbraceSyms, qsNonAccepting, UrlOpenbraceSyms); | ||
ta(UrlOpenbracketSyms, qsNonAccepting, UrlOpenbracketSyms); | ||
ta(UrlOpenanglebracketSyms, qsNonAccepting, UrlOpenanglebracketSyms); | ||
ta(UrlOpenparenSyms, qsNonAccepting, UrlOpenparenSyms); | ||
// URL that begins with an opening bracket, followed by some symbols | ||
ta(UrlOpenQ, qsAccepting, UrlOpenQ); | ||
ta(UrlOpenQ, qsNonAccepting, UrlOpenSyms); | ||
ta(UrlOpenSyms, qsAccepting, UrlOpenQ); | ||
ta(UrlOpenSyms, qsNonAccepting, UrlOpenSyms); | ||
// Close brace/bracket to become regular URL | ||
tt(UrlOpenbracketQ, CLOSEBRACKET, Url$1); | ||
tt(UrlOpenanglebracketQ, CLOSEANGLEBRACKET, Url$1); | ||
tt(UrlOpenparenQ, CLOSEPAREN, Url$1); | ||
tt(UrlOpenbraceQ, CLOSEBRACE, Url$1); | ||
tt(UrlOpenbracketSyms, CLOSEBRACKET, Url$1); | ||
tt(UrlOpenanglebracketSyms, CLOSEANGLEBRACKET, Url$1); | ||
tt(UrlOpenparenSyms, CLOSEPAREN, Url$1); | ||
tt(UrlOpenbraceSyms, CLOSEPAREN, Url$1); | ||
// Close brace/bracket to become regular URL | ||
tt(UrlOpenQ, CLOSE, Url$1); | ||
tt(UrlOpenSyms, CLOSE, Url$1); | ||
} | ||
tt(Start, LOCALHOST, DomainDotTld); // localhost is a valid URL state | ||
@@ -1534,0 +1539,0 @@ tt(Start, NL$1, Nl); // single new line |
@@ -1,1 +0,1 @@ | ||
var linkify=function(e){"use strict";const t="aaa1rp3barth4b0ott3vie4c1le2ogado5udhabi7c0ademy5centure6ountant0s9o1tor4d0s1ult4e0g1ro2tna4f0l1rica5g0akhan5ency5i0g1rbus3force5tel5kdn3l0faromeo7ibaba4pay4lfinanz6state5y2sace3tom5m0azon4ericanexpress7family11x2fam3ica3sterdam8nalytics7droid5quan4z2o0l2partments8p0le4q0uarelle8r0ab1mco4chi3my2pa2t0e3s0da2ia2sociates9t0hleta5torney7u0ction5di0ble3o3spost5thor3o0s4vianca6w0s2x0a2z0ure5ba0by2idu3namex3narepublic11d1k2r0celona5laycard4s5efoot5gains6seball5ketball8uhaus5yern5b0c1t1va3cg1n2d1e0ats2uty4er2ntley5rlin4st0buy5t2f1g1h0arti5i0ble3d1ke2ng0o3o1z2j1lack0friday9ockbuster8g1omberg7ue3m0s1w2n0pparibas9o0ats3ehringer8fa2m1nd2o0k0ing5sch2tik2on4t1utique6x2r0adesco6idgestone9oadway5ker3ther5ussels7s1t1uild0ers6siness6y1zz3v1w1y1z0h3ca0b1fe2l0l1vinklein9m0era3p2non3petown5ital0one8r0avan4ds2e0er0s4s2sa1e1h1ino4t0ering5holic7ba1n1re2s2c1d1enter4o1rn3f0a1d2g1h0anel2nel4rity4se2t2eap3intai5ristmas6ome4urch5i0priani6rcle4sco3tadel4i0c2y0eats7k1l0aims4eaning6ick2nic1que6othing5ud3ub0med6m1n1o0ach3des3ffee4llege4ogne5m0cast4mbank4unity6pany2re3uter5sec4ndos3struction8ulting7tact3ractors9oking0channel11l1p2rsica5untry4pon0s4rses6pa2r0edit0card4union9icket5own3s1uise0s6u0isinella9v1w1x1y0mru3ou3z2dabur3d1nce3ta1e1ing3sun4y2clk3ds2e0al0er2s3gree4livery5l1oitte5ta3mocrat6ntal2ist5si0gn4v2hl2iamonds6et2gital5rect0ory7scount3ver5h2y2j1k1m1np2o0cs1tor4g1mains5t1wnload7rive4tv2ubai3nlop4pont4rban5vag2r2z2earth3t2c0o2deka3u0cation8e1g1mail3erck5nergy4gineer0ing9terprises10pson4quipment8r0icsson6ni3s0q1tate5t0isalat7u0rovision8s2vents5xchange6pert3osed4ress5traspace10fage2il1rwinds6th3mily4n0s2rm0ers5shion4t3edex3edback6rrari3ero6i0at2delity5o2lm2nal1nce1ial7re0stone6mdale6sh0ing5t0ness6j1k1lickr3ghts4r2orist4wers5y2m1o0o0d0network8tball6rd1ex2sale4um3undation8x2r0ee1senius7l1ogans4ntdoor4ier7tr2ujitsu5n0d2rniture7tbol5yi3ga0l0lery3o1up4me0s3p1rden4y2b0iz3d0n2e0a1nt0ing5orge5f1g0ee3h1i0ft0s3ves2ing5l0ass3e1obal2o4m0ail3bh2o1x2n1odaddy5ld0point6f2o0dyear5g0le4p1t1v2p1q1r0ainger5phics5tis4een3ipe3ocery4up4s1t1u0ardian6cci3ge2ide2tars5ru3w1y2hair2mburg5ngout5us3bo2dfc0bank7ealth0care8lp1sinki6re1mes5gtv3iphop4samitsu7tachi5v2k0t2m1n1ockey4ldings5iday5medepot5goods5s0ense7nda3rse3spital5t0ing5t0eles2s3mail5use3w2r1sbc3t1u0ghes5yatt3undai7ibm2cbc2e1u2d1e0ee3fm2kano4l1m0amat4db2mo0bilien9n0c1dustries8finiti5o2g1k1stitute6urance4e4t0ernational10uit4vestments10o1piranga7q1r0ish4s0maili5t0anbul7t0au2v3jaguar4va3cb2e0ep2tzt3welry6io2ll2m0p2nj2o0bs1urg4t1y2p0morgan6rs3uegos4niper7kaufen5ddi3e0rryhotels6logistics9properties14fh2g1h1i0a1ds2m1nder2le4tchen5wi3m1n1oeln3matsu5sher5p0mg2n2r0d1ed3uokgroup8w1y0oto4z2la0caixa5mborghini8er3ncaster5ia3d0rover6xess5salle5t0ino3robe5w0yer5b1c1ds2ease3clerc5frak4gal2o2xus4gbt3i0dl2fe0insurance9style7ghting6ke2lly3mited4o2ncoln4de2k2psy3ve1ing5k1lc1p2oan0s3cker3us3l1ndon4tte1o3ve3pl0financial11r1s1t0d0a3u0ndbeck6xe1ury5v1y2ma0cys3drid4if1son4keup4n0agement7go3p1rket0ing3s4riott5shalls7serati6ttel5ba2c0kinsey7d1e0d0ia3et2lbourne7me1orial6n0u2rckmsd7g1h1iami3crosoft7l1ni1t2t0subishi9k1l0b1s2m0a2n1o0bi0le4da2e1i1m1nash3ey2ster5rmon3tgage6scow4to0rcycles9v0ie4p1q1r1s0d2t0n1r2u0seum3ic3tual5v1w1x1y1z2na0b1goya4me2tura4vy3ba2c1e0c1t0bank4flix4work5ustar5w0s2xt0direct7us4f0l2g0o2hk2i0co2ke1on3nja3ssan1y5l1o0kia3rthwesternmutual14on4w0ruz3tv4p1r0a1w2tt2u1yc2z2obi1server7ffice5kinawa6layan0group9dnavy5lo3m0ega4ne1g1l0ine5oo2pen3racle3nge4g0anic5igins6saka4tsuka4t2vh3pa0ge2nasonic7ris2s1tners4s1y3ssagens7y2ccw3e0t2f0izer5g1h0armacy6d1ilips5one2to0graphy6s4ysio5ics1tet2ures6d1n0g1k2oneer5zza4k1l0ace2y0station9umbing5s3m1n0c2ohl2ker3litie5rn2st3r0america6xi3ess3ime3o0d0uctions8f1gressive8mo2perties3y5tection8u0dential9s1t1ub2w0c2y2qa1pon3uebec3st5racing4dio4e0ad1lestate6tor2y4cipes5d0stone5umbrella9hab3ise0n3t2liance6n0t0als5pair3ort3ublican8st0aurant8view0s5xroth6ich0ardli6oh3l1o1p2o0cher3ks3deo3gers4om3s0vp3u0gby3hr2n2w0e2yukyu6sa0arland6fe0ty4kura4le1on3msclub4ung5ndvik0coromant12ofi4p1rl2s1ve2xo3b0i1s2c0a1b1haeffler7midt4olarships8ol3ule3warz5ience5ot3d1e0arch3t2cure1ity6ek2lect4ner3rvices6ven3w1x0y3fr2g1h0angrila6rp2w2ell3ia1ksha5oes2p0ping5uji3w0time7i0lk2na1gles5te3j1k0i0n2y0pe4l0ing4m0art3ile4n0cf3o0ccer3ial4ftbank4ware6hu2lar2utions7ng1y2y2pa0ce3ort2t3r0l2s1t0ada2ples4r1tebank4farm7c0group6ockholm6rage3e3ream4udio2y3yle4u0cks3pplies3y2ort5rf1gery5zuki5v1watch4iss4x1y0dney4stems6z2tab1ipei4lk2obao4rget4tamotors6r2too4x0i3c0i2d0k2eam2ch0nology8l1masek5nnis4va3f1g1h0d1eater2re6iaa2ckets5enda4ffany5ps2res2ol4j0maxx4x2k0maxx5l1m0all4n1o0day3kyo3ols3p1ray3shiba5tal3urs3wn2yota3s3r0ade1ing4ining5vel0channel7ers0insurance16ust3v2t1ube2i1nes3shu4v0s2w1z2ua1bank3s2g1k1nicom3versity8o2ol2ps2s1y1z2va0cations7na1guard7c1e0gas3ntures6risign5mögensberater2ung14sicherung10t2g1i0ajes4deo3g1king4llas4n1p1rgin4sa1ion4va1o3laanderen9n1odka3lkswagen7vo3te1ing3o2yage5u0elos6wales2mart4ter4ng0gou5tch0es6eather0channel12bcam3er2site5d0ding5ibo2r3f1hoswho6ien2ki2lliamhill9n0dows4e1ners6me2olterskluwer11odside6rk0s2ld3w2s1tc1f3xbox3erox4finity6ihuan4n2xx2yz3yachts4hoo3maxun5ndex5e1odobashi7ga2kohama6u0tube6t1un3za0ppos4ra3ero3ip2m1one3uerich6w2",n="ελ1υ2бг1ел3дети4ею2католик6ом3мкд2он1сква6онлайн5рг3рус2ф2сайт3рб3укр3қаз3հայ3ישראל5קום3ابوظبي5تصالات6رامكو5لاردن4بحرين5جزائر5سعودية6عليان5مغرب5مارات5یران5بارت2زار4يتك3ھارت5تونس4سودان3رية5شبكة4عراق2ب2مان4فلسطين6قطر3كاثوليك6وم3مصر2ليسيا5وريتانيا7قع4همراه5پاکستان7ڀارت4कॉम3नेट3भारत0म्3ोत5संगठन5বাংলা5ভারত2ৰত4ਭਾਰਤ4ભારત4ଭାରତ4இந்தியா6லங்கை6சிங்கப்பூர்11భారత్5ಭಾರತ4ഭാരതം5ලංකා4คอม3ไทย3ລາວ3გე2みんな3アマゾン4クラウド4グーグル4コム2ストア3セール3ファッション6ポイント4世界2中信1国1國1文网3亚马逊3企业2佛山2信息2健康2八卦2公司1益2台湾1灣2商城1店1标2嘉里0大酒店5在线2大拿2天主教3娱乐2家電2广东2微博2慈善2我爱你3手机2招聘2政务1府2新加坡2闻2时尚2書籍2机构2淡马锡3游戏2澳門2点看2移动2组织机构4网址1店1站1络2联通2谷歌2购物2通販2集团2電訊盈科4飞利浦3食品2餐厅2香格里拉3港2닷넷1컴2삼성2한국2",i=(e,t)=>{for(const n in t)e[n]=t[n];return e},s="numeric",r="ascii",o="alpha",a="asciinumeric",l="alphanumeric",u="domain",c="emoji",g="scheme",d="slashscheme",h="whitespace";function f(e,t){return e in t||(t[e]=[]),t[e]}function p(e,t,n){t[s]&&(t[a]=!0,t[l]=!0),t[r]&&(t[a]=!0,t[o]=!0),t[a]&&(t[l]=!0),t[o]&&(t[l]=!0),t[l]&&(t[u]=!0),t[c]&&(t[u]=!0);for(const i in t){const t=f(i,n);t.indexOf(e)<0&&t.push(e)}}function m(e){void 0===e&&(e=null),this.j={},this.jr=[],this.jd=null,this.t=e}m.groups={},m.prototype={accepts(){return!!this.t},go(e){const t=this,n=t.j[e];if(n)return n;for(let n=0;n<t.jr.length;n++){const i=t.jr[n][0],s=t.jr[n][1];if(s&&i.test(e))return s}return t.jd},has(e,t){return void 0===t&&(t=!1),t?e in this.j:!!this.go(e)},ta(e,t,n,i){for(let s=0;s<e.length;s++)this.tt(e[s],t,n,i)},tr(e,t,n,i){let s;return i=i||m.groups,t&&t.j?s=t:(s=new m(t),n&&i&&p(t,n,i)),this.jr.push([e,s]),s},ts(e,t,n,i){let s=this;const r=e.length;if(!r)return s;for(let t=0;t<r-1;t++)s=s.tt(e[t]);return s.tt(e[r-1],t,n,i)},tt(e,t,n,s){s=s||m.groups;const r=this;if(t&&t.j)return r.j[e]=t,t;const o=t;let a,l=r.go(e);if(l?(a=new m,i(a.j,l.j),a.jr.push.apply(a.jr,l.jr),a.jd=l.jd,a.t=l.t):a=new m,o){if(s)if(a.t&&"string"==typeof a.t){const e=i(function(e,t){const n={};for(const i in t)t[i].indexOf(e)>=0&&(n[i]=!0);return n}(a.t,s),n);p(o,e,s)}else n&&p(o,n,s);a.t=o}return r.j[e]=a,a}};const y=(e,t,n,i,s)=>e.ta(t,n,i,s),k=(e,t,n,i,s)=>e.tr(t,n,i,s),b=(e,t,n,i,s)=>e.ts(t,n,i,s),E=(e,t,n,i,s)=>e.tt(t,n,i,s),v="WORD",w="UWORD",O="LOCALHOST",j="TLD",S="UTLD",A="SCHEME",L="SLASH_SCHEME",C="NUM",x="WS",T="NL",R="OPENBRACE",z="OPENBRACKET",P="OPENANGLEBRACKET",N="OPENPAREN",I="CLOSEBRACE",H="CLOSEBRACKET",M="CLOSEANGLEBRACKET",_="CLOSEPAREN",Q="AMPERSAND",D="APOSTROPHE",U="ASTERISK",B="AT",K="BACKSLASH",$="BACKTICK",q="CARET",F="COLON",W="COMMA",Y="DOLLAR",G="DOT",J="EQUALS",X="EXCLAMATION",V="HYPHEN",Z="PERCENT",ee="PIPE",te="PLUS",ne="POUND",ie="QUERY",se="QUOTE",re="SEMI",oe="SLASH",ae="TILDE",le="UNDERSCORE",ue="EMOJI",ce="SYM";var ge=Object.freeze({__proto__:null,WORD:v,UWORD:w,LOCALHOST:O,TLD:j,UTLD:S,SCHEME:A,SLASH_SCHEME:L,NUM:C,WS:x,NL:T,OPENBRACE:R,OPENBRACKET:z,OPENANGLEBRACKET:P,OPENPAREN:N,CLOSEBRACE:I,CLOSEBRACKET:H,CLOSEANGLEBRACKET:M,CLOSEPAREN:_,AMPERSAND:Q,APOSTROPHE:D,ASTERISK:U,AT:B,BACKSLASH:K,BACKTICK:$,CARET:q,COLON:F,COMMA:W,DOLLAR:Y,DOT:G,EQUALS:J,EXCLAMATION:X,HYPHEN:V,PERCENT:Z,PIPE:ee,PLUS:te,POUND:ne,QUERY:ie,QUOTE:se,SEMI:re,SLASH:oe,TILDE:ae,UNDERSCORE:le,EMOJI:ue,SYM:ce});const de=/[a-z]/,he=/\p{L}/u,fe=/\p{Emoji}/u,pe=/\d/,me=/\s/;var ye=Object.freeze({__proto__:null,ASCII_LETTER:de,LETTER:he,EMOJI:fe,EMOJI_VARIATION:/\ufe0f/,DIGIT:pe,SPACE:me});const ke="\n",be="️",Ee="";let ve=null,we=null;function Oe(e){const t=[],n=e.length;let i=0;for(;i<n;){let s,r=e.charCodeAt(i),o=r<55296||r>56319||i+1===n||(s=e.charCodeAt(i+1))<56320||s>57343?e[i]:e.slice(i,i+2);t.push(o),i+=o.length}return t}function je(e,t,n,i,s){let r;const o=t.length;for(let n=0;n<o-1;n++){const o=t[n];e.j[o]?r=e.j[o]:(r=new m(i),r.jr=s.slice(),e.j[o]=r),e=r}return r=new m(n),r.jr=s.slice(),e.j[t[o-1]]=r,r}function Se(e){const t=[],n=[];let i=0;for(;i<e.length;){let s=0;for(;"0123456789".indexOf(e[i+s])>=0;)s++;if(s>0){t.push(n.join(""));for(let t=parseInt(e.substring(i,i+s),10);t>0;t--)n.pop();i+=s}else n.push(e[i]),i++}return t}const Ae={defaultProtocol:"http",events:null,format:Ce,formatHref:Ce,nl2br:!1,tagName:"a",target:null,rel:null,validate:!0,truncate:1/0,className:null,attributes:null,ignoreTags:[],render:null};function Le(e,t){void 0===t&&(t=null);let n=i({},Ae);e&&(n=i(n,e instanceof Le?e.o:e));const s=n.ignoreTags,r=[];for(let e=0;e<s.length;e++)r.push(s[e].toUpperCase());this.o=n,t&&(this.defaultRender=t),this.ignoreTags=r}function Ce(e){return e}Le.prototype={o:Ae,ignoreTags:[],defaultRender:e=>e,check(e){return this.get("validate",e.toString(),e)},get(e,t,n){const i=null!=t;let s=this.o[e];return s?("object"==typeof s?(s=n.t in s?s[n.t]:Ae[e],"function"==typeof s&&i&&(s=s(t,n))):"function"==typeof s&&i&&(s=s(t,n.t,n)),s):s},getObj(e,t,n){let i=this.o[e];return"function"==typeof i&&null!=t&&(i=i(t,n.t,n)),i},render(e){const t=e.render(this);return(this.get("render",null,e)||this.defaultRender)(t,e.t,e)}};var xe=Object.freeze({__proto__:null,defaults:Ae,Options:Le,assign:i});function Te(e,t){this.t="token",this.v=e,this.tk=t}function Re(e,t){class n extends Te{constructor(t,n){super(t,n),this.t=e}}for(const e in t)n.prototype[e]=t[e];return n.t=e,n}Te.prototype={isLink:!1,toString(){return this.v},toHref(e){return this.toString()},toFormattedString(e){const t=this.toString(),n=e.get("truncate",t,this),i=e.get("format",t,this);return n&&i.length>n?i.substring(0,n)+"…":i},toFormattedHref(e){return e.get("formatHref",this.toHref(e.get("defaultProtocol")),this)},startIndex(){return this.tk[0].s},endIndex(){return this.tk[this.tk.length-1].e},toObject(e){return void 0===e&&(e=Ae.defaultProtocol),{type:this.t,value:this.toString(),isLink:this.isLink,href:this.toHref(e),start:this.startIndex(),end:this.endIndex()}},toFormattedObject(e){return{type:this.t,value:this.toFormattedString(e),isLink:this.isLink,href:this.toFormattedHref(e),start:this.startIndex(),end:this.endIndex()}},validate(e){return e.get("validate",this.toString(),this)},render(e){const t=this,n=this.toHref(e.get("defaultProtocol")),s=e.get("formatHref",n,this),r=e.get("tagName",n,t),o=this.toFormattedString(e),a={},l=e.get("className",n,t),u=e.get("target",n,t),c=e.get("rel",n,t),g=e.getObj("attributes",n,t),d=e.getObj("events",n,t);return a.href=s,l&&(a.class=l),u&&(a.target=u),c&&(a.rel=c),g&&i(a,g),{tagName:r,attributes:a,content:o,eventListeners:d}}};const ze=Re("email",{isLink:!0,toHref(){return"mailto:"+this.toString()}}),Pe=Re("text"),Ne=Re("nl"),Ie=Re("url",{isLink:!0,toHref(e){return void 0===e&&(e=Ae.defaultProtocol),this.hasProtocol()?this.v:`${e}://${this.v}`},hasProtocol(){const e=this.tk;return e.length>=2&&e[0].t!==O&&e[1].t===F}});var He=Object.freeze({__proto__:null,MultiToken:Te,Base:Te,createTokenClass:Re,Email:ze,Text:Pe,Nl:Ne,Url:Ie});const Me=e=>new m(e);function _e(e,t,n){const i=n[0].s,s=n[n.length-1].e;return new e(t.slice(i,s),n)}const Qe="undefined"!=typeof console&&console&&console.warn||(()=>{}),De="until manual call of linkify.init(). Register all schemes and plugins before invoking linkify the first time.",Ue={scanner:null,parser:null,tokenQueue:[],pluginQueue:[],customSchemes:[],initialized:!1};function Be(){Ue.scanner=function(e){void 0===e&&(e=[]);const l={};m.groups=l;const f=new m;null==ve&&(ve=Se(t)),null==we&&(we=Se(n)),E(f,"'",D),E(f,"{",R),E(f,"[",z),E(f,"<",P),E(f,"(",N),E(f,"}",I),E(f,"]",H),E(f,">",M),E(f,")",_),E(f,"&",Q),E(f,"*",U),E(f,"@",B),E(f,"`",$),E(f,"^",q),E(f,":",F),E(f,",",W),E(f,"$",Y),E(f,".",G),E(f,"=",J),E(f,"!",X),E(f,"-",V),E(f,"%",Z),E(f,"|",ee),E(f,"+",te),E(f,"#",ne),E(f,"?",ie),E(f,'"',se),E(f,"/",oe),E(f,";",re),E(f,"~",ae),E(f,"_",le),E(f,"\\",K);const y=k(f,pe,C,{[s]:!0});k(y,pe,y);const ye=k(f,de,v,{[r]:!0});k(ye,de,ye);const Oe=k(f,he,w,{[o]:!0});k(Oe,de),k(Oe,he,Oe);const Ae=k(f,me,x,{[h]:!0});E(f,ke,T,{[h]:!0}),E(Ae,ke),k(Ae,me,Ae);const Le=k(f,fe,ue,{[c]:!0});k(Le,fe,Le),E(Le,be,Le);const Ce=E(Le,Ee);k(Ce,fe,Le);const xe=[[de,ye]],Te=[[de,null],[he,Oe]];for(let e=0;e<ve.length;e++)je(f,ve[e],j,v,xe);for(let e=0;e<we.length;e++)je(f,we[e],S,w,Te);p(j,{tld:!0,ascii:!0},l),p(S,{utld:!0,alpha:!0},l),je(f,"file",A,v,xe),je(f,"mailto",A,v,xe),je(f,"http",L,v,xe),je(f,"https",L,v,xe),je(f,"ftp",L,v,xe),je(f,"ftps",L,v,xe),p(A,{scheme:!0,ascii:!0},l),p(L,{slashscheme:!0,ascii:!0},l),e=e.sort(((e,t)=>e[0]>t[0]?1:-1));for(let t=0;t<e.length;t++){const n=e[t][0],i=e[t][1]?{[g]:!0}:{[d]:!0};n.indexOf("-")>=0?i[u]=!0:de.test(n)?pe.test(n)?i[a]=!0:i[r]=!0:i[s]=!0,b(f,n,n,i)}return b(f,"localhost",O,{ascii:!0}),f.jd=new m(ce),{start:f,tokens:i({groups:l},ge)}}(Ue.customSchemes);for(let e=0;e<Ue.tokenQueue.length;e++)Ue.tokenQueue[e][1]({scanner:Ue.scanner});Ue.parser=function(e){let{groups:t}=e;const n=t.domain.concat([Q,U,B,K,$,q,Y,J,V,C,Z,ee,te,ne,oe,ce,ae,le]),i=[D,M,I,H,_,F,W,G,X,P,R,z,N,ie,se,re],s=[Q,D,U,K,$,q,I,Y,J,V,R,Z,ee,te,ne,ie,oe,ce,ae,le],r=Me(),o=E(r,ae);y(o,s,o),y(o,t.domain,o);const a=Me(),l=Me(),u=Me();y(r,t.domain,a),y(r,t.scheme,l),y(r,t.slashscheme,u),y(a,s,o),y(a,t.domain,a);const c=E(a,B);E(o,B,c),E(l,B,c),E(u,B,c);const g=E(o,G);y(g,s,o),y(g,t.domain,o);const d=Me();y(c,t.domain,d),y(d,t.domain,d);const h=E(d,G);y(h,t.domain,d);const f=Me(ze);y(h,t.tld,f),y(h,t.utld,f),E(c,O,f);const p=E(d,V);y(p,t.domain,d),y(f,t.domain,d),E(f,G,h),E(f,V,p);const m=E(f,F);y(m,t.numeric,ze);const k=E(a,V),b=E(a,G);y(k,t.domain,a),y(b,s,o),y(b,t.domain,a);const v=Me(Ie);y(b,t.tld,v),y(b,t.utld,v),y(v,t.domain,a),y(v,s,o),E(v,G,b),E(v,V,k),E(v,B,c);const w=E(v,F),j=Me(Ie);y(w,t.numeric,j);const S=Me(Ie),A=Me();y(S,n,S),y(S,i,A),y(A,n,S),y(A,i,A),E(v,oe,S),E(j,oe,S);const L=E(l,F),x=E(u,F),ue=E(x,oe),de=E(ue,oe);y(l,t.domain,a),E(l,G,b),E(l,V,k),y(u,t.domain,a),E(u,G,b),E(u,V,k),y(L,t.domain,S),E(L,oe,S),y(de,t.domain,S),y(de,n,S),E(de,oe,S);const he=E(S,R),fe=E(S,z),pe=E(S,P),me=E(S,N);E(A,R,he),E(A,z,fe),E(A,P,pe),E(A,N,me),E(he,I,S),E(fe,H,S),E(pe,M,S),E(me,_,S),E(he,I,S);const ye=Me(Ie),ke=Me(Ie),be=Me(Ie),Ee=Me(Ie);y(he,n,ye),y(fe,n,ke),y(pe,n,be),y(me,n,Ee);const ve=Me(),we=Me(),Oe=Me(),je=Me();return y(he,i),y(fe,i),y(pe,i),y(me,i),y(ye,n,ye),y(ke,n,ke),y(be,n,be),y(Ee,n,Ee),y(ye,i,ye),y(ke,i,ke),y(be,i,be),y(Ee,i,Ee),y(ve,n,ve),y(we,n,ke),y(Oe,n,be),y(je,n,Ee),y(ve,i,ve),y(we,i,we),y(Oe,i,Oe),y(je,i,je),E(ke,H,S),E(be,M,S),E(Ee,_,S),E(ye,I,S),E(we,H,S),E(Oe,M,S),E(je,_,S),E(ve,_,S),E(r,O,v),E(r,T,Ne),{start:r,tokens:ge}}(Ue.scanner.tokens);for(let e=0;e<Ue.pluginQueue.length;e++)Ue.pluginQueue[e][1]({scanner:Ue.scanner,parser:Ue.parser});Ue.initialized=!0}function Ke(e){return Ue.initialized||Be(),function(e,t,n){let i=n.length,s=0,r=[],o=[];for(;s<i;){let a=e,l=null,u=null,c=0,g=null,d=-1;for(;s<i&&!(l=a.go(n[s].t));)o.push(n[s++]);for(;s<i&&(u=l||a.go(n[s].t));)l=null,a=u,a.accepts()?(d=0,g=a):d>=0&&d++,s++,c++;if(d<0)s-=c,s<i&&(o.push(n[s]),s++);else{o.length>0&&(r.push(_e(Pe,t,o)),o=[]),s-=d,c-=d;const e=g.t,i=n.slice(s-c,s);r.push(_e(e,t,i))}}return o.length>0&&r.push(_e(Pe,t,o)),r}(Ue.parser.start,e,function(e,t){const n=Oe(t.replace(/[A-Z]/g,(e=>e.toLowerCase()))),i=n.length,s=[];let r=0,o=0;for(;o<i;){let a=e,l=null,u=0,c=null,g=-1,d=-1;for(;o<i&&(l=a.go(n[o]));)a=l,a.accepts()?(g=0,d=0,c=a):g>=0&&(g+=n[o].length,d++),u+=n[o].length,r+=n[o].length,o++;r-=g,o-=d,u-=g,s.push({t:c.t,v:t.slice(r-u,r),s:r-u,e:r})}return s}(Ue.scanner.start,e))}return e.MultiToken=Te,e.Options=Le,e.State=m,e.createTokenClass=Re,e.find=function(e,t,n){if(void 0===t&&(t=null),void 0===n&&(n=null),t&&"object"==typeof t){if(n)throw Error(`linkifyjs: Invalid link type ${t}; must be a string`);n=t,t=null}const i=new Le(n),s=Ke(e),r=[];for(let e=0;e<s.length;e++){const n=s[e];!n.isLink||t&&n.t!==t||!i.check(n)||r.push(n.toFormattedObject(i))}return r},e.init=Be,e.multi=He,e.options=xe,e.regexp=ye,e.registerCustomProtocol=function(e,t){if(void 0===t&&(t=!1),Ue.initialized&&Qe(`linkifyjs: already initialized - will not register custom scheme "${e}" ${De}`),!/^[0-9a-z]+(-[0-9a-z]+)*$/.test(e))throw new Error('linkifyjs: incorrect scheme format.\n1. Must only contain digits, lowercase ASCII letters or "-"\n2. Cannot start or end with "-"\n3. "-" cannot repeat');Ue.customSchemes.push([e,t])},e.registerPlugin=function(e,t){if("function"!=typeof t)throw new Error(`linkifyjs: Invalid plugin ${t} (expects function)`);for(let n=0;n<Ue.pluginQueue.length;n++)if(e===Ue.pluginQueue[n][0])return Qe(`linkifyjs: plugin "${e}" already registered - will be overwritten`),void(Ue.pluginQueue[n]=[e,t]);Ue.pluginQueue.push([e,t]),Ue.initialized&&Qe(`linkifyjs: already initialized - will not register plugin "${e}" ${De}`)},e.registerTokenPlugin=function(e,t){if("function"!=typeof t)throw new Error(`linkifyjs: Invalid token plugin ${t} (expects function)`);for(let n=0;n<Ue.tokenQueue.length;n++)if(e===Ue.tokenQueue[n][0])return Qe(`linkifyjs: token plugin "${e}" already registered - will be overwritten`),void(Ue.tokenQueue[n]=[e,t]);Ue.tokenQueue.push([e,t]),Ue.initialized&&Qe(`linkifyjs: already initialized - will not register token plugin "${e}" ${De}`)},e.reset=function(){m.groups={},Ue.scanner=null,Ue.parser=null,Ue.tokenQueue=[],Ue.pluginQueue=[],Ue.customSchemes=[],Ue.initialized=!1},e.stringToArray=Oe,e.test=function(e,t){void 0===t&&(t=null);const n=Ke(e);return 1===n.length&&n[0].isLink&&(!t||n[0].t===t)},e.tokenize=Ke,Object.defineProperty(e,"__esModule",{value:!0}),e}({}); | ||
var linkify=function(t){"use strict";const e="aaa1rp3bb0ott3vie4c1le2ogado5udhabi7c0ademy5centure6ountant0s9o1tor4d0s1ult4e0g1ro2tna4f0l1rica5g0akhan5ency5i0g1rbus3force5tel5kdn3l0ibaba4pay4lfinanz6state5y2sace3tom5m0azon4ericanexpress7family11x2fam3ica3sterdam8nalytics7droid5quan4z2o0l2partments8p0le4q0uarelle8r0ab1mco4chi3my2pa2t0e3s0da2ia2sociates9t0hleta5torney7u0ction5di0ble3o3spost5thor3o0s4vianca6w0s2x0a2z0ure5ba0by2idu3namex3narepublic11d1k2r0celona5laycard4s5efoot5gains6seball5ketball8uhaus5yern5b0c1t1va3cg1n2d1e0ats2uty4er2ntley5rlin4st0buy5t2f1g1h0arti5i0ble3d1ke2ng0o3o1z2j1lack0friday9ockbuster8g1omberg7ue3m0s1w2n0pparibas9o0ats3ehringer8fa2m1nd2o0k0ing5sch2tik2on4t1utique6x2r0adesco6idgestone9oadway5ker3ther5ussels7s1t1uild0ers6siness6y1zz3v1w1y1z0h3ca0b1fe2l0l1vinklein9m0era3p2non3petown5ital0one8r0avan4ds2e0er0s4s2sa1e1h1ino4t0ering5holic7ba1n1re3c1d1enter4o1rn3f0a1d2g1h0anel2nel4rity4se2t2eap3intai5ristmas6ome4urch5i0priani6rcle4sco3tadel4i0c2y3k1l0aims4eaning6ick2nic1que6othing5ud3ub0med6m1n1o0ach3des3ffee4llege4ogne5m0cast4mbank4unity6pany2re3uter5sec4ndos3struction8ulting7tact3ractors9oking4l1p2rsica5untry4pon0s4rses6pa2r0edit0card4union9icket5own3s1uise0s6u0isinella9v1w1x1y0mru3ou3z2dabur3d1nce3ta1e1ing3sun4y2clk3ds2e0al0er2s3gree4livery5l1oitte5ta3mocrat6ntal2ist5si0gn4v2hl2iamonds6et2gital5rect0ory7scount3ver5h2y2j1k1m1np2o0cs1tor4g1mains5t1wnload7rive4tv2ubai3nlop4pont4rban5vag2r2z2earth3t2c0o2deka3u0cation8e1g1mail3erck5nergy4gineer0ing9terprises10pson4quipment8r0icsson6ni3s0q1tate5t1u0rovision8s2vents5xchange6pert3osed4ress5traspace10fage2il1rwinds6th3mily4n0s2rm0ers5shion4t3edex3edback6rrari3ero6i0delity5o2lm2nal1nce1ial7re0stone6mdale6sh0ing5t0ness6j1k1lickr3ghts4r2orist4wers5y2m1o0o0d1tball6rd1ex2sale4um3undation8x2r0ee1senius7l1ogans4ntier7tr2ujitsu5n0d2rniture7tbol5yi3ga0l0lery3o1up4me0s3p1rden4y2b0iz3d0n2e0a1nt0ing5orge5f1g0ee3h1i0ft0s3ves2ing5l0ass3e1obal2o4m0ail3bh2o1x2n1odaddy5ld0point6f2o0dyear5g0le4p1t1v2p1q1r0ainger5phics5tis4een3ipe3ocery4up4s1t1u0ardian6cci3ge2ide2tars5ru3w1y2hair2mburg5ngout5us3bo2dfc0bank7ealth0care8lp1sinki6re1mes5iphop4samitsu7tachi5v2k0t2m1n1ockey4ldings5iday5medepot5goods5s0ense7nda3rse3spital5t0ing5t0els3mail5use3w2r1sbc3t1u0ghes5yatt3undai7ibm2cbc2e1u2d1e0ee3fm2kano4l1m0amat4db2mo0bilien9n0c1dustries8finiti5o2g1k1stitute6urance4e4t0ernational10uit4vestments10o1piranga7q1r0ish4s0maili5t0anbul7t0au2v3jaguar4va3cb2e0ep2tzt3welry6io2ll2m0p2nj2o0bs1urg4t1y2p0morgan6rs3uegos4niper7kaufen5ddi3e0rryhotels6logistics9properties14fh2g1h1i0a1ds2m1ndle4tchen5wi3m1n1oeln3matsu5sher5p0mg2n2r0d1ed3uokgroup8w1y0oto4z2la0caixa5mborghini8er3ncaster6d0rover6xess5salle5t0ino3robe5w0yer5b1c1ds2ease3clerc5frak4gal2o2xus4gbt3i0dl2fe0insurance9style7ghting6ke2lly3mited4o2ncoln4k2psy3ve1ing5k1lc1p2oan0s3cker3us3l1ndon4tte1o3ve3pl0financial11r1s1t0d0a3u0ndbeck6xe1ury5v1y2ma0drid4if1son4keup4n0agement7go3p1rket0ing3s4riott5shalls7ttel5ba2c0kinsey7d1e0d0ia3et2lbourne7me1orial6n0u2rckmsd7g1h1iami3crosoft7l1ni1t2t0subishi9k1l0b1s2m0a2n1o0bi0le4da2e1i1m1nash3ey2ster5rmon3tgage6scow4to0rcycles9v0ie4p1q1r1s0d2t0n1r2u0seum3ic4v1w1x1y1z2na0b1goya4me2tura4vy3ba2c1e0c1t0bank4flix4work5ustar5w0s2xt0direct7us4f0l2g0o2hk2i0co2ke1on3nja3ssan1y5l1o0kia3rton4w0ruz3tv4p1r0a1w2tt2u1yc2z2obi1server7ffice5kinawa6layan0group9dnavy5lo3m0ega4ne1g1l0ine5oo2pen3racle3nge4g0anic5igins6saka4tsuka4t2vh3pa0ge2nasonic7ris2s1tners4s1y3y2ccw3e0t2f0izer5g1h0armacy6d1ilips5one2to0graphy6s4ysio5ics1tet2ures6d1n0g1k2oneer5zza4k1l0ace2y0station9umbing5s3m1n0c2ohl2ker3litie5rn2st3r0america6xi3ess3ime3o0d0uctions8f1gressive8mo2perties3y5tection8u0dential9s1t1ub2w0c2y2qa1pon3uebec3st5racing4dio4e0ad1lestate6tor2y4cipes5d0stone5umbrella9hab3ise0n3t2liance6n0t0als5pair3ort3ublican8st0aurant8view0s5xroth6ich0ardli6oh3l1o1p2o0cks3deo3gers4om3s0vp3u0gby3hr2n2w0e2yukyu6sa0arland6fe0ty4kura4le1on3msclub4ung5ndvik0coromant12ofi4p1rl2s1ve2xo3b0i1s2c0a1b1haeffler7midt4olarships8ol3ule3warz5ience5ot3d1e0arch3t2cure1ity6ek2lect4ner3rvices6ven3w1x0y3fr2g1h0angrila6rp2w2ell3ia1ksha5oes2p0ping5uji3w3i0lk2na1gles5te3j1k0i0n2y0pe4l0ing4m0art3ile4n0cf3o0ccer3ial4ftbank4ware6hu2lar2utions7ng1y2y2pa0ce3ort2t3r0l2s1t0ada2ples4r1tebank4farm7c0group6ockholm6rage3e3ream4udio2y3yle4u0cks3pplies3y2ort5rf1gery5zuki5v1watch4iss4x1y0dney4stems6z2tab1ipei4lk2obao4rget4tamotors6r2too4x0i3c0i2d0k2eam2ch0nology8l1masek5nnis4va3f1g1h0d1eater2re6iaa2ckets5enda4ps2res2ol4j0maxx4x2k0maxx5l1m0all4n1o0day3kyo3ols3p1ray3shiba5tal3urs3wn2yota3s3r0ade1ing4ining5vel0ers0insurance16ust3v2t1ube2i1nes3shu4v0s2w1z2ua1bank3s2g1k1nicom3versity8o2ol2ps2s1y1z2va0cations7na1guard7c1e0gas3ntures6risign5mögensberater2ung14sicherung10t2g1i0ajes4deo3g1king4llas4n1p1rgin4sa1ion4va1o3laanderen9n1odka3lvo3te1ing3o2yage5u2wales2mart4ter4ng0gou5tch0es6eather0channel12bcam3er2site5d0ding5ibo2r3f1hoswho6ien2ki2lliamhill9n0dows4e1ners6me2olterskluwer11odside6rk0s2ld3w2s1tc1f3xbox3erox4finity6ihuan4n2xx2yz3yachts4hoo3maxun5ndex5e1odobashi7ga2kohama6u0tube6t1un3za0ppos4ra3ero3ip2m1one3uerich6w2",n="ελ1υ2бг1ел3дети4ею2католик6ом3мкд2он1сква6онлайн5рг3рус2ф2сайт3рб3укр3қаз3հայ3ישראל5קום3ابوظبي5رامكو5لاردن4بحرين5جزائر5سعودية6عليان5مغرب5مارات5یران5بارت2زار4يتك3ھارت5تونس4سودان3رية5شبكة4عراق2ب2مان4فلسطين6قطر3كاثوليك6وم3مصر2ليسيا5وريتانيا7قع4همراه5پاکستان7ڀارت4कॉम3नेट3भारत0म्3ोत5संगठन5বাংলা5ভারত2ৰত4ਭਾਰਤ4ભારત4ଭାରତ4இந்தியா6லங்கை6சிங்கப்பூர்11భారత్5ಭಾರತ4ഭാരതം5ලංකා4คอม3ไทย3ລາວ3გე2みんな3アマゾン4クラウド4グーグル4コム2ストア3セール3ファッション6ポイント4世界2中信1国1國1文网3亚马逊3企业2佛山2信息2健康2八卦2公司1益2台湾1灣2商城1店1标2嘉里0大酒店5在线2大拿2天主教3娱乐2家電2广东2微博2慈善2我爱你3手机2招聘2政务1府2新加坡2闻2时尚2書籍2机构2淡马锡3游戏2澳門2点看2移动2组织机构4网址1店1站1络2联通2谷歌2购物2通販2集团2電訊盈科4飞利浦3食品2餐厅2香格里拉3港2닷넷1컴2삼성2한국2",i=(t,e)=>{for(const n in e)t[n]=e[n];return t},r="numeric",s="ascii",o="alpha",a="asciinumeric",l="alphanumeric",u="domain",c="emoji",g="scheme",d="slashscheme",h="whitespace";function f(t,e){return t in e||(e[t]=[]),e[t]}function p(t,e,n){e[r]&&(e[a]=!0,e[l]=!0),e[s]&&(e[a]=!0,e[o]=!0),e[a]&&(e[l]=!0),e[o]&&(e[l]=!0),e[l]&&(e[u]=!0),e[c]&&(e[u]=!0);for(const i in e){const e=f(i,n);e.indexOf(t)<0&&e.push(t)}}function m(t){void 0===t&&(t=null),this.j={},this.jr=[],this.jd=null,this.t=t}m.groups={},m.prototype={accepts(){return!!this.t},go(t){const e=this,n=e.j[t];if(n)return n;for(let n=0;n<e.jr.length;n++){const i=e.jr[n][0],r=e.jr[n][1];if(r&&i.test(t))return r}return e.jd},has(t,e){return void 0===e&&(e=!1),e?t in this.j:!!this.go(t)},ta(t,e,n,i){for(let r=0;r<t.length;r++)this.tt(t[r],e,n,i)},tr(t,e,n,i){let r;return i=i||m.groups,e&&e.j?r=e:(r=new m(e),n&&i&&p(e,n,i)),this.jr.push([t,r]),r},ts(t,e,n,i){let r=this;const s=t.length;if(!s)return r;for(let e=0;e<s-1;e++)r=r.tt(t[e]);return r.tt(t[s-1],e,n,i)},tt(t,e,n,r){r=r||m.groups;const s=this;if(e&&e.j)return s.j[t]=e,e;const o=e;let a,l=s.go(t);if(l?(a=new m,i(a.j,l.j),a.jr.push.apply(a.jr,l.jr),a.jd=l.jd,a.t=l.t):a=new m,o){if(r)if(a.t&&"string"==typeof a.t){const t=i(function(t,e){const n={};for(const i in e)e[i].indexOf(t)>=0&&(n[i]=!0);return n}(a.t,r),n);p(o,t,r)}else n&&p(o,n,r);a.t=o}return s.j[t]=a,a}};const y=(t,e,n,i,r)=>t.ta(e,n,i,r),k=(t,e,n,i,r)=>t.tr(e,n,i,r),E=(t,e,n,i,r)=>t.ts(e,n,i,r),b=(t,e,n,i,r)=>t.tt(e,n,i,r),T="WORD",v="UWORD",R="LOCALHOST",A="TLD",L="UTLD",O="SCHEME",C="SLASH_SCHEME",w="NUM",S="WS",j="NL",N="OPENBRACE",x="CLOSEBRACE",I="OPENBRACKET",H="CLOSEBRACKET",P="OPENPAREN",z="CLOSEPAREN",D="OPENANGLEBRACKET",U="CLOSEANGLEBRACKET",M="FULLWIDTHLEFTPAREN",B="FULLWIDTHRIGHTPAREN",K="LEFTCORNERBRACKET",_="RIGHTCORNERBRACKET",Q="LEFTWHITECORNERBRACKET",F="RIGHTWHITECORNERBRACKET",W="FULLWIDTHLESSTHAN",$="FULLWIDTHGREATERTHAN",G="AMPERSAND",q="APOSTROPHE",Y="ASTERISK",J="AT",X="BACKSLASH",V="BACKTICK",Z="CARET",tt="COLON",et="COMMA",nt="DOLLAR",it="DOT",rt="EQUALS",st="EXCLAMATION",ot="HYPHEN",at="PERCENT",lt="PIPE",ut="PLUS",ct="POUND",gt="QUERY",dt="QUOTE",ht="SEMI",ft="SLASH",pt="TILDE",mt="UNDERSCORE",yt="EMOJI",kt="SYM";var Et=Object.freeze({__proto__:null,WORD:T,UWORD:v,LOCALHOST:R,TLD:A,UTLD:L,SCHEME:O,SLASH_SCHEME:C,NUM:w,WS:S,NL:j,OPENBRACE:N,CLOSEBRACE:x,OPENBRACKET:I,CLOSEBRACKET:H,OPENPAREN:P,CLOSEPAREN:z,OPENANGLEBRACKET:D,CLOSEANGLEBRACKET:U,FULLWIDTHLEFTPAREN:M,FULLWIDTHRIGHTPAREN:B,LEFTCORNERBRACKET:K,RIGHTCORNERBRACKET:_,LEFTWHITECORNERBRACKET:Q,RIGHTWHITECORNERBRACKET:F,FULLWIDTHLESSTHAN:W,FULLWIDTHGREATERTHAN:$,AMPERSAND:G,APOSTROPHE:q,ASTERISK:Y,AT:J,BACKSLASH:X,BACKTICK:V,CARET:Z,COLON:tt,COMMA:et,DOLLAR:nt,DOT:it,EQUALS:rt,EXCLAMATION:st,HYPHEN:ot,PERCENT:at,PIPE:lt,PLUS:ut,POUND:ct,QUERY:gt,QUOTE:dt,SEMI:ht,SLASH:ft,TILDE:pt,UNDERSCORE:mt,EMOJI:yt,SYM:kt});const bt=/[a-z]/,Tt=/\p{L}/u,vt=/\p{Emoji}/u,Rt=/\d/,At=/\s/;var Lt=Object.freeze({__proto__:null,ASCII_LETTER:bt,LETTER:Tt,EMOJI:vt,EMOJI_VARIATION:/\ufe0f/,DIGIT:Rt,SPACE:At});const Ot="\n",Ct="️",wt="";let St=null,jt=null;function Nt(t){const e=[],n=t.length;let i=0;for(;i<n;){let r,s=t.charCodeAt(i),o=s<55296||s>56319||i+1===n||(r=t.charCodeAt(i+1))<56320||r>57343?t[i]:t.slice(i,i+2);e.push(o),i+=o.length}return e}function xt(t,e,n,i,r){let s;const o=e.length;for(let n=0;n<o-1;n++){const o=e[n];t.j[o]?s=t.j[o]:(s=new m(i),s.jr=r.slice(),t.j[o]=s),t=s}return s=new m(n),s.jr=r.slice(),t.j[e[o-1]]=s,s}function It(t){const e=[],n=[];let i=0;for(;i<t.length;){let r=0;for(;"0123456789".indexOf(t[i+r])>=0;)r++;if(r>0){e.push(n.join(""));for(let e=parseInt(t.substring(i,i+r),10);e>0;e--)n.pop();i+=r}else n.push(t[i]),i++}return e}const Ht={defaultProtocol:"http",events:null,format:zt,formatHref:zt,nl2br:!1,tagName:"a",target:null,rel:null,validate:!0,truncate:1/0,className:null,attributes:null,ignoreTags:[],render:null};function Pt(t,e){void 0===e&&(e=null);let n=i({},Ht);t&&(n=i(n,t instanceof Pt?t.o:t));const r=n.ignoreTags,s=[];for(let t=0;t<r.length;t++)s.push(r[t].toUpperCase());this.o=n,e&&(this.defaultRender=e),this.ignoreTags=s}function zt(t){return t}Pt.prototype={o:Ht,ignoreTags:[],defaultRender:t=>t,check(t){return this.get("validate",t.toString(),t)},get(t,e,n){const i=null!=e;let r=this.o[t];return r?("object"==typeof r?(r=n.t in r?r[n.t]:Ht[t],"function"==typeof r&&i&&(r=r(e,n))):"function"==typeof r&&i&&(r=r(e,n.t,n)),r):r},getObj(t,e,n){let i=this.o[t];return"function"==typeof i&&null!=e&&(i=i(e,n.t,n)),i},render(t){const e=t.render(this);return(this.get("render",null,t)||this.defaultRender)(e,t.t,t)}};var Dt=Object.freeze({__proto__:null,defaults:Ht,Options:Pt,assign:i});function Ut(t,e){this.t="token",this.v=t,this.tk=e}function Mt(t,e){class n extends Ut{constructor(e,n){super(e,n),this.t=t}}for(const t in e)n.prototype[t]=e[t];return n.t=t,n}Ut.prototype={isLink:!1,toString(){return this.v},toHref(t){return this.toString()},toFormattedString(t){const e=this.toString(),n=t.get("truncate",e,this),i=t.get("format",e,this);return n&&i.length>n?i.substring(0,n)+"…":i},toFormattedHref(t){return t.get("formatHref",this.toHref(t.get("defaultProtocol")),this)},startIndex(){return this.tk[0].s},endIndex(){return this.tk[this.tk.length-1].e},toObject(t){return void 0===t&&(t=Ht.defaultProtocol),{type:this.t,value:this.toString(),isLink:this.isLink,href:this.toHref(t),start:this.startIndex(),end:this.endIndex()}},toFormattedObject(t){return{type:this.t,value:this.toFormattedString(t),isLink:this.isLink,href:this.toFormattedHref(t),start:this.startIndex(),end:this.endIndex()}},validate(t){return t.get("validate",this.toString(),this)},render(t){const e=this,n=this.toHref(t.get("defaultProtocol")),r=t.get("formatHref",n,this),s=t.get("tagName",n,e),o=this.toFormattedString(t),a={},l=t.get("className",n,e),u=t.get("target",n,e),c=t.get("rel",n,e),g=t.getObj("attributes",n,e),d=t.getObj("events",n,e);return a.href=r,l&&(a.class=l),u&&(a.target=u),c&&(a.rel=c),g&&i(a,g),{tagName:s,attributes:a,content:o,eventListeners:d}}};const Bt=Mt("email",{isLink:!0,toHref(){return"mailto:"+this.toString()}}),Kt=Mt("text"),_t=Mt("nl"),Qt=Mt("url",{isLink:!0,toHref(t){return void 0===t&&(t=Ht.defaultProtocol),this.hasProtocol()?this.v:`${t}://${this.v}`},hasProtocol(){const t=this.tk;return t.length>=2&&t[0].t!==R&&t[1].t===tt}});var Ft=Object.freeze({__proto__:null,MultiToken:Ut,Base:Ut,createTokenClass:Mt,Email:Bt,Text:Kt,Nl:_t,Url:Qt});const Wt=t=>new m(t);function $t(t,e,n){const i=n[0].s,r=n[n.length-1].e;return new t(e.slice(i,r),n)}const Gt="undefined"!=typeof console&&console&&console.warn||(()=>{}),qt="until manual call of linkify.init(). Register all schemes and plugins before invoking linkify the first time.",Yt={scanner:null,parser:null,tokenQueue:[],pluginQueue:[],customSchemes:[],initialized:!1};function Jt(){Yt.scanner=function(t){void 0===t&&(t=[]);const l={};m.groups=l;const f=new m;null==St&&(St=It(e)),null==jt&&(jt=It(n)),b(f,"'",q),b(f,"{",N),b(f,"}",x),b(f,"[",I),b(f,"]",H),b(f,"(",P),b(f,")",z),b(f,"<",D),b(f,">",U),b(f,"(",M),b(f,")",B),b(f,"「",K),b(f,"」",_),b(f,"『",Q),b(f,"』",F),b(f,"<",W),b(f,">",$),b(f,"&",G),b(f,"*",Y),b(f,"@",J),b(f,"`",V),b(f,"^",Z),b(f,":",tt),b(f,",",et),b(f,"$",nt),b(f,".",it),b(f,"=",rt),b(f,"!",st),b(f,"-",ot),b(f,"%",at),b(f,"|",lt),b(f,"+",ut),b(f,"#",ct),b(f,"?",gt),b(f,'"',dt),b(f,"/",ft),b(f,";",ht),b(f,"~",pt),b(f,"_",mt),b(f,"\\",X);const y=k(f,Rt,w,{[r]:!0});k(y,Rt,y);const Lt=k(f,bt,T,{[s]:!0});k(Lt,bt,Lt);const Nt=k(f,Tt,v,{[o]:!0});k(Nt,bt),k(Nt,Tt,Nt);const Ht=k(f,At,S,{[h]:!0});b(f,Ot,j,{[h]:!0}),b(Ht,Ot),k(Ht,At,Ht);const Pt=k(f,vt,yt,{[c]:!0});k(Pt,vt,Pt),b(Pt,Ct,Pt);const zt=b(Pt,wt);k(zt,vt,Pt);const Dt=[[bt,Lt]],Ut=[[bt,null],[Tt,Nt]];for(let t=0;t<St.length;t++)xt(f,St[t],A,T,Dt);for(let t=0;t<jt.length;t++)xt(f,jt[t],L,v,Ut);p(A,{tld:!0,ascii:!0},l),p(L,{utld:!0,alpha:!0},l),xt(f,"file",O,T,Dt),xt(f,"mailto",O,T,Dt),xt(f,"http",C,T,Dt),xt(f,"https",C,T,Dt),xt(f,"ftp",C,T,Dt),xt(f,"ftps",C,T,Dt),p(O,{scheme:!0,ascii:!0},l),p(C,{slashscheme:!0,ascii:!0},l),t=t.sort(((t,e)=>t[0]>e[0]?1:-1));for(let e=0;e<t.length;e++){const n=t[e][0],i=t[e][1]?{[g]:!0}:{[d]:!0};n.indexOf("-")>=0?i[u]=!0:bt.test(n)?Rt.test(n)?i[a]=!0:i[s]=!0:i[r]=!0,E(f,n,n,i)}return E(f,"localhost",R,{ascii:!0}),f.jd=new m(kt),{start:f,tokens:i({groups:l},Et)}}(Yt.customSchemes);for(let t=0;t<Yt.tokenQueue.length;t++)Yt.tokenQueue[t][1]({scanner:Yt.scanner});Yt.parser=function(t){let{groups:e}=t;const n=e.domain.concat([G,Y,J,X,V,Z,nt,rt,ot,w,at,lt,ut,ct,ft,kt,pt,mt]),i=[q,tt,et,it,st,gt,dt,ht,D,U,N,x,H,I,P,z,M,B,K,_,Q,F,W,$],r=[G,q,Y,X,V,Z,nt,rt,ot,N,x,at,lt,ut,ct,gt,ft,kt,pt,mt],s=Wt(),o=b(s,pt);y(o,r,o),y(o,e.domain,o);const a=Wt(),l=Wt(),u=Wt();y(s,e.domain,a),y(s,e.scheme,l),y(s,e.slashscheme,u),y(a,r,o),y(a,e.domain,a);const c=b(a,J);b(o,J,c),b(l,J,c),b(u,J,c);const g=b(o,it);y(g,r,o),y(g,e.domain,o);const d=Wt();y(c,e.domain,d),y(d,e.domain,d);const h=b(d,it);y(h,e.domain,d);const f=Wt(Bt);y(h,e.tld,f),y(h,e.utld,f),b(c,R,f);const p=b(d,ot);y(p,e.domain,d),y(f,e.domain,d),b(f,it,h),b(f,ot,p);const m=b(f,tt);y(m,e.numeric,Bt);const k=b(a,ot),E=b(a,it);y(k,e.domain,a),y(E,r,o),y(E,e.domain,a);const T=Wt(Qt);y(E,e.tld,T),y(E,e.utld,T),y(T,e.domain,a),y(T,r,o),b(T,it,E),b(T,ot,k),b(T,J,c);const v=b(T,tt),A=Wt(Qt);y(v,e.numeric,A);const L=Wt(Qt),O=Wt();y(L,n,L),y(L,i,O),y(O,n,L),y(O,i,O),b(T,ft,L),b(A,ft,L);const C=b(l,tt),S=b(u,tt),yt=b(S,ft),bt=b(yt,ft);y(l,e.domain,a),b(l,it,E),b(l,ot,k),y(u,e.domain,a),b(u,it,E),b(u,ot,k),y(C,e.domain,L),b(C,ft,L),y(bt,e.domain,L),y(bt,n,L),b(bt,ft,L);const Tt=[[N,x],[I,H],[P,z],[D,U],[M,B],[K,_],[Q,F],[W,$]];for(let t=0;t<Tt.length;t++){const[e,r]=Tt[t],s=b(L,e);b(O,e,s),b(s,r,L);const o=Wt(Qt);y(s,n,o);const a=Wt();y(s,i),y(o,n,o),y(o,i,a),y(a,n,o),y(a,i,a),b(o,r,L),b(a,r,L)}return b(s,R,T),b(s,j,_t),{start:s,tokens:Et}}(Yt.scanner.tokens);for(let t=0;t<Yt.pluginQueue.length;t++)Yt.pluginQueue[t][1]({scanner:Yt.scanner,parser:Yt.parser});Yt.initialized=!0}function Xt(t){return Yt.initialized||Jt(),function(t,e,n){let i=n.length,r=0,s=[],o=[];for(;r<i;){let a=t,l=null,u=null,c=0,g=null,d=-1;for(;r<i&&!(l=a.go(n[r].t));)o.push(n[r++]);for(;r<i&&(u=l||a.go(n[r].t));)l=null,a=u,a.accepts()?(d=0,g=a):d>=0&&d++,r++,c++;if(d<0)r-=c,r<i&&(o.push(n[r]),r++);else{o.length>0&&(s.push($t(Kt,e,o)),o=[]),r-=d,c-=d;const t=g.t,i=n.slice(r-c,r);s.push($t(t,e,i))}}return o.length>0&&s.push($t(Kt,e,o)),s}(Yt.parser.start,t,function(t,e){const n=Nt(e.replace(/[A-Z]/g,(t=>t.toLowerCase()))),i=n.length,r=[];let s=0,o=0;for(;o<i;){let a=t,l=null,u=0,c=null,g=-1,d=-1;for(;o<i&&(l=a.go(n[o]));)a=l,a.accepts()?(g=0,d=0,c=a):g>=0&&(g+=n[o].length,d++),u+=n[o].length,s+=n[o].length,o++;s-=g,o-=d,u-=g,r.push({t:c.t,v:e.slice(s-u,s),s:s-u,e:s})}return r}(Yt.scanner.start,t))}return t.MultiToken=Ut,t.Options=Pt,t.State=m,t.createTokenClass=Mt,t.find=function(t,e,n){if(void 0===e&&(e=null),void 0===n&&(n=null),e&&"object"==typeof e){if(n)throw Error(`linkifyjs: Invalid link type ${e}; must be a string`);n=e,e=null}const i=new Pt(n),r=Xt(t),s=[];for(let t=0;t<r.length;t++){const n=r[t];!n.isLink||e&&n.t!==e||!i.check(n)||s.push(n.toFormattedObject(i))}return s},t.init=Jt,t.multi=Ft,t.options=Dt,t.regexp=Lt,t.registerCustomProtocol=function(t,e){if(void 0===e&&(e=!1),Yt.initialized&&Gt(`linkifyjs: already initialized - will not register custom scheme "${t}" ${qt}`),!/^[0-9a-z]+(-[0-9a-z]+)*$/.test(t))throw new Error('linkifyjs: incorrect scheme format.\n1. Must only contain digits, lowercase ASCII letters or "-"\n2. Cannot start or end with "-"\n3. "-" cannot repeat');Yt.customSchemes.push([t,e])},t.registerPlugin=function(t,e){if("function"!=typeof e)throw new Error(`linkifyjs: Invalid plugin ${e} (expects function)`);for(let n=0;n<Yt.pluginQueue.length;n++)if(t===Yt.pluginQueue[n][0])return Gt(`linkifyjs: plugin "${t}" already registered - will be overwritten`),void(Yt.pluginQueue[n]=[t,e]);Yt.pluginQueue.push([t,e]),Yt.initialized&&Gt(`linkifyjs: already initialized - will not register plugin "${t}" ${qt}`)},t.registerTokenPlugin=function(t,e){if("function"!=typeof e)throw new Error(`linkifyjs: Invalid token plugin ${e} (expects function)`);for(let n=0;n<Yt.tokenQueue.length;n++)if(t===Yt.tokenQueue[n][0])return Gt(`linkifyjs: token plugin "${t}" already registered - will be overwritten`),void(Yt.tokenQueue[n]=[t,e]);Yt.tokenQueue.push([t,e]),Yt.initialized&&Gt(`linkifyjs: already initialized - will not register token plugin "${t}" ${qt}`)},t.reset=function(){m.groups={},Yt.scanner=null,Yt.parser=null,Yt.tokenQueue=[],Yt.pluginQueue=[],Yt.customSchemes=[],Yt.initialized=!1},t.stringToArray=Nt,t.test=function(t,e){void 0===e&&(e=null);const n=Xt(t);return 1===n.length&&n[0].isLink&&(!e||n[0].t===e)},t.tokenize=Xt,Object.defineProperty(t,"__esModule",{value:!0}),t}({}); |
{ | ||
"name": "linkifyjs", | ||
"version": "4.1.2", | ||
"version": "4.1.3", | ||
"description": "Find URLs, email addresses, #hashtags and @mentions in plain-text strings, then convert them into HTML <a> links.", | ||
@@ -5,0 +5,0 @@ "main": "dist/linkify.cjs.js", |
Sorry, the diff of this file is too big to display
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
6540
255485